Keycloak 연동
    • PDF

    Keycloak 연동

    • PDF

    기사 요약

    오픈 소스 기반의 사용자 계정 관리 및 접근 권한 관리 솔루션인 Keycloak과 네이버 클라우드 플랫폼을 연동하는 방법을 설명합니다. 조직 내에서 사용 중인 Keycloak 계정으로 네이버 클라우드 플랫폼 콘솔에 로그인하고 주어진 권한 내에서 서비스를 사용할 수 있습니다.

    네이버 클라우드 플랫폼 계정과 Keycloak 계정을 연동하는 순서는 다음과 같습니다.

    1. Keycloak 메타데이터 복사
    2. 네이버 클라우드 플랫폼에 External IdP 정보 등록
    3. Keycloak 인증 설정
    4. 네이버 클라우드 플랫폼 인증 설정
    5. 연동 확인

    1. Keycloak 메타데이터 복사

    1. Keycloak에 접속한 후 로그인해 주십시오.
    2. 화면 좌측 상단의 드롭다운 박스를 클릭한 후 [Add realm] 버튼을 클릭해 주십시오.
    3. Name에 이름을 입력한 후 [Create] 버튼을 클릭해 주십시오.
    4. 화면 좌측의 Realm Settings 메뉴를 클릭한 후 [General] 탭의 SAML 2.0 Identity Provider Metadata 링크를 클릭해 주십시오.
    5. SAML 메타데이터를 복사해 주십시오.

    2. 네이버 클라우드 플랫폼에 External IdP 정보 등록

    네이버 클라우드 플랫폼에 Keycloak의 메타데이터를 등록하는 방법은 다음과 같습니다.

    1. 네이버 클라우드 플랫폼 콘솔의 Region 메뉴와 Platform 메뉴에서 이용 중인 환경을 클릭해 주십시오.
    2. Services > Management & Governance > Ncloud Single Sign-On를 차례대로 클릭해 주십시오.
    3. Tenant 메뉴에서 [External IdP 등록] 버튼을 클릭해 주십시오.
    4. Metadata 항목에 Keycloak 메타데이터 복사에서 다운로드한 메타데이터 정보를 붙여 넣은 후 [저장] 버튼을 클릭해 주십시오.
      • 하위 정보는 자동으로 입력됩니다.
    5. [등록] 버튼을 클릭해 주십시오.
    6. Tanant 메뉴의 External IdP login 영역에서 Service Provider Metadata 버튼을 클릭해 주십시오.
    7. [다운로드] 버튼을 클릭해 주십시오.

    3. Keycloak 인증 설정

    Keycloak에서 인증을 수행할 Client를 생성하고 네이버 클라우드 플랫폼과 연동할 사용자를 추가한 후 인증에 필요한 사용자 속성 정보를 정의하는 방법을 설명합니다.

    Client 생성

    Client를 생성하는 방법은 다음과 같습니다.

    1. Keycloak에 접속한 후 화면 좌측의 Clients 메뉴를 클릭해 주십시오.
    2. [Create] 버튼을 클릭해 주십시오.
    3. Import 항목의 [Select file] 버튼을 클릭해 주십시오.
    4. 네이버 클라우드 플랫폼에 External IdP 정보 등록에서 다운로드한 메타데이터 파일을 업로드해 주십시오.
      • 메타데이터 파일이 업로드되면 Client ID 정보와 Client Protocol 필드에 값이 자동으로 입력됩니다.
    5. Client SAML Endpoint에 SAML 연동 정보 복사에서 복사한 Assertion Consumer Service (ACS) URL 정보를 입력해 주십시오.
    6. [Save] 버튼을 클릭해 주십시오.
    7. Name에는 이름을 입력하고 Descripption에 간단한 설명을 입력한 후 [Save] 버튼을 클릭해 주십시오.

    SAML 연동 정보 복사

    Ncloud Single Sign-On 서비스와 IdP를 연동하려면 IdP에서 전달하는 SAML 응답을 수신할 엔드포인트인 Assertion Consumer Service (ACS) URL 정보와 IdP를 식별하는 Issuer URL 정보가 필요합니다.

    네이버 클라우드 플랫폼의 ACS URL과 Issuer URL을 확인하는 방법은 다음과 같습니다.

    1. 네이버 클라우드 플랫폼 콘솔의 Region 메뉴와 Platform 메뉴에서 이용 중인 환경을 클릭해 주십시오.
    2. Services > Management & Governance > Ncloud Single Sign-On를 차례대로 클릭해 주십시오.
    3. Tenant 메뉴의 Tanant 메뉴의 External IDP Metadata 영역에서 다음 정보를 복사해 주십시오.
      • Assertion Consumer Service (ACS) URL
      • Issuer URL

    Attribute Mapper 설정

    Keycloak의 사용자 프로필과 Ncloud Single Sign-On 서비스의 사용자 프로필을 매핑하려면 Keycloak에서 네이버 클라우드 플랫폼으로 전달할 사용자의 속성 정보를 정의합니다.

    참고

    이 가이드에서는 인증 시 주로 사용되는 사용자 속성 정보인 FirstName, LastName, Email을 기준으로 설명합니다.

    Keycloak에서 사용자 속성 정보를 정의하는 방법은 다음과 같습니다.

    1. Keycloak에 로그인한 후 화면 좌측의 Client 메뉴를 클릭해 주십시오.
    2. 사용자를 설정할 Client의 [Edit] 버튼을 클릭해 주십시오.
    3. [Mappers] 탭을 클릭해 주십시오.
    4. [Create] 버튼을 클릭해 주십시오.
    5. 연결할 사용자 속성 정보를 입력해 주십시오.
      • Name: 속성 이름
      • Mapper Type: User Property 선택
      • Property: 'email' 입력
      • Friendly Name: 속성 이름이 암호화된 경우 사용자에게 표시할 이름. 선택 항목
      • SAML Attribute Name: 'email' 입력
      • SAML Attribute NameFormat: Unspecified 선택
    6. [Save] 버튼을 클릭해 주십시오.
    7. 동일한 방식으로 firstName, lastName 속성을 추가해 주십시오.
    참고

    'SAML AttributeName'은 Ncloud Single Sign-On 서비스에서 사용자 Profile 관리의 Attribute Mapper 설정 시 External IdP Parameter에 입력할 값입니다.

    Keycloak 사용자 추가

    1. 화면 좌측의 User 메뉴를 클릭해 주십시오.
    2. [Add user] 버튼을 클릭해 주십시오.
    3. Username에 User 이름을 입력하고 Email에 연동할 이메일을 입력해 주십시오
      • Email이 필수 입력 항목은 아니지만 Ncloud Single Sign-On 서비스에서 Email을 NameID로 인식하기 때문에 반드시 Email을 입력해야 합니다 .
    4. [Save] 버튼을 클릭해 주십시오.
      • User 목록 화면으로 이동합니다.
    5. User 목록에서 생성한 ID를 클릭해 주십시오.
    6. [Credentials] 탭에서 유저의 비밀번호를 설정한 후 [Set Password] 버튼을 클릭해 주십시오.
    7. Set password 팝업 창이 나타나면 [Set password] 버튼을 클릭해 주십시오.

    4. 네이버 클라우드 플랫폼 인증 설정

    연동할 Keycloak 계정을 네이버 클라우드 플랫폼 콘솔에 등록한 후 사용자 프로필을 매핑하는 방법을 설명합니다.

    SSO User 추가

    AWS 사용자 추가 단계에서 생성한 사용자의 Email 정보를 활용하여 Ncloud Single Sign-On 서비스에서 SSO User를 생성해야 합니다.

    Keycloak 사용자 추가 단계에서 생성한 사용자의 Email 정보를 활용하여 Ncloud Single Sign-On 서비스에서 SSO User를 생성해야 합니다.

    네이버 클라우드 플랫폼에서 Ncloud Single Sign-On 서비스의 SSO User를 추가하는 방법은 다음과 같습니다.

    1. 네이버 클라우드 플랫폼 콘솔의 Region 메뉴와 Platform 메뉴에서 이용 중인 환경을 클릭해 주십시오.
    2. Services > Management & Governance > Ncloud Single Sign-On 메뉴를 클릭해 주십시오.
    3. External IdP Login > Users > [User 생성] 버튼을 클릭해 주십시오.
    4. 로그인 아이디에 Keycloak 사용자 추가에서 생성한 사용자의 이메일 주소를 입력한 후 [생성] 버튼을 클릭해 주십시오.
    참고

    Ncloud Single Sign-On 서비스에서 SSO User를 생성하는 자세한 방법은 Users를 참조해 주십시오.

    Attribute Mapper 설정

    Keycloak에서 설정한 사용자 속성 정보를 Ncloud Single Sign-On 서비스의 사용자 속성 정보와 연결하는 방법은 다음과 같습니다.

    1. 네이버 클라우드 플랫폼 콘솔의 Region 메뉴와 Platform 메뉴에서 이용 중인 환경을 클릭해 주십시오.
    2. Services > Management & Governance > Ncloud Single Sign-On 메뉴를 차례대로 클릭해 주십시오.
    3. Tenant 메뉴를 클릭해 주십시오.
    4. 사용자 Profile 관리 영역의 [Attribute Mapper] 버튼을 클릭해 주십시오.
    5. Attribute Mapper 화면이 나타나면 Attribute Mapping 설정에서 등록한 내용을 External IdP Parameter에 입력해 주십시오.
    6. Sync Mode에서 사용자 프로필 업데이트 방식을 설정해 주십시오.
      • None: 사용자 프로필 업데이트하지 않음
      • Import: 최초 로그인 시에만 사용자 프로필 업데이트
      • Force: 로그인할 때마다 사용자 프로필 업데이트
    7. [저장] 버튼을 클릭해 주십시오.

    5. 연동 확인

    Keycloak 계정과 네이버 클라우드 플랫폼 계정이 연동되었는지 확인하는 방법은 다음과 같습니다.

    1. 네이버 클라우드 플랫폼 콘솔의 Region 메뉴와 Platform 메뉴에서 이용 중인 환경을 클릭해 주십시오.
    2. Services > Management & Governance > Ncloud Single Sign-On를 차례대로 클릭해 주십시오.
    3. Tenant 메뉴의 Login URL을 복사한 후, 해당 URL로 접속해 주십시오.
    4. 로그인 창이 나타나면 이메일 및 비밀번호를 입력한 후 [Sign In] 버튼을 클릭해 주십시오.
      • SSO Role 역할 전환 화면이 나타납니다.
    5. SSO Role 역할 전환 화면에서 [콘솔 접근] 또는 [API 접근] 버튼을 클릭해 주십시오.
      • 로그인한 SSO User에게 설정된 접근 유형에 따라 [콘솔 접근] 또는 [API Gateway 접근] 버튼이 나타납니다.
    6. Services > Management & Governance > Ncloud Single Sign-On > External IdP login > User 메뉴를 클릭해 주십시오.
    7. 로그인한 SSO User의 세부 정보에서 [Profile] 탭을 클릭한 후 사용자 프로필이 업데이트되었는지 확인해 주십시오.

    이 문서가 도움이 되었습니까?

    Changing your password will log you out immediately. Use the new password to log back in.
    First name must have atleast 2 characters. Numbers and special characters are not allowed.
    Last name must have atleast 1 characters. Numbers and special characters are not allowed.
    Enter a valid email
    Enter a valid password
    Your profile has been successfully updated.