728x90
반응형
본 글에서는 Keycloak과 Terraform Cloud SAML을 연동하여 단일 인증(Single Sign-On)을 구현하는 실습을 다룬다.
전제 조건
- [Keycloak 설치 실습]
- Terraform Cloud 계정
실습 절차
1. keycloak Realm 생성2. Terraform Cloud SSO Setup
3. Keycloak Clients 생성 & 설정
4. Keycloak User 생성
5. Terraform Cloud + Keycloak SSO 연동 설정
6. Keycloak 유저로 Terraform Cloud 로그인
1. Keycloak Realm 생성
Terraform Cloud 연동할 Keycloak Realm을 생성한다.
- Keycloak 접속
- [Create Realm] 선택 → {Realm name} 입력 → [Create] 선택
2. Terraform Cloud SSO Setup
- app.terraform.io 접속
- [Settings] 선택 → [SSO] 선택
- [Setup SSO] 선택
- [SAML] 선택 → [Next] 선택
- Keycloak 접속
- [Realm settings] 선택 → [SAML 2.0 identity Provider Metadata] 링크 복사
- 위 Keycloak에서 복사한 링크 Terraform Cloud의 "Metadata URL"에 입력 후 생성
- 아래 Terraform Cloud에 생성된 정보 기록한다.
- Keycloak Clients 생성 시 기입해야 한다.
- Entity ID
- Assertion Consumer URL
- Keycloak Clients 생성 시 기입해야 한다.
3. Keycloak Clients 생성 & 설정
Keycloak Client를 생성하기 위해 아래 절차대로 진행한다.
- Keycloak 접속
- [Clients] 선택 → [Create client] 선택
- [Client type] : SAML
- [Client ID] : 위 Terraform Cloud SAML에서 기록했던 “Entity ID”값 입력 후 [Next] 선택
- [Valid redirect URIs] : 위 Terraform Cloud SAML에서 기록했던 “Assertion Consumer URL” 입력 후 [Save] 선택
- SAML capabilities
- Name ID format : email
- Force name ID format : On
- Signature and Encryption
- Sign assertions : On
- [Clients] 선택 → [Keys] 선택
- Signing keys config : Off
4. Keycloak User 생성
- Keycloak 접속
- [Users] 선택 → [Add user] 선택
- "Username" / "Email" 입력 후 [Create] 선택
- 아래 Email은 Terraform Cloud에 이미 존재하는 유저의 Email이다.
생성된 유저 확인한다.
초기 User 비밀번호 설정한다.
- Keycloak 접속한다.
- [Users] 선택 → {username} 선택 → [Credentials] 선택 → [Set password] 선택 → {password} 입력→ [Save] 선택 → [Save password] 선택
5. Terraform Cloud + Keycloak SSO 연동 설정
- Keycloak 접속.
- [Realm settings] 선택 → [Keys] 선택 → [Certificate] 선택.
Terraform Cloud SSO 화면 접근 → [Edit settings] 선택.
- 위 Keycloak Certificate 복사한 내용 붙여넣은 후 저장한다.
- [Test] 클릭한다.
- Kyecloak 화면이 뜨면 유저의 Email/Password 입력 후 새로운 Password 입력 후 [Submit] 클릭한다.
- 위 과정을 마치면 Terraform Cloud의 SSO 에서 아래와 같이 Test Successful 화면을 볼 수 있다.
Configuration 상태 활성화를 위해 아래와 같이 진행한다.
- [Enable] 선택 → [Enable SAML] 선택
- 아래와 같이 Configuration 상태가 Enabled 된 것을 확인할 수 있다.
6. Keycloak 유저로 Terraform Cloud 로그인
- Terraform Cloud 로그인 페이지로 이동
- “Sign in with SSO” 선택 → {Terraform Cloud 조직이름} 입력 후 [Next] 선택
- 앞서 생성한 Keycloak 유저 Email/Password 입력 후 [Sign In] 선택
Terraform User의 TEAMS에서 'sso"팀 확인
- {Organization} 화면으로 이동 → [Settings] 선택 → [Users] 선택
반응형
'Security > Keycloak' 카테고리의 다른 글
Keycloak을 활용한 Kubernetes 사용자 인증 및 권한 관리 (4) | 2023.12.19 |
---|---|
Keycloak + saml2aws로 AWS 임시 자격 증명 얻기 (0) | 2023.05.09 |
Keycloak + AWS saml SSO 로그인 연동 (2) | 2023.05.09 |
Keycloak + Vault 연동 SSO(Single Sign-On) 구현하기 (2) | 2023.04.12 |
Keycloak 이란? 개념과 설치 실습 (0) | 2023.04.08 |
댓글