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

この記事では、SAML 2.0プロトコルを使用して、OAM (11.1.2.2.0以上)をフェデレーションSSO用の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. 「適用」をクリックします。

図Enabling_SSL.jpgの説明

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

強力な暗号化

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

法的エクスポートの理由から、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を使用している場合:

    1. http://www.oracle.com/technetwork/java/javase/downloads/index.html
  6. JDK 6を使用している場合:

    1. 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ファイルが上書きされます)。

  9. $JDK_HOME/jre/lib/security/

  10. WLSドメインでWLSサーバーを再起動して変更を適用します。
  11. SAMLアサーションをSPに送信するときに暗号化を無効にするようにADFSを構成するには、次のステップを実行します。

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

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

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

    2. 次のコマンドを実行します(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:adfsport/FederationMetadata/2007-06/FederationMetadata.xml

    1. ブラウザの「名前を付けて保存」ボタンを使用して、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を参照してください。