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
と入力する。 - [保存] をクリックします。
- 最後に、一般タブの 有効 チェックボックスにチェックを入れ、 保存 をクリックします。
サービス・プロバイダーの設定
-
サービスプロバイダとなる 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 による認証