IdPでの認証

この記事では、OAMがIdPとして機能する場合の認証、および特定のOAM認証スキームを使用してユーザーにチャレンジするようにサーバーを構成する方法について説明します。IdPとして機能するOAM 11gR1とOAM 11gが統合されている場合、OAMはWebGateを使用してユーザー認証をOAMに委任していました。

ノート: 構成の高度な性質を考慮すると、OAM認証設定はOAM WLSTコマンドを介してのみ管理できます。

概要

OAMの11.1.2.2.0以降のリリースでは、OAM J2EE WebアプリケーションとOAM J2EE Webアプリケーションは、スタンドアロンWLSインスタンスにデプロイされているのと同じOAM J2EE EARアプリケーションに含まれています。このデプロイメント・アプローチにより、2つのモジュールは受信ユーザーのHTTPリクエストをOAMからOAMに内部的に転送でき、逆も同様です。これにより、IdPアプリケーションは、チャレンジしてユーザーを識別するローカルOAM認証操作をトリガーできます。実行時に、フェデレーション操作のIdPで認証が必要な場合、IdPは次のことを行います。

設定のテスト

次のテスト環境を使用します。

複数のテスト・ケースを実行します。

テスト#1:

テスト#2:

ノート: IdPでHTTP Basic認証を使用する場合は、OAMが実行されているWebLogicドメインを構成して、セキュアでないリソースのHTTP Basic認証を検証しないようにする必要があります。

HTTP Basic認証

デフォルトでは、ブラウザがHTTP Basic認証の資格証明をOAMに送信する場合、WLSサーバーは、OAMにリクエストを処理させる前にそれらを検証しようとします。これにより、特にOAMで作成された各アイデンティティ・ストアのWLS LDAPオーセンティケータでWLSドメインが構成されていなかった場合に、認証が失敗する可能性があります。

ノート: WLSドメインが、OAMで作成された各アイデンティティ・ストアに対してWLS LDAPオーセンティケータを持つように正しく構成されていても、2つの認証操作が発生します。1つはWLS、もう1つはOAMがOAMセッションを作成するために必要な認証操作です。

OAMが実行されているWLSドメインの[保護されていないアプリケーション]{.underline}に送信されたHTTP Basic認証資格証明の自動検証を無効にできます。詳細は、『Oracle Fusion Middleware Oracle WebLogic Serverセキュリティ・プログラミング』ガイドの保護されていないリソースによるBASIC認証に関する項を参照してください。WLSドメインで[保護されていないアプリケーション]{.underline}に送信されたHTTP Basic認証資格証明の自動検証を無効にするには、次のステップを実行します。

  1. $IAM_ORACLE_HOME/common/bin/WLST.shを実行して、WLST環境を入力します。
  2. WLS管理サーバー(connect())に接続します。
  3. 編集セッションを開始します: edit() startEdit()
  4. SecurityConfigurationノードcd('SecurityConfiguration')にナビゲートします。
  5. ドメインに移動します(DOMAIN_NAMEは、OAMがインストールされているWLSドメインの名前に置き換えます): cd('DOMAIN_NAME')
  6. 保護されていないアプリケーションに送信されるHTTP Basic認証資格証明のトマティック検証を無効にするには、EnforceValidBasicAuthCredentials設定をfalseに設定します: set('EnforceValidBasicAuthCredentials', 'false')
  7. 変更を保存します: save() activate()
  8. 変更を有効にするためにWLSドメイン内のサーバーを再起動します

グローバル・デフォルト認証

最初のステップは、SAML 2.0 SSOのIdPでSPパートナを作成して構成することです。これを設定すると、IdPのSPパートナーのリストは次のようになります。

図accessmanagement.jpgの説明

IdPを使用してAcmeSPまたはHRspのいずれかを含むフェデレーションSSOを実行すると、OAMサーバーは、LDAPScheme OOTBとして構成されたデフォルトのグローバル認証スキームを使用してユーザーにチャレンジします。

図accessmanager.jpgの説明

デフォルトのグローバル認証スキームをBasicSchemeに切り替えるには、OAM WLSTのsetIdPDefaultScheme()コマンドを使用して、デフォルトとして使用するスキームを指定します。

  1. \$IAM_ORACLE_HOME/common/bin/WLST.shを実行して、WLST環境を入力します。

  2. WLS管理サーバー(connect())に接続します。

  3. ドメイン・ランタイム・ブランチdomainRuntime()に移動します

  4. setIdPDefaultScheme()コマンドsetIdPDefaultScheme("BasicScheme")を実行します

  5. WLST環境を終了します。exit() IdPを使用してAcmeSPまたはHRspのいずれかを含むフェデレーションSSOを実行すると、OAMサーバーはLDAPSchemeではなくOAM BasicSchemeを使用してユーザーにチャレンジします。

    図windowssecurity.jpgの説明

デフォルトのグローバル認証スキームをLDAPSchemeに切り替えるには、次の操作を実行します:

  1. \$IAM_ORACLE_HOME/common/bin/WLST.shを実行して、WLST環境を入力します。
  2. WLS管理サーバー(connect())に接続します。
  3. ドメイン・ランタイム・ブランチdomainRuntime()に移動します
  4. setIdPDefaultScheme()コマンドsetIdPDefaultScheme("LDAPScheme")を実行します
  5. WLST環境を終了します: exit()

