TheKoguryo's 기술 블로그

 Version 2024.06.21

다른 Cloud Account의 Identity Domain를 인증서버 IdP로 추가하기

아래 내용은 2개의 OCI Cloud Account간에 하나가 다른 Cloud Account의 Identity Domain을 인증서버로 등록해서 사용하는 방법입니다. 기본 생성된 Identity Domain은 동일한 구조로 연동이 간편합니다. 여기서는 Default Domain을 기준으로 합니다.

Service Provider 역할 Cloud Account에서 설정 - 실제 유저가 사용할 환경

Identity Provider에게 제공할 정보를 먼저 확인합니다.

  1. OCI 콘솔에 로그인합니다

  2. 좌측 상단 내비게이션 메뉴에서 Identity & Security > Identity > Domains를 클릭합니다.

  3. 사용할 Default Domain을 클릭합니다.

  4. Security > Identity providers를 클릭합니다.

  5. 우측 Export SAML metadata를 클릭합니다.

    image-20240521205808387

  6. Manual export를 클릭합니다.

  7. Identity Provider에게 제공할 정보를 먼저 확인합니다.

    • Provider ID, Assertion consumer service URL, Logout service endpoint URL, Logout service return URL 기록
    • Service provider signing certificate 오른쪽 Download를 클릭하여 SigningCertificate.pem 파일 다운로드

    image-20240521140444886

IdP(Identity Provider) 역할 Cloud Account에서 작업 - 인증서버로 사용할 환경
  1. OCI 콘솔에 로그인합니다

  2. 좌측 상단 내비게이션 메뉴에서 Identity & Security > Identity > Domains를 클릭합니다.

  3. 사용할 Default Domain을 클릭합니다.

  4. Integrated applications를 클릭합니다.

  5. Add application를 클릭합니다.

  6. SAML Application 선택후 Launch workflow를 클릭합니다.

    image-20240521210421218

  7. Add SAML Application 정보 입력

  8. Finish 클릭

  9. Activate를 클릭하여 활성화합니다.

  10. Service Provider 역할의 Cloud Account에서 Identity Provider로 등록을 위해 Download identity provider metadata를 클릭하여 메타데이터 파일 IDCSMetadata.xml을 다운로드합니다.

    image-20240521213020042

Service Provider 역할 Cloud Account에서 설정 - 실제 유저가 사용할 환경
  1. Default Domain 클릭

  2. Security > Identity providers 클릭

  3. Add IdP 선택후 Add SAML IdP 클릭

    image-20240521213703007

  4. Add SAML identity provider 정보 입력

    • Add details

      • Name: 등록할 이름을 입력합니다, 예, {AccountName} SSO
      • 등록한 이름으로 사인인 페이지 하단에 표시됩니다.

      image-20240522103002198

    • Exchange metadata

      • 앞서 다운받은 IdP의 메타데이터 파일 IDCSMetadata.xml 파일 업로드

      image-20240521232541459

    • Map user identity

      • 기본값 그대로 사용

      image-20240521232614050

    • Review and Create

      • 설정값 확인후 Create IdP 클릭
    • What’s Next?

      • 테스트 로그인
        • Test login 클릭합니다.

          image-20240522103127030

        • IDP로 설정한 Cloud Account 로그인 화면이 뜹니다. 해당 Cloud Account의 유저로 로그인합니다.

          image-20240522095335506

        • 로그인을 성공해도 앱에 액세스할 수 있는 권한이 부여되지 않았다는 에러가 뜹니다. Service Provider에서 요청해서 IdP로 인증할 때 허용할 사용자로 아직 등록되지 않았기 때문입니다.

          image-20240522095700226

IdP(Identity Provider) 역할 Cloud Account에서 작업 - 인증서버로 사용할 환경

Service Provider에서 요청해서 IdP로 인증할 때 허용할 사용자 또는 그룹을 등록하는 과정입니다.

  1. Default Domain 클릭

  2. Integrated applications 클릭

  3. 앞서 등록한 SAML application을 클릭

  4. Resources > Users 또는 Groups에서 인증을 허용할 유저 또는 그룹을 지정합니다.

    image-20240521232916123

Service Provider 역할 Cloud Account에서 설정 - 실제 유저가 사용할 환경

Service Provider 쪽에도 같은 Username으로 유저가 있어야 이후 테스트에서 사인인이 성공합니다. 없는 경우 유저를 먼저 생성합니다.

  1. 테스트 로그인 항목에서 Test login을 다시 클릭합니다.

  2. IDP로 설정한 Cloud Account 로그인 화면이 뜨면 다시 사인인합니다.

  3. 로그인이 성공하면 “Your connection is successful.” 문구가 뜹니다.

    image-20240521233010171

  4. 사인인한 창을 닫고 Add SAML identity provider 화면으로 돌아갑니다.

  5. Activate 클릭하여 추가한 SAML identity provider 활성화

    image-20240521233840129

  6. Add to IdP policy 클릭

  7. IdP policies 화면으로 전환되었습니다. Default Identity Provider Policy 클릭

  8. Default IDP Rule 오른쪽 액션 메뉴에서 Edit IdP rule 클릭

    image-20240521234513047

  9. Assign identity providers에서 기본 Username-Password에 외에 앞서 추가한 Identity Provider를 추가하고 저장합니다.

    image-20240522103201218

  10. Service Provider 역할 Cloud Account의 Console에 현재 유저에서 사인아웃합니다.

사인인 테스트
  1. Service Provider의 Cloud Account의 OCI 콘솔 접속화면으로 이동합니다.

  2. 사인인 화면에서 유저/패스워드 방식 말고 아래에 등록한 IdP를 통한 사인인을 위한 버튼이 추가된 것이 보입니다. 해당 버튼을 클릭합니다.

    image-20240522103239096

  3. IdP로 등록한 Cloud Account의 사인인 화면이 뜹니다. 사인인 합니다.

    image-20240522095335506

  4. IdP로 사인인이 성공하면, 실제로는 Service Provider 쪽 Cloud Account로 접속됩니다.

    image-20240522105757700

유저 프로비저닝

Service Provider로 사인인할때 IdP를 통해 인증합니다. 즉 IdP에 등록된 유저의 패스워드를 사용하는 것입니다. 사인인할 유저는 Service Provider와 IdP 양쪽에 모두 있어야 합니다.

IdP로 등록된 서버는 일반적으로 사내 유저 통합 인증 서버로, 신규 입사자에 대해 IdP에 최초 유저를 만들 것입니다. 해당 유저가 Service Provider 시스템에 권한을 부여하는 경우, Service Provider 시스템에도 유저가 있어야 합니다. Service Provider 시스템에 실제 유저가 없는 경우에, SSO를 구성했다고 해도, 유저가 없기 때문에 사용할 수 없습니다. 일반적으로 사내 Identity Management 시스템에 의해 IdP에 유저 정보 변경시 Service Provider로 프로비저닝 및 동기화합니다.

위에서 설정한 것은 Service Provider에 사용자 정보를 프로비저닝하는 별도 기능, 솔루션이 없는 상태이기 때문에, Service Provider 쪽에도 매뉴얼한 유저 등록이 필요합니다.

참고


이 글은 개인으로서, 개인의 시간을 할애하여 작성된 글입니다. 글의 내용에 오류가 있을 수 있으며, 글 속의 의견은 개인적인 의견입니다.