SAMLを使用したSSO設定
SAMLを使用したSSO設定について説明します。
設定の概要については、「設定の流れ」をご確認ください。
具体的な操作については、「操作手順」をご確認ください。
各手順タイトルの先頭にあるアイコンは、以下の設定先を示しています。
|
: |
SSOプロバイダで設定する手順を示す。 |
|
: |
HULFT10 for Container Platformで設定する手順を示す。 |
|
: |
Red Had OpenShiftで設定または操作する手順を示す。 |
設定の流れ
SAMLを使用したSSO設定の流れは、以下のとおりです。
SSOプロバイダ |
HULFT10 for Container Platform |
Red Hat OpenShift |
---|---|---|
手順1.「管理者ユーザーの作成」 |
||
管理者ユーザーを作成(*1) |
管理者ユーザーを作成(*1) |
- |
- |
ユーザー認証設定をSAMLに変更して、SAML認証設定に表示されている以下の値を取得
→手順3.で設定 |
- |
HULFT10 for Container PlatformのSAML用のクライアントを作成
手順2. のSAML認証設定に表示されていた以下の値を設定
|
- |
- |
ユーザー認証設定に必要な以下の値を取得
→手順5.で設定 |
- |
- |
- |
手順4.で取得した以下の値を設定
|
- |
- |
- |
任意に取得したSAML証明書およびSAML秘密鍵をSecretに登録 |
手順7.「管理コンテナの再起動」 |
||
- |
- |
管理コンテナを再起動 |
手順8.「アクセストークンの取得」 |
||
転送コンテナユーザーを作成 |
アクセストークンの取得(*2) →手順9.で登録
|
- |
手順9.「アクセストークンの登録」 |
||
- |
- |
手順8.で取得したアクセストークンを登録 |
手順10.「転送コンテナの再起動」 |
||
- |
- |
転送コンテナを再起動 |
*1 |
: |
SSOが有効な場合、ID/パスワードを使用したログインはできません。 |
*2 |
: |
SSOが有効になると、パスワードを使用した認証によるログインが無効となるため、転送コンテナの再起動ができません。このため、アクセストークンを使用した認証が必要となります。 |
操作手順
SAMLを使用したSSO設定の操作手順を、SSOプロバイダに「okta」を使用した例で説明します。
「okta」以外に利用できるSSOプロバイダについては、「利用可能なシングルサインオン(SSO)プロバイダ」を参照してください。
管理者ユーザーの作成
SSOが有効になると、HULFT10 for Container Platformへパスワードによるログインはできなくなります
SSOを有効にした後に管理者権限でHULFT10 for Container Platformにログインできるよう、事前にSSOプロバイダでの管理者ユーザーと同期させるHULFT10 for Container Platformの管理者ユーザーを作成します。
SSOプロバイダのokta開発環境での操作は以下のとおりです。
-
okta開発環境に管理者ユーザーを作成します。
okta開発環境で作成した管理者ユーザーを、以降の手順でHULFT10 for Container Platformに設定してください。
HULFT10 for Container Platformでの操作は以下のとおりです。
以下の手順は管理者権限のユーザーで実施していますが、存在しない場合はrootユーザーで実施してください。
-
HULFT10 for Container Platformの管理画面に管理者権限のユーザーIDでログインします。
-
ホーム>Settings>ユーザー設定>ユーザー管理をクリックします。
-
新規作成ボタンをクリックします。
-
ユーザー新規作成画面で以下の値を設定します。
表3.2 設定内容
項目名
設定内容
ユーザーID
okta開発環境に登録したHULFT10 for Container Platform管理者のEメールアドレス
表示名
(例)okta開発環境に登録したHULFT10 for Container Platform管理者のEメールアドレス
メールアドレス
okta開発環境に登録したHULFT10 for Container Platform管理者のEメールアドレス
初期パスワード
任意の初期パスワード(*1)
ユーザーの権限
管理者
その他の項目の設定は任意です。
*1
:
ユーザー新規作成画面で設定する初期パスワードはHULFT10 for Container Platformの管理画面にログインするためのものです。
SSOの設定が有効になった後はこちらの初期パスワードではなく、SSOプロバイダに登録したパスワードでログインしてください。
-
保存ボタンをクリックします。
管理者ユーザーが作成されました。
HULFT10 for Container Platformの管理画面は「ユーザー認証設定に必要な情報の取得」の手順で使用します。閉じないで次の手順に進んでください。
ユーザー認証設定に必要な情報の取得
HULFT10 for Container Platformのユーザー認証設定で、ユーザー認証方式に“SAML”を指定し、ユーザー認証設定に必要な情報を取得する手順は以下のとおりです。
-
HULFT10 for Container Platform管理画面のホーム>Settings>ユーザー設定>ユーザー認証設定をクリックします。
-
ユーザー認証方式に“SAML”を指定します。
-
SAML認証設定で表示されている以下の値をコピーして控えておきます。
表3.3 表示内容
項目名
表示内容
識別子(エンティティID)
(例)https://external-control-example.com/api/login/saml/metadata
応答URL(Assertion Consumer Service(ACS) URL)
(例)https://external-control-example.com/api/login/saml/acs
ユーザー認証設定に必要な情報を取得できました。
HULFT10 for Container Platformの管理画面は「SAML IdP XML Metadataの設定」の手順で使用します。閉じないで次の手順に進んでください。
ユーザー認証設定に必要な情報の登録
HULFT10 for Container PlatformのSAML認証設定に表示された値を、SSOプロバイダのSAML用クライアントに設定します。
okta開発環境での手順は以下のとおりです。
-
okta開発環境のApplications-Applicationsをクリックします。
-
Applications画面でCreate App Integrationボタンをクリックします。
-
Create a new app integrationダイアログで以下を選択し、Nextボタンをクリックします。
表3.4 設定内容
項目名
設定内容
Sign-in method
SAML 2.0
-
Create SAML Integration画面のGeneral Settingsタブで、以下を設定しNextボタンをクリックします。
表3.5 設定内容
項目名
設定内容
App name
任意のクライアント名(例として、“hulft10-saml”)を指定
-
Create SAML Integration画面のConfigure SAMLタブで、以下を設定しNextボタンをクリックします。
表3.6 設定内容
項目名
設定内容
Single sign-on URL
HULFT10 for Container Platform管理画面のユーザー認証設定で表示されていた「応答URL(Assertion Consumer Service(ACS) URL)」を指定
Audience URI(SP Entity ID)
HULFT10 for Container Platform管理画面のユーザー認証設定で表示されていた「識別子(エンティティID)」を指定
Name ID format
EmailAddress(*1)
*1
:
Name ID formatとして指定されたものをHULFT10 for Container PlatformではユーザーIDとして扱うため、usernameやEmailAddressを指定することを推奨します。
項目名はSSOプロバイダごとに異なる場合があります。詳しくは、SSOプロバイダのマニュアルを参照してください。
-
Create SAML Integration画面のFeedbackタブで、以下を設定しFinishボタンをクリックします。
表3.7 設定内容
項目名
設定内容
3. Help Okta Support understand how you cnfigured this application
Are you a customer or paetner?
I'm an Okta customer adding an internal app
HULFT10 for Container PlatformのSAMLクライアントが作成されました。
Okta開発環境では、作成したアプリケーションにログインさせたいユーザーをアサインする必要があります。
手順は以下のとおりです。
-
Okta開発環境のApplications-Applicationsで、作成したアプリケーション(例として、“hulft10-saml”)をクリックします。
-
Assignmentsタブで、ログインさせたいユーザーを以下のとおりアサインします。
-
すべてのユーザーをアサインしたい場合
-
AssignボタンをクリックしてAssign to Groupsをクリックします。
-
Assign hulft10-saml to Groupsダイアログで、EveryoneのAssignをクリックします。
AssignがAssignedの状態になります。
-
Doneボタンをクリックします。
Okta開発環境に登録されているすべてのユーザーがアサインされます。
-
-
グループ単位でユーザーをアサインしたい場合
-
AssignボタンをクリックしてAssign to Groupsをクリックします。
-
Assign hulft10-saml to Groupsダイアログで、アサインしたいグループのAssignをクリックします。
AssignがAssignedの状態になります。
-
Doneボタンをクリックします。
指定したグループのユーザーがアサインされます。
-
-
ユーザー単位でアサインしたい場合
-
AssignボタンをクリックしてAssign to Peopleをクリックします。
-
Assign hulft10-saml to Peopleダイアログで、アサインしたいユーザーのAssignをクリックします。
-
新たに表示されたAssign hulft10-saml to Peopleダイアログで、Save and Go Backボタンをクリックします。
元のAssign hulft10-saml to Peopleダイアログで、アサインしたいユーザーのAssignがAssignedの状態になります。
-
Doneボタンをクリックします。
指定したユーザーがアサインされます。
-
-
SAML IdP XML Metadataの取得
ユーザー認証設定に必要なSAML IdP XML Metadataを取得する手順は以下のとおりです。
-
okta開発環境で作成したSAML画面(例として、hulft10-saml画面)でSign onタブをクリックします。
-
Settings-Sign on methods-SAML 2.0-Metadata URLのcopyボタンをクリックします。
-
Webブラウザのアドレスバーに、先の手順でコピーしたMetadata URLをペーストします。
-
Webブラウザのウィンドウに表示されたXMLデータのすべてをコピーして控えておきます。
HULFT10 for Container Platformのユーザー認証設定に必要なSAML IdP XML Metadataを取得しました。
SAML IdP XML Metadataの設定
SSOプロバイダから取得したSAML IdP XML Metadataを、HULFT10 for Container Platformのユーザー認証設定に設定する手順は以下のとおりです。
-
HULFT10 for Container Platform管理画面のホーム>Settings>ユーザー設定>ユーザー認証設定をクリックします。
-
SAML認証設定のSAML IdP XML Metadataの入力フィールドに、「SAML IdP XML Metadataの取得」で取得したXMLデータをペーストします。
-
保存ボタンをクリックします。
-
ユーザー認証設定の保存ダイアログで、ユーザー認証設定を変更するチェックボックスをチェックします。
-
保存ボタンをクリックします。
HULFT10 for Container PlatformにSAML IdP XML Metadataが設定されました。
SAML証明書およびSAML秘密鍵の登録
SAML認証を行う場合に必要な設定手順については、以下を参照してください。
HULFT10 for Container Platform スタートアップガイド(OpenShift) : 「事前準備」の「SAML証明書の定義」
SAML認証情報が登録されたSecretのパスをHulftリソースに指定するには、以下のコマンドを実行します。
oc patch Hulft <作成したHulftリソースの名前> --type=merge -p '{"spec":{"control":{"samlSecret":<SAML証明書のSecretリソースの名前>"}}}'
管理コンテナの再起動
HULFT10 for Container Platformでのユーザー認証設定を有効にするために、管理コンテナを再起動します。
管理コンテナを再起動するには、以下のコマンドを実行します。
oc rollout restart Deployment hulft-<リソースの識別名>-control
<リソースの識別名>には、HULFT10 for Container Platformのプロダクトキーを発行する際に指定したホスト名の中に含まれるリソースの識別名を指定します。
リソースの識別名の詳細は、以下を参照してください。
HULFT10 for Container Platform スタートアップガイド(OpenShift) : 「ライセンスの発行」
管理コンテナを再起動すると、HULFT10 for Container Platformでのユーザー認証設定が有効になります。
アクセストークンの取得
SSOが有効になると、パスワードを使用した認証によるログインが無効となるため、転送コンテナの再起動ができません。このため、アクセストークンを使用した認証が必要となります。
ユーザー認証によるログインを有効化する前にアクセストークンを使用した認証を設定済みの場合でも、ユーザー認証によるログインを有効化後にアクセストークンを使用した認証を再設定してください。
アクセストークンは、転送コンテナユーザーでログインしたHULFT10 for Container Platformのユーザー管理画面で取得できます。
転送コンテナユーザーの作成は、SSOが有効となった後はパスワードの認証とは異なる手順となります。
転送コンテナ用のユーザーはSSOプロバイダで作成しますが、そのユーザーはHULFT10 for Container Platformでは“メンバー”の権限が付与されています。
HULFT10 for Container Platformのプロファイル画面でそのユーザーに“転送コンテナ”の権限を付与する必要があります。
以下の手順で、転送コンテナユーザーを作成し、ユーザーの権限が“メンバー”となっていることを確認します。
-
HULFT10 for Container PlatformのログインリダイレクトURLをWebブラウザに入力し、ログイン画面を開きます。
-
SSOでログインボタンをクリックします。
-
手順1. で作成したユーザーのユーザー名およびパスワードを入力してサインインボタンをクリックします。
-
oktaパスワードが失効していますダイアログが表示された場合は、新しいパスワードとパスワードを再入力してくださいにパスワードを入力して、パスワード変更ボタンをクリックします。
ここで入力したパスワードは仮パスワードになります。
-
ホーム>Settings>個人設定>プロファイルをクリックします。
-
プロファイル画面で、ユーザーの権限が“メンバー”となっていることを確認します。
-
HULFT10 for Container Platformの管理画面からログアウトします。
-
SSOプロバイダからログアウトするため、WebブラウザのCookieを削除します。
以下の手順で、ユーザーの権限を“メンバー”から“転送コンテナ”に変更します。
-
HULFT10 for Container PlatformのログインリダイレクトURLをWebブラウザに入力し、ログイン画面を開きます。
-
管理者ユーザーの作成で作成した管理者ユーザーのユーザー名およびパスワードを入力してサインインボタンをクリックします。
-
ホーム>Settings>ユーザー設定>ユーザー管理をクリックします。
-
ユーザー管理の一覧から、転送コンテナユーザーとして作成したユーザーのユーザーIDをクリックします。
-
ユーザー管理画面で、以下を設定します。
表3.8 設定内容
項目名
設定内容
メールアドレス
「ユーザーID」と同じメールアドレスを指定
ユーザーの権限
転送コンテナ
その他の項目の設定は任意です。
-
保存をクリックします。
ユーザーの権限が“メンバー”から“転送コンテナ”に変更されました。
アクセストークンを取得する手順は以下のとおりです。
-
ユーザー管理の一覧から、ユーザーの権限を“メンバー”から“転送コンテナ”に変更したユーザーのユーザーIDをクリックします。
-
転送コンテナユーザーのユーザー管理画面でアクセストークンを発行ボタンをクリックします。
-
アクセストークンの発行ダイアログで、アクセストークンを発行ボタンをクリックします。
-
アクセストークンの発行ダイアログに表示されたアクセストークンをコピーします。
-
OKボタンをクリックします。
アクセストークンを取得しました。
アクセストークンの登録
転送コンテナでアクセストークンを使用できるようにする手順については、「アクセストークンを使用した認証の設定」の「アクセストークンをSecretに登録」を参照してください。
転送コンテナの再起動
登録したアクセストークンを転送コンテナで使用するためには、転送コンテナの再起動が必要です。
転送コンテナを再起動する手順については、「アクセストークンを使用した認証の設定」の「転送コンテナの再起動」を参照してください。
以上で、SAMLを使用したSSO設定が完了です。