IdPを使用してAcmeSPまたはHRspのいずれかを含むフェデレーションSSOを実行すると、OAMサーバーはLDAPSchemeを介してユーザーにチャレンジします。

SPパートナ・プロファイル認証

前のテスト・ケースから、設定は次のとおりです。

新しいSPパートナ・プロファイルを使用するようにHRspを構成するには、次のコマンドを実行します。

  1. \$IAM_ORACLE_HOME/common/bin/WLST.shを実行して、WLST環境を入力します。
  2. WLS管理サーバー(connect())に接続します。
  3. ドメイン・ランタイム・ブランチdomainRuntime()に移動します
  4. デフォルトのSAML 2.0 SPパートナ・プロファイル(createFedPartnerProfileFrom("new-saml20-pp", "saml20-SP-partner-profile"))から新しいSPパートナ・プロファイルを作成します。
  5. HRspパートナを新規SPパートナ・プロファイルにバインドします: setFedPartnerProfile("HRsp", "SP", "newsaml20-pp")
  6. WLST環境を終了します: exit()

この時点で、IdPを使用してAcmeSPまたはHRspのいずれかを含むフェデレーションSSOを実行すると、OAMサーバーはLDAPSchemeを介してユーザーにチャレンジします。新しいSPパートナ・プロファイルをデフォルトの認証スキームとしてBasicSchemeを使用するように構成するには、OAM WLSTのsetSPPartnerProfileDefaultScheme()コマンドを使用します。

  1. \$IAM_ORACLE_HOME/common/bin/WLST.shを実行して、WLST環境を入力します。
  2. WLS管理サーバー(connect())に接続します。
  3. ドメイン・ランタイム・ブランチdomainRuntime()に移動します
  4. 新しいSPパートナ・プロファイルのデフォルトの認証スキームをBasicSchemeに設定します: setSPPartnerProfileDefaultScheme("newsaml20-pp", "BasicScheme")
  5. WLST環境を終了します: exit()

次を使用してフェデレーションSSOを実行します。

HRspをデフォルトのSPパートナ・プロファイルに戻し、このテストで作成したSPパートナ・プロファイルを削除します。

  1. \$IAM_ORACLE_HOME/common/bin/WLST.shを実行して、WLST環境を入力します。
  2. WLS管理サーバー(connect())に接続します。
  3. ドメイン・ランタイム・ブランチdomainRuntime()に移動します
  4. HRspパートナをデフォルトのSPパートナ・プロファイルにバインドします: setFedPartnerProfile("HRsp", "SP", "saml20-SP-partner-profile")
  5. 新しいSPパートナ・プロファイルを削除します: deleteFedPartnerProfile("new-saml20-pp")
  6. WLST環境を終了します: exit()

これらのコマンドを実行した後、IdPを使用してAcmeSPまたはHRspのいずれかを含むフェデレーションSSOを実行すると、OAMサーバーはLDAPSchemeを介してユーザーにチャレンジします。

SPパートナ認証

前のテスト・ケースから、設定は次のとおりです。

BasicSchemeを認証スキームとして使用するようにデフォルトのSAML 2.0 SPパートナ・プロファイルを構成するには、次の操作を実行します。

  1. \$IAM_ORACLE_HOME/common/bin/WLST.shを実行して、WLST環境を入力します。
  2. WLS管理サーバー(connect())に接続します。
  3. ドメイン・ランタイム・ブランチdomainRuntime()に移動します
  4. 新しいSPパートナ・プロファイルのデフォルトの認証スキームをBasicSchemeに設定します: setSPPartnerProfileDefaultScheme("saml20-sppartner-profile", "BasicScheme")
  5. WLST環境を終了します: exit()

この時点で、IdPを使用してAcmeSPまたはHRspのいずれかを含むフェデレーションSSOを実行すると、OAMサーバーはBasicSchemeを介してユーザーにチャレンジします。デフォルトの認証スキームとしてLDAPSchemeを使用するようにAcmeSP SPパートナを構成するには、OAM WLSTのsetSPPartnerDefaultScheme()コマンドを使用します。

  1. \$IAM_ORACLE_HOME/common/bin/WLST.shを実行して、WLST環境を入力します。
  2. WLS管理サーバー(connect())に接続します。
  3. ドメイン・ランタイム・ブランチdomainRuntime()に移動します
  4. AcmeSP SPパートナのデフォルトの認証スキームをLDAPSchemeに設定します: setSPPartnerDefaultScheme("AcmeSP", "LDAPScheme")
  5. WLST環境を終了します: exit()

次を使用してフェデレーションSSOを実行します。

異なる認証レベルを介した認証のステップアップ

前のテスト・ケースから、設定は次のとおりです。

OOTB: LDAPSchemeBasicSchemeの両方の認証レベルが2に設定されます。LDAPSchemeの認証レベルを3に変更するには、次の操作を実行します。

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

  2. 「アクセス・マネージャ」「認証スキーム」にナビゲートします

  3. 「検索」をクリックしてLDAPSchemeを選択します。

  4. 認証レベルを3に設定する

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

    図Authenticationlevel.jpgの説明

これらの変更後、ユーザーがすでにOAMで認証されていて、ユーザーがIdPを使用してフェデレーションSSO操作を実行した場合、OAMは、最初の場所でユーザーを認証するために使用されたスキームが、フェデレーションSSOが実行されている現在のSPパートナに対して構成されたスキームよりも高いレベルまたは等しいレベルを持つことを確認します。例:

その他の学習リソース

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

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