본문 바로가기
Security/Keycloak

Keycloak + Terraform Cloud SAML SSO 로그인 연동

by wlsdn3004 2024. 2. 19.
728x90
반응형

 

본 글에서는 Keycloak과 Terraform Cloud SAML을 연동하여 단일 인증(Single Sign-On)을 구현하는 실습을 다룬다.

 

전제 조건

 

 

1. Keycloak Realm 생성


Terraform Cloud 연동할 Keycloak Realm을 생성한다.

  • Keycloak 접속
  • [Create Realm] 선택 → {Realm name} 입력 → [Create] 선택

 

 

2. Terraform Cloud SSO Setup


 

  • [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

 

 

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] 선택

 

반응형

댓글