Oracle Access ManagementとOracle Advanced認証の統合
イントロダクション
このチュートリアルでは、Oracle Access Management (OAM)をOracle Advanced Authentication (OAA)と統合して、保護されたアプリケーションにアクセスするユーザーがシングル・サインオン(SSO)でOAMにログインできるようにし、マルチファクタ認証の第2ファクタでチャレンジする方法について説明します。
また、ユーザー移行の構成方法も示します。ユーザー移行は、ユーザーがOAMにログインし、そのユーザーが、定義されたLDAP属性に基づいて登録されたファクタを使用してOAAに自動的に移行されるプロセスです。各ユーザーに登録されるファクタは、OAA認証プラグインで定義されたLDAP属性に基づきます。ユーザーがOAMのデフォルト・ユーザー・アイデンティティ・ストアで設定されたLDAP属性のいずれかを所有している場合、それらのファクタはOAAでユーザーに対して自動的に登録されます。このチュートリアルの目的上、LDAP属性mailおよびmobileを使用して、ユーザーの電子メールおよびSMSファクタを設定します。
目標
このチュートリアルでは、次のタスクを実行します。
- OAAをOAMのTAPパートナとして登録
- OAAでのOAMエージェントの構成
- OAMでのOAAプラグインおよびモジュールのインストールおよび構成
- OAM amd OAA統合のテストに成功しました
Oracle Access Managementの前提条件
このチュートリアルを実行する前に、次のものが必要です。
- 実行中のOracle Access Management 12c (12.2.1.4)インストール。インストールには、OAMで使用されるデフォルト・ユーザー・アイデンティティ・ストアのサンプル・ユーザーが必要です。
- Oracle HTTP ServerおよびOracle WebGateのインストール
- WebGateによって保護されるアプリケーション
デモンストレーションの目的のために、このチュートリアルはチュートリアル・シリーズOracle Access Management 12cスタート・ガイドで作成した環境に基づいて構築されます。この環境では、Oracle Access Managementはデフォルトのユーザー・アイデンティティ・ストアとしてOracle Unified Directory (OUD)を使用します。mybankというアプリケーションは、WebLogicサーバーにデプロイされ、Oracle WebGateを介して保護されます。このチュートリアルでOAMホスト名、URL、PATHおよびユーザーへの参照はすべて、Oracle Access Management 12cスタート・ガイドのチュートリアルで使用されているものに基づいています。
OAM環境で前述のチュートリアルを使用する場合は、サンプルoaausers.ldifをダウンロードする必要があります。このファイルには、OAAのインストール前に必要なユーザーおよびグループが含まれています。oaausers.ldifを編集し、有効な値を持つ各ユーザーのmail、mobileおよび<password>を更新します。これは、ユーザーがOAMにログイン(testuserなど)すると、そのファクタをSMSおよび電子メールに設定してOAAに移行することをテストできるようにするためです。OUDに対してldapmodify -f oaausers.ldifを実行して、ユーザーおよびグループをロードします。
Oracle Advanced認証の前提条件
このチュートリアルを実行する前に、次のものが必要です。
- 実行中のOracle Advanced Authentication (OAA)インスタンス。OAAのインストール方法については、Oracle Advanced Authentication and Oracle Adaptive Risk Managementの管理を参照してください。
- OAAインスタンスがインストールされ、前述の同じOAMインストールに対してOAUTHを使用するように構成されています。OAAのインストール中に
installOAA.propertiesファイルで渡されたoauth.applicationidの値を知っている必要があります。 - SMSまたはEMAIL(あるいはその両方)を介した認証を許可するには、OAAをメッセージング・プロバイダで使用するように構成する必要があります。電子メールおよびSMS用のOracleUMSサーバーの構成および電子メールおよびSMSメッセージング・プロバイダのカスタマイズを参照してください。
- OAA管理URL (
https://oaa.example.com/oaa-adminなど)および管理者資格証明(oaadmin/<password>など) - OAAユーザー・プリファレンス(SPUI)のURL:例:
http://oaa.example.com/oaa/rui
OAAをOAMのTAPパートナとして登録
この項では、OAMにOAAを信頼できる認証プロトコル(TAP)パートナとして登録します。
目的
OAAをOAMにTAPパートナとして登録する場合。
OAMでのTAPパートナの登録
-
OAMサーバーで、
oracleとして端末ウィンドウを起動し、次のコマンドを入力します。cd /u01/app/oracle/product/middleware/oracle_common/common/bin ./wlst.sh出力は次のようになります:
Initializing WebLogic Scripting Tool (WLST) ... Welcome to WebLogic Server Administration Scripting Shell Type help() for help on available commands wls:/offline> -
次のようにOAM管理サーバーに接続します。
wls:/offline> connect ('weblogic','<password>')出力は次のようになります:
Successfully connected to Admin Server "AdminServer" that belongs to domain "oam_domain". Warning: An insecure protocol was used to connect to the server. To ensure on-the-wire security, the SSL port or Admin port should be used instead. wls:/oam_domain/serverConfig/> -
次のコマンドを実行して、OAA TAPパートナを再起動します。
wls:/oam_domain/serverConfig/> registerThirdPartyTAPPartner(partnerName = "<partner_name>", keystoreLocation= "<path_to_keystore>", password="<keystore_password>", tapTokenVersion="v2.0", tapScheme="TAPScheme", tapRedirectUrl="<URL>")where :
<partner_name>は、パートナ・アプリケーションに指定する名前です。<path_to_keystore>は、生成するキーストアの場所とファイル名です。<keystore_password>は、生成されるキーストアのパスワードです。tapRedirectUrlは有効なhttp URLです。URLに到達でき、200 OKレスポンスを返す必要があります。https URLを使用しないでください。使用しないと、エラー・メッセージが表示されます。
例:
registerThirdPartyTAPPartner(partnerName = "OAM-MFAPartner", keystoreLocation= "/tmp/OAMOAAKeyStore.jks", password="********", tapTokenVersion="v2.0", tapScheme="TAPScheme", tapRedirectUrl="http://oam.example.com:7777")出力は次のようになります:
Registration Successful wls:/oam_domain/serverConfig/>上の例では、キーストア
/tmp/OAMOAAKeyStore.jksが生成されます。このキーとパスワードは、後でOAMをエージェントとしてOAAに登録するときに使用されます。 -
wlstを終了するには、次のコマンドを実行します。
wls:/oam_domain/serverConfig/> exit() Exiting WebLogic Scripting Tool.
OAAでのOAMエージェントの構成
この項では、OAM管理コンソールでOAMのエージェントを構成します。
目的
OAAでOAMのエージェントを構成します。
OAAでのOAMエージェントの構成
-
管理者資格証明を使用してOAA管理コンソールにログインします。例:
https://oaa.example.com/oaa-admin -
「クイック・アクション」で、「OAM統合エージェントの作成」を選択します。
-
「統合エージェントの作成」の「詳細」タブで、次のように入力します:
- 名前:
<partner_name>。この値は、以前に登録されたTAPパートナ名と同じです。例:OAM-MFAPartner - 説明:
OAM TAP Partner for OAA - 統合エージェント・タイプ:
Oracle Access Management - クライアントID:
Re-Generateをクリックします - クライアント・シークレット:
Re-Generateをクリックします - 秘密キー・ファイル: TAPパートナの登録時に作成されたキー・ファイル(
/tmp/OAMOAAKeyStore.jksなど)をドラッグ・アンド・ドロップするか、「+」をクリックしてファイル・システムからそのキー・ファイルを選択します - 秘密キー・パスワード:
<password>TAPパートナの登録時にキーストアに入力されたパスワード
例:

- 名前:
-
クライアントID (
e1d7dd2d-83e2-4ac8-b338-5dbc6348b526など)およびクライアント・シークレット(34e360cf-3ccc-4dcd-911e-0b00e367dcee9など)を安全な場所にコピーします。これは、後でOAMを構成するときに必要とするためです。 -
「保存」をクリックします
-
「統合エージェント」画面で、作成したエージェント(OAM-MFAPartnerなど)をクリックします
-
「保証レベル」で、「作成」をクリックします。
-
「保証レベルの作成」に次の内容を入力し、「作成」をクリックします。
- 名前:
OAM-MFA-Level - 説明:
OAM-MFA-Level for OAM Integration
例:

ノート: 「名前」に入力された値は、後で
ASSURANCE_LEVELのOAM OAAプラグイン構成で使用されます。 - 名前:
-
「保証レベル」タブで、「OAM-MFAレベル」をクリックします
-
「使用」で、保証レベルに割り当てるファクタ(たとえば、Oracle Mobile Authenticator、電子メール・チャレンジおよびSMSチャレンジ)を選択し、「保存」をクリックします。
例:

OAMでのOAAプラグインのインストールと構成
この項では、OAMでOAAプラグインを構成します。
目的
OAAプラグインをOAMに構成し、2番目のファクタ認証用にOAAとの統合を可能にする関連認証モジュールを作成するには。
OAM用のOAAプラグインのインストール
ノート: 4月22日のバンドル・パッチ(12.2.1.4.220404)以降でOAMを使用している場合、このセクションをスキップしてOAA用の認証モジュールの作成に移動できます。プラグインはデフォルトでOAMに含まれているためです。
-
oaamgmtポッドが実行されているOAA環境で、OAAプラグインOAAAuthnPlugin.jarをポッド/u01/oracle/libsディレクトリからホスト・マシン上のディレクトリ(/scratch/OAAなど)にコピーします:$ kubectl cp <namespace>/<oaamgmt_pod>:/u01/oracle/libs/OAAAuthnPlugin.jar <directory>/OAAAuthnPlugin.jar例:
$ kubectl cp oaans/oaamgmt-oaa-mgmt-5c68dc9c57-t2h6w:/u01/oracle/libs/OAAAuthnPlugin.jar /scratch/OAA/OAAAuthnPlugin.jar -
ブラウザを起動し、OAM管理コンソール
http://oam.example.com:7001/oamconsoleにアクセスします。weblogic/<password>としてログインします。 -
OAAAuthnPlugin.jarをブラウザが実行されているマシンにコピーします。 -
「アプリケーション・セキュリティ」→「プラグイン」→「認証プラグイン」にナビゲートします。
-
「プラグイン」タブで、「プラグインのインポート」を選択します。
-
「プラグインのインポート」ウィンドウで、「ファイルを選択してプラグイン・ファイル(*.jar)を選択」を選択します。
OAAAuthnPlugin.jarの場所を選択し、「インポート」をクリックします。 -
同じページで、「検索」フィールドに移動し、
OAAAuthnPluginと入力します。プラグインを強調表示し、「選択項目の配布」を選択します。 -
プラグインの「アクティブ化ステータス」に「分散」と表示されたら、「選択項目のアクティブ化」を選択します。「アクティブ化ステータス」が「アクティブ化済」に変わります。
例:

-
「プラグイン」タブを閉じます。
OAAの認証モジュールの作成
-
OAMコンソールで、「アプリケーション・セキュリティ」→「プラグイン」→「認証モジュール」にナビゲートします。
-
「認証モジュール」タブで、「認証モジュールの作成」、「カスタム認証モジュールの作成」の順にクリックします。
-
「認証モジュール」→「一般」タブで、次のように入力します:
- 名前:
OAA-MFA-Auth-Module - 説明:
OAA MFA Authentication Module
- 名前:
-
「ステップ」リンクをクリックし、「ステップ」タブで「追加」をクリックします。
-
「新規ステップの追加」ウィンドウで、次を入力して「OK」をクリックします。
- ステップ名:
UserIdentificationStep - 説明:
Identify User - プラグイン名:
UserIdentificationPlugIn
- ステップ名:
-
「追加」を再度クリックし、次を入力して「OK」をクリックします。
- ステップ名:
User OAA MFA Step - 説明:
MFA with OAA - プラグイン名:
OAAAuthnPlugin
- ステップ名:
-
「追加」を再度クリックし、次を入力して「OK」をクリックします。
- ステップ名:
PasswordValidation - 説明:
Validate user password on OAM - プラグイン名:
UserAuthenticationPlugin
現在、モジュールは次のようになります。

- ステップ名:
-
User OAA MFA Stepをクリックし、次のフィールドに値を入力します。- OAA_URL:
<SPUI_URL/authn/v1>(例:https://oaa.example.com/oaa/rui/authn/v1) - TAP_AGENT:
<partner_name>。この値は、TAPパートナをOAMに登録する際に指定した名前にする必要があります(例:OAM-MFAPartner) - APPLICATION_ID:
<app_id>。これは、OAAに移行されるOAMユーザーに関連付けるOAAグループの名前です(例:Default)。この値は、OAAのインストール時に使用されるoauth.applicationidと一致する必要があります。一致しない場合、エンド・ユーザーはユーザー・プリファレンスUIにアクセスできません。 - IDENTITY_STORE_REF:
<default_user_identity_store>。これは、OAMコンソール-> 「構成」 -> 「ユーザー・アイデンティティ・ストア」で設定された「デフォルト・ストア」の値に設定する必要があります。例:OUDStore - ASSURANCE_LEVEL:
<assurance_level>。この値は、以前にOAAで作成された保証レベル(OAM-MFA-Levelなど)に設定する必要があります - CLIENT_ID:
<client_id>。これは、エージェントの作成時にコピーされるクライアントIDの値です(e1d7dd2d-83e2-4ac8-b338-5dbc6348b526など)。 - CLIENT_SECRET:
<client_secret>。これは、エージェントの作成時にコピーされるクライアントIDの値です(34e360cf-3ccc-4dcd-911e-0b00e367dceeなど)。 - LDAP_ATTRS:
mail,mobile.これらは、LDAPサーバー内のユーザーの電子メールアドレスおよびモバイル番号に設定されたLDAP属性です。これにより、そのユーザー・データをOAAに移行できます。ノート: LDAP_ATTRSは小文字で指定する必要があります。これは、LDAP属性がcamelCaseとしてLDAPに格納されている場合でも当てはまります。
例:

- OAA_URL:
-
「保存」をクリックします。
-
「ステップ・オーケストレーション」をクリックし、「初期ステップ」ドロップダウン・リストから「ユーザーOAA MFAステップ」を選択します。
-
表で、次のように値を選択します。
名前 摘要 成功時 失敗時 エラー発生時 UserIdentificationStep ユーザーの識別 パスワード検証 失敗 失敗 OAA MFAステップの使用 OAAによるMFA 成功 UserIdentificationStep 失敗 PasswordValidation OAMでのユーザー・パスワードの検証 OAA MFAステップの使用 失敗 失敗 例:

-
「適用」をクリックします。
OAA認証スキームの作成
-
「アプリケーション・セキュリティ」の「起動パッド」-> 「Access Manager」で、「認証スキーム」をクリックします。
-
「認証スキーム」タブで、「認証スキームの作成」を選択します
-
「Create Authentication Scheme」タブで次のように入力します。
- 名前:
<scheme_name>(例:OAA-MFA-Scheme) - 説明:
OAA MFA Authentication Scheme - 認証レベル:
2 - チャレンジ・メソッド:
Form - チャレンジ・リダイレクトURL:
/oam/server/ - 認証モジュール:
OAA-MFA-Auth-Module - チャレンジURL:
/pages/login.jsp - コンテキスト・タイプ:
Default - コンテキスト値:
/oam - チャレンジ・パラメータ:
initial_command=NONE。このパラメータでは、パスワードなしログインが許可されます。パスワードレス・ログインを参照してください

- 名前:
-
「適用」をクリックします。
保護されたアプリケーションにOAA MFAスキームを使用するようにWebGateを更新します
ノート: Webゲートwebgate_7777の下の例では、保護されているアプリケーションURLは/mybankです。別のものを使用する場合は、適宜変更します。
-
「アプリケーション・セキュリティ」起動パッド→「Access Manager」で、「アプリケーション・ドメイン」をクリックします。
-
「アプリケーション・ドメイン」タブで、「検索」をクリックします。
-
WebGateをクリックして更新します(例:
webgate_7777)。 -
WebGateタブ(webgate_7777)で、「認証ポリシー」をクリックします。「作成」をクリックします。
-
「Create Authentication Policy」で次を入力し、「Apply」をクリックします。
- 名前:
OAA_MFA-Policy - 認証スキーム:
OAA-MFA-Scheme
- 名前:
-
WebGateタブ(webgate_7777)で、「リソース」タブを選択し、「検索」、「作成」の順にクリックします。
-
「リソースの作成」タブで次を入力し、「適用」をクリックします。
- タイプ:
HTTP - 説明:
OAA Resource - ホスト識別子:
webgate_7777 - リソースURL:
/mybank/** - 操作:
ALL - 保護レベル:
Protected - 認証ポリシー:
OAA_MFA-Policy - 認可ポリシー:
Protected Resource Policy
ノート:他の
/mybankURIがすでに保護されている場合は、それらを更新し、認証ポリシーをOAA_MFA_Policyに変更します - タイプ:
-
OAMサーバーを再起動して、新しいOAAプラグイン構成を取得します。
OAMとOAAの統合のテスト
この項では、保護されたアプリケーションにアクセスし、OAMにログインし、2番目のファクタ認証が機能することをテストします。
目的
OAAとOAMの統合のテストが正常に動作しました。
OAMとOAAの統合のテスト
-
ブラウザを起動し、保護されたアプリケーション(
http://oam.example.com:7777/mybankなど)にアクセスします。このアプリケーションは保護されているため、OAMログイン・ページにリダイレクトする必要があります。新しいユーザーtestuser/<password>としてログインします。
-
ログインに成功すると、OAAエンドポイント(
https://oaa.example.com/oaa/authnuiなど)にリダイレクトされます。OAMのOAAプラグインのLDAP_ATTRSがmail,mobileに設定され、これらのLDAP属性がテスト・ユーザーに移入されるため、ユーザーがEMAILまたはSMSのいずれかを選択するためのチャレンジ選択ページが表示されます。「電子メール・チャレンジ」で、「OTPを教える送信先」**@**.comを選択します。
-
「電子メール」ページにリダイレクトされ、登録済電子メールDevice1からOTPを入力するように求められます。「OTPの入力」フィールドに、ユーザーの電子メール・アドレスに電子メールで送信されるワンタイム・パスコードを入力し、「検証」をクリックします。

-
認証が成功した場合、保護アプリケーション・ページ(
/mybankなど)にリダイレクトする必要があります。
-
既存のブラウザを閉じて、新しいブラウザを起動します。保護アプリケーションにもう一度アクセスします(例:
http://oam.example.com:7777/mybank)。 -
パスワードなしログインは、認証スキーム
OAA-MFA-Schemeのinitial_command=NONEパラメータを使用して有効化されるため、ユーザーはOAMユーザーおよびパスワードの入力を求められず、2番目のファクタ認証方法を選択するように指示されます。「SMSチャレンジ」で、「OTPを電話0に送信」****3を選択します。
-
SMSページにリダイレクトされ、登録済SMSデバイスからOTPを入力するように求められます。「OTPの入力」フィールドに、ユーザー・モバイル・デバイスに送信されるワンタイム・パスコードを入力し、「検証」をクリックします。
-
認証が成功した場合、保護アプリケーション・ページ(
/mybankなど)にリダイレクトする必要があります。
さらに学ぶ
- Oracle Advanced認証およびOracle Adaptive Risk Management
- PostmanでのOracle Advanced Authentication REST APIの使用
- WebLogic Identity and Access Managementスクリプティング・ツール・コマンド・リファレンス
フィードバック
このチュートリアルに関するフィードバックは、idm_user_assistance_ww_grp@oracle.comまでお問い合わせください。
謝辞
- 作成者 - Russ Hodgson
その他の学習リソース
docs.oracle.com/learnの他のラボを調べるか、Oracle Learning YouTubeチャネルでさらに無料の学習コンテンツにアクセスします。さらに、education.oracle.com/learning-explorerにアクセスしてOracle Learning Explorerにします。
製品ドキュメントは、Oracleヘルプ・センターを参照してください。
Integrate Oracle Access Management with Oracle Advanced Authentication
F39325-06
January 2023
Copyright © 2023 Oracle and/or its affiliates.