SAMLによる認証
SAMLで認証する場合、Liferayはサービスプロバイダ(SP)またはIDプロバイダ(IdP)の役割を果たすことができる。 詳細は、 SAMLによる認証 (近日公開!) を参照のこと。
クラリティ・ビジョン・ソリューションズは、ファビュラス・フレームを買収することで成長を遂げました。 他の企業を買収する可能性を検討する中で、ITチームは、SAMLを利用してユーザー資格情報の保存と管理を一元化することを決定した。 以下の手順で、実際に見てみよう。
アイデンティティ・プロバイダーの設定
-
ID プロバイダとなる Liferay コンテナを起動します。
docker run -it -m 8g -p 7080:8080 \ --env LIFERAY_SETUP_PERIOD_WIZARD_PERIOD_ENABLED=true \ --name liferayidp liferay/dxp:latest -
管理者アカウントを設定する。
localhost:7080に移動する。- ファーストネームに「
Support」と入力。 - 苗字に
Supportと入力。 - メールには
support@clarityvisionsolutions.comと入力してください。 [Finish Configuration]をクリックします。- 次のページで、パスワードを
learnに設定する。 Saveをクリックする。
-
新しい ID プロバイダを設定する。
- Global Menu(
) → Control Panel → SAML Admin に移動する。 - general タブで、SAML ロールとして Identity Provider を選択する。
- エンティティIDを
liferayidpと入力する。 - [保存] をクリックします。
- 証明書と秘密鍵のセクションの下にある Create Certificate をクリックする。
- コモンネームは
fooと入力する。 - 下までスクロールしてください。 キーとなるパスワードを
learnと入力する。 - [保存] をクリックします。
- 最後に、一般タブの 有効 チェックボックスにチェックを入れ、 保存 をクリックします。
- Global Menu(
サービス・プロバイダーの設定
-
サービスプロバイダとなる Liferay コンテナを開始します。
docker run -it -m 8g -p 8080:8080 --name liferaysp liferay/dxp:latest -
localhost:8080にアクセスし、管理者としてログインする(例:test@liferay.com:test)。 なお、各コンテナには別のブラウザでアクセスする必要があるかもしれない。 -
Global Menu(
) → Control Panel → SAML Admin に移動する。 -
新しいサービスプロバイダを設定する。
- general タブで、SAML の役割として Service Provider を選択する。
- エンティティIDを
liferayspと入力する。 - [保存] をクリックします。
- 証明書と秘密鍵セクションの下にある Create Certificate をクリックする。
- コモンネームは
fooと入力する。 - 下までスクロールしてください。 キーとなるパスワードを
learnと入力する。 - [保存] をクリックします。
- 最後に、generalタブの下にある Enabled チェックボックスにチェックを入れ、Saveをクリックします。
SPとIdPの連携
liferaysp コンテナ (localhost:8080) で、 Global Menu(
) → Control Panel → SAML Admin に移動する。 Identity Provider Connections タブをクリックする。
-
IdP接続を作成する。
- Add Identity Provider をクリックする。
- 名前を
liferayidpと入力する。 - エンティティIDを
liferayidpと入力する。 - 有効 チェックボックスにチェックを入れる。
http://[IP Address]:7080/c/portal/saml/metadata.[IPアドレス]、マシンのローカルIPアドレスに置き換えてください。- 属性のマッピングで、ドロップダウンリストを使用し、
emailAddressを選択します。 SAML 属性をemailAddressとして設定する。 - (
) をクリックすると別のエントリーが表示されます。 ドロップダウンリストを使用し、 firstNameを選択します。 SAML 属性をfirstNameとして設定する。 - (
) をクリックすると別のエントリーが表示されます。 ドロップダウンリストを使用して、 lastNameを選択します。 SAML 属性をlastNameとして設定する。 - (
) をクリックすると別のエントリーが表示されます。 ドロップダウンリストを使用し、 screenNameを選択する。 SAML 属性をscreenNameとして設定する。 - (
) をクリックすると別のエントリーが表示されます。 ドロップダウンリストを使用して、 UUIDを選択します。 SAML 属性をUUIDとして設定する。 - ページの下部にある [保存] をクリックします。
-
次に、
liferayidpコンテナ (localhost:7080) で、 Global Menu(
) → Control Panel → SAML Admin に移動する。 Service Provider Connections タブをクリックします。-
Add Service Provider をクリックする。
-
名前を
liferayspと入力する。 -
エンティティIDを
liferayspと入力する。 -
有効 チェックボックスにチェックを入れる。
-
http://[IP Address]:8080/c/portal/saml/metadata.[IPアドレス]、マシンのローカルIPアドレスに置き換えてください。 -
名前識別子の属性名を
emailAddressと入力する。 -
Attributes Enabled チェックボックスにチェックを入れる。
-
属性テキストボックスに、以下の属性を入力する:
firstName lastName emailAddress screenName uuid -
ページの下部にある [保存] をクリックします。
-
SAML 接続のテスト
-
liferayspコンテナ(すなわちlocalhost:8080)で、 Global Menu(
) → Control Panel → Users and Organizations に移動する。 テスト管理者が唯一のユーザーであることに注意してください。 -
右上のユーザープロフィール画像をクリックし、 サインアウト をクリックします。 認証情報でサインイン
support@clarityvisionsolutions.com:learn.liferayidpコンテナがユーザーを検証し、ログインに成功したことに注意。
コースの残りの作業を容易にするために、この演習を完了したら SAML を無効にしてください。
次へ OAuth2 による認証