OAM IdPでのOAM認証前拡張ルールの使用

この記事では、次のユースケースを使用して、OAMとともにOAM認証拡張ルールをIdPとして使用する方法について説明します。

OAMの認証前拡張ルールの詳細は、『OAM管理者ガイド』を参照してください。

OAM認証拡張ルール

Oracle Access Managerの11.1.2.2.0リリースでは、認証ポリシーの拡張ルールが導入されました。

OAM認証拡張ルールで評価できるランタイム・データは、リクエスト、セッションまたはユーザー・データのいずれかに基づきます。

OAM管理者ガイドには、使用できる様々なプロパティがリストされています。

たとえば、次の事前認証ルールを使用して、スマートフォンの認証リクエストを別のOAM認証スキームにルーティングできます。

request.userAgent.lower().find('iphone') > 0 or
request.userAgent.lower().find('mobile') > 0 or
request.userAgent.lower().find('blackberry') > 0 or
request.userAgent.lower().find('android') > 0

次の例では、認証後ルールは、2つ以上のセッションを開いたユーザーのアクセスを拒否することを示します。

session.count > 2

ノート: 認証後に認証レスポンスとして評価される認証後ルールは、フェデレーションSSOフローでは評価されません。IdPフローには認証レスポンスは含まれないためです。ユーザーIDに基づいて認可を実装するには、この記事で説明されているように、トークン発行ポリシーを使用できます。

IdPを使用した拡張ルール

フェデレーション認証ポリシー

特定のOAM認証スキームを使用して実行時にユーザーにチャレンジするようにIdPを構成すると、中間OAM認証ポリシーが作成され、指定されたOAM認証スキームにバインドされます。

IdPフロー内で認証拡張ルールを適用するには、OAM管理モジュールによって管理される中間OAM認証ポリシーを変更する必要があります。

初期状態では、IdPによって実行時にユーザーを認証するために使用される、IAM Suiteアプリケーション・ドメインに存在する4つのフェデレーション認証ポリシーがあります。

図Application_Domains.jpgの説明

また、フェデレーション認証ポリシーは、別の認証スキームを使用してフェデレーションSSO操作中にユーザーにチャレンジするように新しいIdPが構成されるたびに作成されます。

フェデレーション認証ポリシーの名前は、IdPで構成されている認証スキーム("LocalAuthnFederation" + Name_of_the_Authentication_Scheme)に基づいています。

事前認証ルールと事後認証ルールを定義する場合を除き、これらのポリシーを変更しないでください。

フェデレーション認証ポリシーの拡張ルールの定義

フェデレーション認証ポリシーの詳細ルールを構成するには、次のステップを実行します。

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

  2. 「アクセス・マネージャ」「アプリケーション・ドメイン」にナビゲートします

  3. 「検索」をクリックし、「IAMスイート・アプリケーション・ドメイン」を選択します

  4. 「認証ポリシー」タブをクリックします

  5. 変更するフェデレーション認証ポリシーをクリックします

  6. そのポリシーの「拡張ルール」タブをクリックします

  7. 認証前ポリシーの定義

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

フェデレーション認証メソッド

IdPを構成して、ユーザーのチャレンジに使用されるすべてのOAM認証スキームを、事前認証ルールで構成されている2番目の認証スキームであっても、フェデレーション認証メソッドにマップする必要があります。

これは、OAM WSLTコマンドのいずれかを使用して行います。

次の目的でOAMを構成します。

IdPのデフォルト・スキーム

最初に、デフォルトの認証スキームを使用するようにIdPを構成します(デフォルト・スキームがデフォルト・スキームである場合でも)。

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

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

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

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

  5. WLST環境を終了します: exit()

その結果、LocalAuthnFederationLDAPScheme OAM認証ポリシーを使用して、リモートSPパートナのユーザーにチャレンジします。

OAM拡張事前認証ルール

次に、スマートフォンのユーザーに対してBasicSchemeを使用するようにOAMに示す事前認証ルールを作成します。ルールはUserAgent HTTPヘッダーに基づきます。

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

  2. 「アクセス・マネージャ」「アプリケーション・ドメイン」にナビゲートします

  3. 「検索」をクリックし、IAMスイート・アプリケーション・ドメインを選択します

  4. 「認証ポリシー」タブをクリックします

  5. LocalAuthnFederationLDAPSchemeポリシーをクリックします

  6. そのポリシーの「拡張ルール」タブをクリックします

  7. 新しい認証前ルールの作成

図Authentication_Policy.jpgの説明

次のアクションを実行します。

  1. 事前認証ルールの情報を入力します。
  1. 「追加」をクリックします

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

図Rules_Added_Screen.jpgの説明

フェデレーション認証方法マッピング

最後に、デプロイメントで使用されているスキームをSAML 2.0フェデレーション認証メソッドにマップします(LDAPSchemeおよびBasicSchemeにマッピングがすでに存在する場合でも)。

この環境では、次の2つのスキームが使用されます。

両方のスキームをパートナ・プロファイル・レベルでurn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransportにマップします。

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

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

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

  4. addSPPartnerProfileAuthnMethod()コマンドaddSPPartnerProfileAuthnMethod("saml20-sppartner-","urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport""LDAPScheme")addSPPartnerProfileAuthnMethod("saml20-sppartner-profile","urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport""BasicScheme")を実行します

  5. WLST環境を終了します: exit()

テスト

デスクトップ/ラップトップ・ブラウザからフェデレーションSSOを実行する場合、IdPはLDAPSchemeとユーザーに次のログイン・ページでチャレンジします。

図Access_Manager.jpgの説明

同じSPパートナを使用するフェデレーションSSO操作用のスマートフォン・ユーザーには、HTTP Basic認証チャレンジが表示されます。

図Authentication_Screen.jpgの説明

その他の学習リソース

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

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