Oracle Access Management Identity Federationサービスを使用したシングル・サインオン
Essbase On-Premiseで、Oracle Access Management Identity Federationサービス(FS)のシングル・サインオン(SSO)を使用できるようにすることができます。ここでは、サービス・プロバイダ(SP)としてのWebLogicと併用するために、Oracle Access Management Identity Federationをアイデンティティ・プロバイダ(IDP)として構成する方法について説明します。
- フェデレーション・サービスが有効になっているOracle Access Manager (OAM)環境が必要です。OAMはLDAPディレクトリ(OUD、OID、ADなど)に統合されます。ここでは、OAMがOIDに統合されます。
- Essbaseをインストールしておく必要があります。
- EssbaseでOracle Access Management Identity Federationサービスを使用してシングル・サインオンを使用できるようにする次のタスクは、示された順序で実行する必要があります。
パートA - SP構成用のIDPメタデータの取得
- OAMコンソールにログインし、「構成」→「使用可能なサービス」に移動します。
- Identity Federationが有効になっていなければ有効にします。
- 「構成」→「設定」→「表示」→「フェデレーション」に移動します。
- 「SAML 2.0メタデータのエクスポート」をクリックしてIDPメタデータをダウンロードします。
- メタデータ・ファイルを
oam_fed_idp_metadata.xml
として保存します。これで、このファイルを使用してWebLogicにOAMをIDPとして登録できます。 oam_fed_idp_metadata.xml
を編集して<md:RoleDescriptor ... </md:RoleDescriptor
タグを削除し、ファイルを保存します。このタグはWebLogicでサポートされません。
パートB - WebLogicサービス・プロバイダ(SP)の構成
- SSLを有効にします。
- WebLogicコンソールで、ドメイン構造から「環境」→「サーバー」→「essbase_server1」→「構成」→「一般」に移動します。「リスニング・ポートの有効化」チェック・ボックスを選択し、管理対象サーバーのポート番号を指定します。
- 管理対象サーバー上のHTTPプロトコルに対してSSLを有効にします。ドメイン構造から、「環境」→「サーバー」→「essbase_server1」→「プロトコル」→「HTTP」に移動します。「SSLリスニング・ポートの有効化」チェック・ボックスを選択し、ポート番号を指定します。
- 「セキュリティ・レルム」→「myrealm」→「構成」→「General」タブに移動します。「セキュリティ・モデル」を「詳細」に設定します。
- WebLogic管理コンソールを使用してアイデンティティ・アサーション・プロバイダを作成します。
- WebLogicコンソールにログインします。
- 「ホーム」→「セキュリティ・レルムのサマリー」→「myrealm」→「プロバイダ」に移動します。
- 「新しい認証プロバイダの作成」をクリックします。
- 「OK」をクリックします。
- プロバイダ名として「SAML-IA」を入力し、タイプ「SAML2IdentityAsserter」を選択します。
- 「OK」をクリックします。
- 新しいSAML認証プロバイダを作成します。
- 「ホーム」→「セキュリティ・レルムのサマリー」→「myrealm」→「プロバイダ」に移動します。
- 「新しい認証プロバイダの作成」をクリックします。
- 「OK」をクリックします。
- プロバイダ名として「SAML-auth」と入力し、タイプ「SAMLAuthenticator」を選択します。
- 「OK」をクリックします。
- 前のステップで作成したオーセンティケータに対し、「制御フラグ」の値を「SUFFICIENT」に変更します。
- 「ホーム」→「セキュリティ・レルムのサマリー」→「myrealm」→「プロバイダ」→「SAML-auth」に移動します。
- 「構成」→「共通」で、「制御フラグ」を「SUFFICIENT」に設定します。
- 「保存」をクリックします。
- 新しいOID認証プロバイダを作成します。
- 「ホーム」→「セキュリティ・レルムのサマリー」→「myrealm」→「プロバイダ」に移動します。
- 「新しい認証プロバイダの作成」をクリックします。
- 「OK」をクリックします。
- プロバイダ名として「oid-auth」と入力し、タイプ「OracleInternetDirectoryAuthenticator」を選択します。
- 「OK」をクリックします。
- 追加したOID認証プロバイダに対して「制御フラグ」を「SUFFICIENT」に変更し、「保存」をクリックします。
- 「プロバイダ固有」タブを選択し、OIDサーバーの詳細を入力します。OIDサーバーの詳細は、OAMコンソールの「ユーザー・アイデンティティ・ストア」セクションで確認します。
- OAMコンソールで「構成」→「ユーザー・アイデンティティ・ストア」に移動し、OIDストアをクリックします。
- OID認証プロバイダの「プロバイダ固有」セクションで、次のセクションを適切な値で更新します。
- 「接続」セクション:
- ホスト: OIDサーバーのホスト名を入力
- プリンシパル: cn=orcladmin,cn=users,dc=us,dc=oracle,dc=com
- 資格証明/資格証明の確認: 資格証明を入力
- ユーザー: ユーザー・ベースDN: cn=users,dc=us,dc=oracle,dc=com
- グループ: グループ・ベースDN: cn=groups,dc=us,dc=oracle,dc=com
- 取得したユーザー名をプリンシパルとして使用する: 選択
- 「接続」セクション:
- 他のフィールドのデフォルト値を受け入れ、すべての変更を保存します。
- 管理対象サーバーに対してフェデレーションを有効にします。
- 「ホーム」→「環境」→「サーバー」→「essbase_server1」→「構成」→「フェデレーション・サービス」に移動します。
- 「SAML 2.0サービス・プロバイダ」タブで、「有効」オプションを選択し、「デフォルトURL」を次のように指定します。
残りのフィールドのデフォルト値を受け入れ、保存します。https://Essbase-Host:Essbase-Managed Server-SSL-Port/essbase/jet
- IDP構成用のSPメタデータを取得します。「SAML 2.0全般」タブで、適切な値を指定し、保存します。
- 変更が保存されたら、SPメタデータをXMLファイル(
sp_metadata.xml
など)にエクスポートします。 - 「メタ・データの公開」をクリックします。
- OAMボックスからコピーしたoam_fed_idp_metadata.xmlファイルを使用して、WebLogic上にIDPパートナを作成します。
- 「セキュリティ・レルム」→「myrealm」→「プロバイダ」→「認証」→「saml_IA」→「管理」→「新規」→「新しいWebシングル・サインオンのアイデンティティ・プロバイダ・パートナ」(WebSSO-IdP-Partner-oamなど)に移動します。
oam_fed_idp_metadata.xml
ファイルを選択し、「OK」をクリックします。- IDPパートナを有効にするために、「WebSSO-IdP-Partner-oam」をクリックし、「有効」チェック・ボックスを選択し、リダイレクトURLを指定します。
- OAMコンソールでIDPを構成します。
- 「フェデレーション」→「アイデンティティ・プロバイダ管理」に移動します。
- 「サービス・プロバイダ・パートナの作成」をクリックします。
- 名前を入力します。
- 「パートナの有効化」が選択されていることを確認します。
- SAML 2.0をプロトコルとして受け入れます(デフォルト)。
- WebLogic (SP)からダウンロードしたメタデータ・ファイルを選択します。
- 「名前IDフォーマット」の設定を指定します。
- NameIDフォーマットとして「未指定」を選択します。
- 「ユーザーIDストア属性」をNameID値として選択します。
- ユーザーの識別子が含まれているLDAPユーザー・レコードにユーザー属性を入力します。ユーザー・データ・ストアはOracle Internet Directory、属性は
uid
です。
パートC - ロールの割当て
OID統合後は、組込みLDAPユーザー(WebLogicなど)がEssbaseインタフェースにログインできなくなります。実行できるのはREST/MaxL操作のみとなります。組込みLDAP管理ユーザーとして、RESTを使用してEssbaseのロールをOIDユーザーに割り当てます。OIDユーザーは、ロールが割り当てられるまでEssbaseにログインできません。
少なくとも1人のOIDユーザー(管理)にロールが割り当てられると、そのOIDユーザーはEssbaseにログインし、インタフェースを通じて他のユーザーに直接ロールを割り当てることができます。
RESTベースの割当ての例を次に示します: curl --insecure -X PUT -u weblogic:samplepass "http://host:9000/essbase/rest/v1/permissions/user1" -H "accept: application/json" -H "Content-Type: application/json" -d "{ \"links\": [ { \"rel\": \"string\", \"href\": \"string\", \"method\": \"string\", \"type\": \"string\" } ], \"id\": \"user1\", \"name\": \"user1\", \"role\": \"service_administrator\", \"group\": false}"
パートD - OAM FSシングル・サインオンのテスト
https://<essbase_vm>:<sslportno>/essbase/jet
リクエストがOAM Federationログイン・ページにリダイレクトされます。ノート:
ログアウトの問題が発生する場合は、ログアウト・アクションを完了するためにブラウザを閉じます。