이 페이지는 Spinnaker에 사용자 인증/인가 기능을 설정하는 방법에 대해 설명합니다.

자세한 내용은 Spinnaker 공식 가이드 문서의 Security을 참고하세요.

인증(Authentication)

OAuth

OAuth는 인터넷 사용자들이 비밀번호를 제공하지 않고 웹사이트 상의 자신들의 정보에 대해 접근 권한을 부여할 수 있는 수단으로서 사용되는 표준입니다.

OAuth 제공자

편의을 위해 아래와 같은 OAuth 제공자들을 built-in으로 제공합니다. Cliet ID와 Secret 설정을 통해 간편하게 구성할 수 있습니다.

Provider Halyard value Provider-Specific Docs
Google Apps for Work / G Suite google Google Apps for Work / G Suite
GitHub github GitHub Teams
Azure azure Azure

이 페이지에서는 GitHub를 기준으로 설명하겠습니다.

사전 준비

GitHub에서 OAuth App을 생성합니다.

Github > Settings > Developer settings > OAuth Apps > New OAuth App 선택

아래와 같이 정보를 입력합니다.

OAuth Provider 및 Client 정보 설정

아래와 같이 Client ID, Secret과 OAuth Provider를 설정합니다.

CLIENT_ID, CLIENT_SECRET은 위에서 생성한 OAuth App 정보에서 얻을 수 있습니다.

CLIENT_ID=myClientId
CLIENT_SECRET=myClientSecret
PROVIDER=github

hal config security authn oauth2 edit \
  --client-id $CLIENT_ID \
  --client-secret $CLIENT_SECRET \
  --provider $PROVIDER

hal config security authn oauth2 enable

적용

Spinnaker를 다시 배포합니다.

$ hal deploy apply

접속

웹 브라우저에서 Spinnaker ui 주소로 접속합니다.

예) http://spinnaker.example.com

아래와 같이 Github 로그인 페이지로 redirect 됩니다.

이제 GitHub 계정으로 로그인하면 Spinnaker ui 주소록 접속되는 것을 확인 할 수 있습니다.