OpenAMの使用
LiferayはOpenAMバージョン13のみをサポートしています。 OpenAM/OpenSSOの他のすべてのバージョンは、Liferay DXP 7.2で廃止予定になりました。
OpenAMは、SunのSystem Access Manager製品のコードベースから提供されるオープンソースのシングルサインオンソリューションです。 OpenAMを使用して、IDのさまざまなリポジトリに対するいくつかの異なる認証スキームを含むインフラストラクチャーにLiferay DXPを統合できます。
インストールに関する注記
ドキュメントの指示に従ってOpenAMをインストールしてください。 OpenAMはアプリケーション間のCookie共有に依存していることに注意してください。 したがって、OpenAMが機能するためには、 SSOを必要とするすべてのアプリケーションが同じWebドメインにある必要があります 。 一部のWebコンテナ(Apache Tomcat™など)が特殊文字を含むCookieを解析するためにHTTPOnly Cookieを有効にしている場合は、次のプロパティも追加する必要があります。
com.iplanet.am.cookie.encode=true
OpenAMは、Liferay DXPと同じサーバーまたは別のサーバーにインストールできます。 OpenAMサーバーのコンテキストパスとサーバーホスト名を必ず確認してください。
OpenAMをLiferay DXPと同じサーバーにインストールする場合は、 ここ からダウンロード可能なOpenAM .war
をデプロイする必要があります。 それ以外の場合は、 OpenAM 13サイト の指示に従ってOpenAMをインストールします。
OpenAM 12以下はLiferay DXPで動作しますが、サポートは終了しています。 このため、本番環境での使用にはOpenAM 13のみをお勧めします。
OpenAMの構成
インストールしたら、次の2つの手順を行います。
- OpenAMでLiferay DXP管理ユーザーを作成する
- 認証用にOpenAMを有効にする
ユーザーは画面名によって前後にマッピングされるため、OpenAMのユーザーIDをLiferay管理ユーザーの画面名と必ず一致させてください。 たとえば、Liferay DXP管理ユーザーのスクリーン名が admin の場合、 admin.email.from.address
ポータルプロパティで指定された admin のIDと電子メールアドレスを使用してOpenAMにユーザーを登録します。 ユーザーを設定したら、このユーザーを使用してOpenAMにログインします。
-
同じブラウザウィンドウで、管理ユーザーとして(以前の管理者の電子メールアドレスを使用して)Liferay DXPにログインします。
-
コントロールパネルに移動して、 [設定] → [Instance Settings] → [セキュリティ] → [SSO] をクリックします。 次に、左側のリストで [OpenSSO] を選択します。
-
OpenAMサーバーを指すように3つのURLフィールド([Login URL]、[Logout URL]、および[Service URL])を変更し(つまり、URLのホスト名部分のみを変更)、 [Enabled] チェックボックスをオンにして、 [保存] をクリックします。
Liferay DXPは、ユーザーが/c/portal/login
URLをリクエストすると(たとえば、 [Sign In] リンクをクリックしたとき)、ユーザーをOpenAMにリダイレクトします。
別のLiferayスコープでOpenAMを構成する
Liferay DXPのOpenAM構成は、システムスコープでもインスタンススコープでも適用できます。
システムスコープでOpenAM SSOモジュールを構成するには:
-
コントロールパネルに移動します。
-
[設定] → [システム設定] → [セキュリティ] → [SSO] → [OpenSSO] の順にクリックします。 以下の設定が表示されます。 ここで設定されている値は、すべてのポータルインスタンスのデフォルト値です。 リテラル値を使用してJavaプリミティブ型を初期化する場合と同じ形式で入力します。
プロパティラベル | プロパティキー | 説明 | 種類 |
---|---|---|---|
バージョン | version | 使用するOpenAMバージョン(12以下または13) | String |
有効 | enabled | OpenAM認証を有効にするには、このボックスをオンにします。 OpenAMは、LDAP認証も有効になっていて、Liferay DXPの認証タイプが画面名に設定されている場合にのみ機能することに注意してください。 | boolean |
LDAPからインポート | importFromLDAP | これをオンにすると、Liferay DXPに存在しないOpenAMから認証されたユーザがLDAPからインポートされます。 LDAPを有効にする必要があります。 | boolean |
ログインURL | loginURL | OpenAMサーバーのログインページへのURL | String |
ログアウトURL | logoutURL | OpenAMサーバーのログアウトページへのURL | String |
サービスURL | serviceURL | 認証されたWebサービスを使用するためにOpenAMにアクセスできるURL。 OpenAM Express 8以降を使用している場合は、サーバーでJava 6を実行する必要があります。 | String |
スクリーン名の属性 | screenNameAttr | ユーザーの画面名を表すOpenAM上の属性の名前 | String |
電子メール アドレス属性 | emailAddressAttr | ユーザーの電子メールアドレスを表すOpenAM上の属性の名前 | String |
名の属性 | firstNameAttr | ユーザーの名を表すOpenAM上の属性の名前 | String |
姓の属性 | lastNameAttr | ユーザーの姓を表すOpenAM上の属性の名前 | String |
特定のポータルインスタンスのこれらのデフォルト設定を上書きするには、コントロールパネルに移動して、 [設定] → [Instance Settings] → [セキュリティ] → [SSO] の順にクリックします。 次に、左側のリストで [OpenSSO] を選択します。