MSADフェデレーション・サービスを使用したシングル・サインオン

Essbaseで、Microsoft Active Directory (MSAD)フェデレーション・サービス(FS)のシングル・サインオン(SSO)を使用できるようにすることができます。

  • EssbaseをMSADに統合する必要があります。「Microsoft Active Directoryを使用するためのWebLogicの統合」の手順を実行してください。なお、このシングル・サインオンのトピックでは、明示的なロール割当ては不要です。これは、すでに前提条件のWebLogic統合で対処されているためです。
  • WebLogic管理対象サーバーをSSL対応にする必要があります。保護できるのはHTTPS URLのみです。このタスクは次に示すステップに含まれています。
  • EssbaseでMSADフェデレーション・サービスを使用してシングル・サインオンを使用できるようにする次のタスクは、示された順序で実行する必要があります。

パートA - Active Directoryフェデレーション・サービス(ADFS)の起動とフェデレーション・メタデータXMLのダウンロード

  1. ADFSを実行しているMicrosoft Windowsシステムに接続し、ADFS管理インタフェースを起動します。これにより、クライアント・コンピュータでSSOアクセスが可能になります。起動後にソース・システムに戻ります。
  2. Essbaseローカル・システムから、次のサンプル・リンクを使用してADFSメタデータをダウンロードします。
    https://<ADFS_hostname>/federationmetadata/2007-06/federationmetadata.xml
    このメタデータは、WebLogicをADFSに統合するために必要です。
  3. federationmetadata.xmlを編集して、WebLogicで認識されない次のタグを削除します。子タグを含むタグ全体を削除してください。
    • <ds:Signaturexmlns:ds="http://www.w3.org/2000/09/xmldsig#"> .......... </X509Data></KeyInfo></ds:Signature>
    • <RoleDescriptor xsi:type="fed:ApplicationServiceType" ........... </EndpointReference></fed:PassiveRequestorEndpoint></RoleDescriptor>
    • <RoleDescriptor xsi:type="fed:SecurityTokenServiceType" ........... </EndpointReference></fed:PassiveRequestorEndpoint></RoleDescriptor>
    • <SPSSODescriptor WantAssertionsSigned="true" protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol"> ........... </SPSSODescriptor>

