ADFS 2.0および3.0とOAMの統合: 前提条件

この記事では、SAML 2.0プロトコルを使用して、フェデレーションSSO用にOAMをADFS 2.0/3.0と統合する方法について説明します。インテグレーションには、次のものが含まれます。

SAML 2.0統合は、次の内容に基づいています。

ADFS 2.0はWindows 2008 R2で使用でき、ADFS 3.0はWindows 2012 R2で使用できます。この記事では、ADFS 3.0のスクリーンショットを紹介していますが、文書化されたステップは両方のバージョンに適用されます。

前提条件

SAML 2.0プロトコルを使用してADFSと統合するには、HTTPS/SSLをエンドポイントとして使用するようにOAMを構成する必要があります。そうしないと、フェデレーション・トラストを確立する際に、ADFSはOAM SAML 2.0 Metadataを受け入れません。

ADFSをIdPとしてOAMをSPとして統合する場合は、次の点を考慮する必要があります。

ノート: これは、HTTP Basic認証を使用してユーザーにチャレンジする他のIdPsに適用されます。

最後に、SAML 2.0用にOAMおよびADFSを統合する前に、2つのサーバーのメタデータをダウンロードしておく必要があります。

SSLの有効化

OAMのパブリック・エンドポイントでSSLを有効にする方法はいくつかあります。

コンポーネント(ロード・バランサ、OHSまたはWLS)がSSL用に構成されると、新しいエンドポイントをそのパブリックURLとして参照するようにOAM構成を更新する必要があります。

  1. OAM管理コンソールに移動します: http(s)://OAM-admin-host:OAM-adminport/oamconsole

  2. 「構成」「Access Managerの設定」にナビゲートします。

  3. OAMサーバー・ホストをパブリック・エンドポイントのホスト名に設定します

  4. OAMサーバー・ポストをパブリック・エンドポイントのSSLポートに設定します

  5. OAMサーバー・プロトコルをhttpsに設定します

  6. 「適用」をクリックします

図Access_Manager_Settings.jpgの説明

ノート: これらの変更を行った後、OAM SAML 2.0 Metadataを取得すると、新しいhttps URLが含まれます。

強力な暗号化

前述のように、ADFS IdPは、デフォルトでSAMLアサーションをSPに送信するときに、Javaによって強力な暗号とみなされるAES-256を使用して、SAMLアサーションを暗号化します(AES-128、AES-192、3DES...などの通常の強度とは異なります)。

法的エクスポートの理由から、JCEで強力な暗号を有効にしてJDKを出荷することはできません。 administrator/integrator/developerは、Java Cryptography Extension (JCE) Unlimited Strength Jurisdictionポリシーをダウンロードしてインストールする必要があります。

JCE Unlimited Strength Jurisdictionポリシー・ファイルを更新して、AES-256などの強力な暗号化をサポートするには、次のステップを実行します。

  1. OAMデプロイメントで使用される主要なJavaバージョンを確認します。

  2. OAM Executeで使用されるJDKフォルダ($JDK_HOME/bin/java -version)を見つけます。

  3. メジャー・バージョンが出力されます(6または7)。

  4. JCE Unlimited Strength Jurisdiction Policyをダウンロードします。

  5. JDK 7を使用している場合:

    • http://www.oracle.com/technetwork/java/javas%20/downloads/index.htm
  6. JDK 6を使用している場合:

    • http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archivedownloads-java-plat-419418.html
  7. ダウンロードしたZIPファイルの内容を一時フォルダにunzipします。

  8. 解凍されたlocal_policy.jarおよびUS_export_policy.jarファイルをコピーし、次のJDKのディレクトリ(この操作により、そのフォルダに存在するlocal_policy.jarおよびUS_export_policy.jarファイルが上書きされます): $JDK_HOME/jre/lib/security

  9. WLSドメインでWLSサーバーを再起動して変更を適用します。

SAMLアサーションをSPに送信するときに暗号化を無効にするようにADFSを構成するには、次のステップを実行します。

  1. ADFSがデプロイされているマシンに移動します。

  2. ADFS 2.0を使用する場合は、「スタート・メニュー」「プログラム」「管理ツール」「Windows PowerShellモジュール」をクリックします。

  3. ADFS 3.0を使用する場合は、「スタート」「メニュー」「管理ツール」「Active Directory Module for Windows PowerShell」の順にクリックします。

  4. 次のコマンドを実行します(RP_NAMEを、ADFSでのパートナの作成に使用されるSP名に置き換えます): set-ADFSRelyingPartyTrust –TargetName“RP_NAME” –EncryptClaims $False

ADFSログアウト

SAML 2.0プロトコルは、現在のユーザーのセッションのフェデレーションSSOに関係する各フェデレーション・パートナがユーザーのサインアウトを通知するログアウト・プロファイルを定義します。これにより、様々なフェデレーション・パートナがSSOドメイン内のユーザーのセッションを終了できます。

ADFS IdPには、フェデレーションSSOの実行時にユーザーを認証する様々な方法が用意されています。

ノート: ブラウザは資格証明を保持し、ブラウザがADFSにアクセスするたびに、ブラウザが閉じられるまでADFSサーバーに資格証明を提供します。

ユーザーの認証方法に応じて、SAML 2.0ログアウトの影響(または効果なし)を見てみましょう。

そのため、HTTP Basic認証またはIntegrated Windows認証がADFS 2.0 IdPで認証メカニズムとして使用されている場合、ログアウト後もユーザーはIdPに「ログイン」され、新しいフェデレーションSSOを実行すると、ユーザーがチャレンジされることはトリガーされず、フェデレーションSSOの実行後、ユーザーがSPで自動的に認証される結果になります。

重要なノート: ログアウトで表示される動作は、認証メカニズムとしてHTTP Basic認証を使用している他のIdPs (OAMなど)にも適用されます。

SAML 2.0 Metadata

ADFS 2.0/3.0サーバーからSAML 2.0 Metadataをダウンロードするには:

  1. ブラウザを開きます。

  2. ADFS 2.0/3.0 Metadataパブリッシュ・サービス(https://adfs-host:adfs-port/FederationMetadata/2007-06/FederationMetadata.xml)に移動します。

  3. ブラウザの「名前を付けて保存」ボタンを使用して、Metadataをローカルに保存します。

OAMからSAML 2.0 Metadataをダウンロードするには:

  1. ブラウザを開きます。

  2. OAM Metadataパブリッシュ・サービス(http(s)://oam-runtime-host:oam-runtimeport/oamfed/idp/metadataまたはhttp(s)://oam-runtime-host:oam-runtimeport/oamfed/sp/metadata)に移動します。

  3. ブラウザの「名前を付けて保存」ボタンを使用して、Metadataをローカルに保存します。

ノート: メタデータにはOAM URLが含まれているため、まずOAMでSSLを有効にしてからOAMメタデータをダウンロードしてください。

SHA-256とSHA-1

OAMとADFS間のフェデレーションを設定した後、次のことを行う必要があります。

その他の学習リソース

docs.oracle.com/learnで他のラボを探すか、Oracle Learning YouTubeチャネルで無料のラーニング・コンテンツにアクセスしてください。また、education.oracle.com/learning-explorerにアクセスしてOracle Learning Explorerになります。

製品ドキュメントについては、Oracle Help Centerを参照してください。