Keycloak の連携

Prev Next

Classic/VPC環境で利用できます。

オープンソースベースのユーザーアカウント管理およびアクセス権管理ソリューションである Keycloakと NAVERクラウドプラットフォームを連携する方法について説明します。組織内で使用している Keycloakアカウントで NAVERクラウドプラットフォームコンソールにログインし、与えられた権限内でサービスを利用できます。

NAVERクラウドプラットフォームアカウントと Keycloakアカウントを連携する手順は、次の通りです。

1.Keycloakメタデータをコピー
2.NAVERクラウドプラットフォームで External IdP情報を登録
3.Keycloak認証設定
4.NAVERクラウドプラットフォーム認証設定
5.連携確認

1.Keycloakメタデータをコピー

  1. Keycloakにアクセスしてログインします。
  2. 画面左上のドロップダウンボックスをクリックし、 [Add realm] ボタンをクリックします。
  3. Nameに名前を入力し、 [Create] ボタンをクリックします。
  4. 画面左側の Realm Settingsメニューをクリックし、 [General] タブの SAML 2.0 Identity Provider Metadataリンクをクリックします。
  5. SAMLメタデータをコピーします。

2.NAVERクラウドプラットフォームで External IdP情報を登録

NAVERクラウドプラットフォームに Keycloakのメタデータを登録する方法は、次の通りです。

  1. NAVERクラウドプラットフォームコンソールで、 i_menu > Services > Management & Governance > Ncloud Single Sign-Onメニューを順にクリックします。
  2. Tenantメニューで [External IdP登録] ボタンをクリックします。
  3. Metadata項目に Keycloakメタデータをコピーでダウンロードしたメタデータ情報を貼り付けた後、 [保存] ボタンをクリックします。
    • サブ情報は自動的に入力されます。
  4. [登録] ボタンをクリックします。
  5. Tenantメニューの External IdP login領域で Service Provider Metadataボタンをクリックします。
  6. [ダウンロード] ボタンをクリックします。

3.Keycloak認証設定

Keycloakで認証を行う Clientを作成し、NAVERクラウドプラットフォームと連携するユーザーを追加した後、認証に必要なユーザープロパティ情報を定義する方法について説明します。

Client作成

Clientを作成する方法は、次の通りです。

  1. Keycloakにアクセスした後、画面左側の Clientsメニューをクリックします。
  2. [Create] ボタンをクリックします。
  3. Import項目の [Select file] ボタンをクリックします。
  4. NAVERクラウドプラットフォームに External IdP情報を登録からダウンロードしたメタデータファイルをアップロードします。
    • メタデータファイルがアップロードされると、Client ID情報と Client Protocolフィールドに値が自動的に入力されます。
  5. Client SAML Endpointに、SAML連携情報をコピーでコピーした Assertion Consumer Service(ACS) URL情報を入力します。
  6. [Save] ボタンをクリックします。
  7. Nameには名前を入力し、Descriptionに簡単な説明を入力した後、 [Save] ボタンをクリックします。

SAML連携情報をコピー

Ncloud Single Sign-Onサービスと IdPを連携させるには、IdPが送信する SAMLレスポンスを受信するエンドポイントである Assertion Consumer Service(ACS) URL情報と IdPを識別する Issuer URL情報が必要です。

NAVERクラウドプラットフォームの ACS URLと Issuer URLを確認する方法は、次の通りです。

  1. NAVERクラウドプラットフォームコンソールで、 i_menu > Services > Management & Governance > Ncloud Single Sign-Onメニューを順にクリックします。
  2. Ten****antメニューの External IDP Metadata領域で以下の情報をコピーします。
    • Assertion Consumer Service (ACS) URL
    • Issuer URL

Attribute Mapper設定

Keycloakのユーザープロファイルと Ncloud Single Sign-Onサービスのユーザープロファイルをマッピングするには、Keycloakから NAVERクラウドプラットフォームに渡すユーザーのプロパティ情報を定義します。

参考

このガイドでは、認証時に主に使用されるユーザープロパティ情報である 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.NAVERクラウドプラットフォーム認証設定

連携する Keycloakアカウントを NAVERクラウドプラットフォームコンソールに登録し、ユーザープロファイルをマッピングする方法について説明します。

SSO User追加

AWSユーザー追加段階で作成したユーザーの Email情報を活用し、Ncloud Single Sign-Onサービスで SSO Userを作成する必要があります。

Keycloakユーザー追加段階で作成したユーザーの Email情報を活用し、Ncloud Single Sign-Onサービスで SSO Userを作成する必要があります。

NAVERクラウドプラットフォームで Ncloud Single Sign-Onサービスの SSO Userを追加する方法は、次の通りです。

  1. NAVERクラウドプラットフォームコンソールで、 i_menu > Services > Management & Governance > Ncloud Single Sign-Onメニューを順にクリックします。
  2. External IdP Login > Users > [User作成] ボタンをクリックします。
  3. ログイン IDに Keycloakユーザー追加で作成したユーザーのメールアドレスを入力し、 [作成] ボタンをクリックします。 
参考

Ncloud Single Sign-Onサービスで SSO Userを作成する詳しい方法は、Usersをご参照ください。

Attribute Mapper設定

Keycloakで設定したユーザープロパティ情報を Ncloud Single Sign-Onサービスのユーザープロパティ情報と関連付ける方法は、次の通りです。

  1. NAVERクラウドプラットフォームコンソールで、 i_menu > Services > Management & Governance > Ncloud Single Sign-Onメニューを順にクリックします。
  2. Tenantメニューをクリックします。
  3. ユーザー Profile管理領域の [Attribute Mapper] ボタンをクリックします。
  4. Attribute Mapper画面が表示されたら、Attribute Mapping設定で登録した内容を External IdP Parameterに入力します。
  5. Sync Modeでユーザープロファイルの更新方法を設定します。
    • None: ユーザープロファイルを更新しない
    • Import: 初回ログイン時のみユーザープロファイルを更新
    • Force: ログインするたびにユーザープロファイルを更新
  6. [保存] ボタンをクリックします。

5.連携確認

Keycloakアカウントと NAVERクラウドプラットフォームアカウントが連携しているか確認する方法は、次の通りです。

  1. NAVERクラウドプラットフォームコンソールで、 i_menu > Services > Management & Governance > Ncloud Single Sign-Onメニューを順にクリックします。
  2. Tenantメニューの Login URLをコピーし、その URLにアクセスします。
  3. ログイン画面が表示されたら、メールアドレスとパスワードを入力し、 [Sign In] ボタンをクリックします。
    • SSO Roleのロール切り替え画面が表示されます。
  4. SSO Roleのロール切り替え画面で [コンソールアクセス] または [APIアクセス] ボタンをクリックします。
    • ログインした SSO Userに設定されたアクセスタイプに応じて [コンソールアクセス] または [API Gatewayアクセス] ボタンが表示されます。
  5. Services > Management & Governance > Ncloud Single Sign-On > External IdP login > Userメニューをクリックします。
  6. ログインした SSO Userの詳細情報で [Profile] タブをクリックし、ユーザープロファイルが更新されているかご確認ください。