パートB - サービス・プロバイダ(SP) SSOの構成

  1. SSLを有効にします。
    1. WebLogic管理コンソールで、「myrealm」>「プロバイダ」>「環境のサマリー」>「サーバーのサマリー」>「essbase_server1」に移動します(Essbaseサーバーの設定ページ)。
    2. 「構成」タブ→「一般」タブに移動し、「SSLリスニング・ポートの有効化」チェック・ボックスを選択します。
    3. SSLリスニング・ポートを指定します。
    4. 「保存」をクリックします。
    5. 「プロトコル」→「HTTP」タブに移動し、フロントエンド・ホスト、HTTPポート、HTTPSポートの詳細を指定します。
    6. 変更を保存し、アクティブ化します。
  2. アイデンティティ・アサーション・プロバイダを作成します。
    1. 「セキュリティ・レルム」→「myrealm」→「プロバイダ」に移動します。
    2. ロックして編集を選択します。
    3. 「新規」をクリックし、新しいSAML2IdentityAsserter (saml_IAなど)を作成します。
  3. 新しい認証プロバイダを作成します。
    1. プロバイダ名(saml_IAなど)を入力することで新しいプロバイダを入力します。
    2. 新しいプロバイダ・タイプ(SAMLAuthenticatorなど)を選択し、「OK」をクリックします。
    3. 新規に作成したプロバイダをクリックし、「制御フラグ」の値を選択して「SUFFICIENT」に変更します。
    4. 変更を保存します。
  4. 「myrealm」→「プロバイダ」で、プロバイダの順序を変更します。次に例を示します:
    セキュリティ認証プロバイダ・リストのイメージ

  5. 「すべての変更」をクリックして、WebLogic管理サーバーおよび管理対象サーバーをアクティブ化して再起動します。
  6. WebLogicが再起動されたら、WebLogic管理コンソールにログインし、「環境」>「サーバー」>「essbase_server1」>「フェデレーション・サービス」>「SAML 2.0サービス・プロバイダ」に移動します。
  7. ロックして編集をクリックします。
  8. 「有効」を選択します。
  9. デフォルトURLを次のように指定します。
    https://<your-essbase-host>:<your Essbase SSL port>/essbase/jet/
    「優先バインド」「POST」に設定されていることを確認し、「保存」をクリックします。
  10. 「サーバー」→「essbase_server1」→「フェデレーション・サービス」→「SAML 2.0全般」で、次の詳細を指定します。
    1. 連絡先の詳細。ADFSで追加するときは、他の登録と競合しないようにしてください。
    2. 公開されるサイトURLは次のようになります。
      https://<Managed_server_host>:<Managed_Server_SSL_Port>/saml2
    3. エンティティIDを<wls_sp_for_adfs_hostname>とします。ADFSで追加するときは、必ず一意の名前を指定して他の登録と競合しないようにしてください。
  11. 「変更のアクティブ化」をクリックします。
  12. 「メタ・データの公開」をクリックし、ファイルをディレクトリに保存します。このファイルはADFSに登録する必要があります。ADFSが配置されているシステムにspd.xmlファイルをコピーします。
  13. WebLogic ServerでADFSを登録するには、ダウンロードしたfederationmetadata.xmlファイル(手順Aで生成したもの)をADFSマシンからWebLogic Serverマシンにコピーします。これにはWebLogic AdminServerからアクセスできる必要があります(例: /scratch/user/federationmetadata.xml)。
  14. 「セキュリティ・レルム」→「myrealm」→「プロバイダ」→「認証」→「saml_IA Management」→「新規」→「新規Webシングル・サインオンのアイデンティティ・プロバイダ・パートナ」に移動します。
  15. 「WebSSO-IdP-Partner-0」をクリックし、次の情報を入力します:
    1. 説明: 名前と同じ値を入力します。
    2. 次のリダイレクトURIを入力します。
      
      /essbase/jet/*
      /essbase/smartview
      /essbase/smartview/*
      /essbase/smartview*
      /essbase/ui
  16. ./Oracle/domains/esscs/bin/setDomainEnv.shを編集して、JVM引数EXTRA_JAVA_PROPERTIESに-DLOGOUT_URLを追加します: EXTRA_JAVA_PROPERTIES="<Extra_Java_Properties> -DLOGOUT_URL=https://MSAD-Host/adfs/ls/?wa=wsignout1.0" export <Extra_Java_Properties>

    注意:

    Essbaseプラットフォームでは、<DOMAIN HOME>/binに、環境およびEssbase機能の動作をカスタマイズできるスクリプトが含まれています。ただし、これらのドメイン環境または起動スクリプトを変更すると、起動の失敗など、意図しない影響が生じる可能性があります。最初にテスト環境で変更を加えることをお薦めします。これらのスクリプトを編集する前に、必ず次のことを実行してください:

    1. <DOMAIN HOME>/esstools/bin/stop.sh (Linuxの場合)または<Domain Home>\esstools\bin\stop.cmd (Windowsの場合)を使用してEssbase管理対象サーバーを停止します。

    2. <DOMAIN HOME>/binで、編集するファイルのバックアップ・コピーを作成します。例:

      Linuxの場合

      cp setStartupEnv.sh setStartupEnv_bak.sh

      Windowsの場合

      copy setStartupEnv.cmd setStartupEnv_bak.cmd
    3. Oracleのドキュメントに記載されている手順のみを使用するか、Oracleサポートと連携して、慎重に編集してください。

    4. <DOMAIN HOME>/esstools/bin/start.sh (Linuxの場合)または<Domain Home>\esstools\bin\start.cmd (Windowsの場合)を使用してEssbaseを再起動します。起動が正常に完了したことを確認します。

  17. 変更内容をアクティブ化したら、WebLogic AdminServerおよび管理対象サーバーを再起動します。

パートC - ADFS IDPの構成

  1. ADFS管理インタフェースを実行しているADFSシステムに移動します。「信頼関係」→「証明書利用者信頼」で、右クリックして「証明書利用者信頼の追加...」を選択します。
  2. 「開始」をクリックします。
  3. 「証明書利用者についてのデータをファイルからインポートする」オプションで、WebLogicからダウンロードするフェデレーション・メタデータ・ファイルspd.xmlの場所を参照し、「次へ」をクリックします。
  4. 表示名を指定し、「次へ」をクリックします。
  5. 「現時点ではこの証明書利用者信頼に多要素認証を構成しない」を選択し、「次へ」をクリックします。
  6. デフォルト・オプションを受け入れて、「次へ」をクリックします。
  7. 「ウィザードの終了時にこの要求プロバイダ信頼の [要求規則の編集] ダイアログを開く」チェック・ボックスを選択します。
  8. 「要求規則の編集」ダイアログで、「規則の追加」をクリックします。
  9. 規則テンプレート「LDAP属性を要求として送信」を選択します。
  10. 次の情報を入力します。
    1. 「要求規則名」「Name」と入力します。
    2. 「属性ストア」「Active Directory」を選択します。
    3. 「LDAP属性」「SAM-Account-Name」を選択します。
    4. 「出力方向の要求の種類」「名前ID」を選択します。
  11. 「終了」をクリックします。
  12. 同じようにしてもう1つ規則を追加します: 「要求規則名」に「GivenName」、「属性ストア」に「Active Directory」、「LDAP属性」に「Given-Name」、「出力方向の要求の種類」に「Given Name」をそれぞれ指定し、「完了」をクリックします。
  13. 「要求規則の編集」ダイアログで「適用」をクリックし、ダイアログを閉じます。
  14. 新規に追加した証明書利用者信頼をダブルクリックし、「詳細設定」タブに移動します。「セキュア ハッシュ アルゴリズム」で、「SHA-1」を選択します。
  15. 「エンドポイント」→「SAMLの追加」の順にクリックし、次に示す詳細を入力します。
    1. エンドポイントの種類: SAMLログアウト
    2. バインディング: POST
    3. 信頼されたURL: (次の形式で) https://host:port/adfs/ls/?wa=wsignout1.0
  16. 上記パートB - サービス・プロバイダ(SP) SSOの構成のステップ10cで入力したエンティティIDを記録します。power shellを開き、次のコマンドを実行します。
    set-AdfsRelyingPartyTrust -targetIdentifier <Entity ID> -SigningCertificateRevocationCheck None -EncryptionCertificateRevocationCheck None

    これで設定は完了です。

パートD - MSAD FSシングル・サインオンのテスト

  1. HTTPS URLでEssbaseを起動します(例: https://host:port/essbase/jet)。
  2. Essbaseユーザー・インタフェースの右上隅にMSADユーザーが表示されるはずです。

    ノート:

    ログアウト後にブラウザ・セッションが終了した(削除された)場合は、ブラウザを再起動して別のユーザーとしてログインしてください。