Classic/VPC環境で利用できます。
オープンソースベースのユーザーアカウント管理およびアクセス権管理ソリューションである Keycloakと NAVERクラウドプラットフォームを連携する方法について説明します。組織内で使用している Keycloakアカウントで NAVERクラウドプラットフォームコンソールにログインし、与えられた権限内でサービスを利用できます。
NAVERクラウドプラットフォームアカウントと Keycloakアカウントを連携する手順は、次の通りです。
1.Keycloakメタデータをコピー
2.NAVERクラウドプラットフォームで External IdP情報を登録
3.Keycloak認証設定
4.NAVERクラウドプラットフォーム認証設定
5.連携確認
1.Keycloakメタデータをコピー
- Keycloakにアクセスしてログインします。
- 画面左上のドロップダウンボックスをクリックし、 [Add realm] ボタンをクリックします。
- Nameに名前を入力し、 [Create] ボタンをクリックします。
- 画面左側の Realm Settingsメニューをクリックし、 [General] タブの SAML 2.0 Identity Provider Metadataリンクをクリックします。
- SAMLメタデータをコピーします。
2.NAVERクラウドプラットフォームで External IdP情報を登録
NAVERクラウドプラットフォームに Keycloakのメタデータを登録する方法は、次の通りです。
- NAVERクラウドプラットフォームコンソールで、
> Services > Management & Governance > Ncloud Single Sign-Onメニューを順にクリックします。 - Tenantメニューで [External IdP登録] ボタンをクリックします。
- Metadata項目に Keycloakメタデータをコピーでダウンロードしたメタデータ情報を貼り付けた後、 [保存] ボタンをクリックします。
- サブ情報は自動的に入力されます。
- [登録] ボタンをクリックします。
- Tenantメニューの External IdP login領域で Service Provider Metadataボタンをクリックします。
- [ダウンロード] ボタンをクリックします。
3.Keycloak認証設定
Keycloakで認証を行う Clientを作成し、NAVERクラウドプラットフォームと連携するユーザーを追加した後、認証に必要なユーザープロパティ情報を定義する方法について説明します。
Client作成
Clientを作成する方法は、次の通りです。
- Keycloakにアクセスした後、画面左側の Clientsメニューをクリックします。
- [Create] ボタンをクリックします。
- Import項目の [Select file] ボタンをクリックします。
- NAVERクラウドプラットフォームに External IdP情報を登録からダウンロードしたメタデータファイルをアップロードします。
- メタデータファイルがアップロードされると、Client ID情報と Client Protocolフィールドに値が自動的に入力されます。
- Client SAML Endpointに、SAML連携情報をコピーでコピーした Assertion Consumer Service(ACS) URL情報を入力します。
- [Save] ボタンをクリックします。
- Nameには名前を入力し、Descriptionに簡単な説明を入力した後、 [Save] ボタンをクリックします。
SAML連携情報をコピー
Ncloud Single Sign-Onサービスと IdPを連携させるには、IdPが送信する SAMLレスポンスを受信するエンドポイントである Assertion Consumer Service(ACS) URL情報と IdPを識別する Issuer URL情報が必要です。
NAVERクラウドプラットフォームの ACS URLと Issuer URLを確認する方法は、次の通りです。
- NAVERクラウドプラットフォームコンソールで、
> Services > Management & Governance > Ncloud Single Sign-Onメニューを順にクリックします。 - 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でユーザープロパティ情報を定義する方法は、次の通りです。
- Keycloakにログインした後、画面左側の Clientメニューをクリックします。
- ユーザーを設定する Clientの [Edit] ボタンをクリックします。
- [Mappers] タブをクリックします。
- [Create] ボタンをクリックします。
- 関連付けるユーザープロパティ情報を入力します。
- Name: プロパティ名
- Mapper Type: User Propertyを選択
- Property: 「email」を入力
- Friendly Name: プロパティ名が暗号化されている場合、ユーザーに表示する名前。選択項目
- SAML Attribute Name: 「email」を入力
- SAML Attribute NameFormat: Unspecifiedを選択
- [Save] ボタンをクリックします。
- 同じように firstName、lastNameのプロパティを追加します。
「SAML AttributeName」は、Ncloud Single Sign-Onサービスでユーザー Profile管理の Attribute Mapper設定時に External IdP Parameterに入力する値です。
Keycloakユーザー追加
- 画面左側の Userメニューをクリックします。
- [Add user] ボタンをクリックします。
- Usernameに User名を入力し、Emailに連携するメールアドレスを入力します。
- Emailは必須入力項目ではありませんが、Ncloud Single Sign-Onサービスで Emailを NameIDとして認識するため、必ず Emailを入力する必要があります。
- [Save] ボタンをクリックします。
- Userリスト画面に移動します。
- Userリストで作成した IDをクリックします。
- [Credentials] タブでユーザーのパスワードを設定し、 [Set Password] ボタンをクリックします。
- 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を追加する方法は、次の通りです。
- NAVERクラウドプラットフォームコンソールで、
> Services > Management & Governance > Ncloud Single Sign-Onメニューを順にクリックします。 - External IdP Login > Users > [User作成] ボタンをクリックします。
- ログイン IDに Keycloakユーザー追加で作成したユーザーのメールアドレスを入力し、 [作成] ボタンをクリックします。
Ncloud Single Sign-Onサービスで SSO Userを作成する詳しい方法は、Usersをご参照ください。
Attribute Mapper設定
Keycloakで設定したユーザープロパティ情報を Ncloud Single Sign-Onサービスのユーザープロパティ情報と関連付ける方法は、次の通りです。
- NAVERクラウドプラットフォームコンソールで、
> Services > Management & Governance > Ncloud Single Sign-Onメニューを順にクリックします。 - Tenantメニューをクリックします。
- ユーザー Profile管理領域の [Attribute Mapper] ボタンをクリックします。
- Attribute Mapper画面が表示されたら、Attribute Mapping設定で登録した内容を External IdP Parameterに入力します。
- Sync Modeでユーザープロファイルの更新方法を設定します。
- None: ユーザープロファイルを更新しない
- Import: 初回ログイン時のみユーザープロファイルを更新
- Force: ログインするたびにユーザープロファイルを更新
- [保存] ボタンをクリックします。
5.連携確認
Keycloakアカウントと NAVERクラウドプラットフォームアカウントが連携しているか確認する方法は、次の通りです。
- NAVERクラウドプラットフォームコンソールで、
> Services > Management & Governance > Ncloud Single Sign-Onメニューを順にクリックします。 - Tenantメニューの Login URLをコピーし、その URLにアクセスします。
- ログイン画面が表示されたら、メールアドレスとパスワードを入力し、 [Sign In] ボタンをクリックします。
- SSO Roleのロール切り替え画面が表示されます。
- SSO Roleのロール切り替え画面で [コンソールアクセス] または [APIアクセス] ボタンをクリックします。
- ログインした SSO Userに設定されたアクセスタイプに応じて [コンソールアクセス] または [API Gatewayアクセス] ボタンが表示されます。
- Services > Management & Governance > Ncloud Single Sign-On > External IdP login > Userメニューをクリックします。
- ログインした SSO Userの詳細情報で [Profile] タブをクリックし、ユーザープロファイルが更新されているかご確認ください。