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ファクタを設定します。

目標

このチュートリアルでは、次のタスクを実行します。

  1. OAAをOAMのTAPパートナとして登録
  2. OAAでのOAMエージェントの構成
  3. OAMでのOAAプラグインおよびモジュールのインストールおよび構成
  4. OAM amd OAA統合のテストに成功しました

Oracle Access Managementの前提条件

このチュートリアルを実行する前に、次のものが必要です。

デモンストレーションの目的のために、このチュートリアルはチュートリアル・シリーズ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を編集し、有効な値を持つ各ユーザーのmailmobileおよび<password>を更新します。これは、ユーザーがOAMにログイン(testuserなど)すると、そのファクタをSMSおよび電子メールに設定してOAAに移行することをテストできるようにするためです。OUDに対してldapmodify -f oaausers.ldifを実行して、ユーザーおよびグループをロードします。

Oracle Advanced認証の前提条件

このチュートリアルを実行する前に、次のものが必要です。

OAAをOAMのTAPパートナとして登録

この項では、OAMにOAAを信頼できる認証プロトコル(TAP)パートナとして登録します。

目的

OAAをOAMにTAPパートナとして登録する場合。

OAMでのTAPパートナの登録

  1. 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> 
    
  2. 次のように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/> 
    
  3. 次のコマンドを実行して、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に登録するときに使用されます。

  4. wlstを終了するには、次のコマンドを実行します。

    wls:/oam_domain/serverConfig/> exit()
    Exiting WebLogic Scripting Tool.
    

OAAでのOAMエージェントの構成

この項では、OAM管理コンソールでOAMのエージェントを構成します。

目的

OAAでOAMのエージェントを構成します。

OAAでのOAMエージェントの構成

  1. 管理者資格証明を使用してOAA管理コンソールにログインします。例: https://oaa.example.com/oaa-admin

  2. 「クイック・アクション」で、「OAM統合エージェントの作成」を選択します。

  3. 「統合エージェントの作成」「詳細」タブで、次のように入力します:

    • 名前: <partner_name>。この値は、以前に登録されたTAPパートナ名と同じです。例: OAM-MFAPartner
    • 説明: OAM TAP Partner for OAA
    • 統合エージェント・タイプ: Oracle Access Management
    • クライアントID: Re-Generateをクリックします
    • クライアント・シークレット: Re-Generateをクリックします
    • 秘密キー・ファイル: TAPパートナの登録時に作成されたキー・ファイル(/tmp/OAMOAAKeyStore.jksなど)をドラッグ・アンド・ドロップするか、「+」をクリックしてファイル・システムからそのキー・ファイルを選択します
    • 秘密キー・パスワード: <password> TAPパートナの登録時にキーストアに入力されたパスワード

    例:

    図createagent.jpgの説明

  4. クライアントID (e1d7dd2d-83e2-4ac8-b338-5dbc6348b526など)およびクライアント・シークレット(34e360cf-3ccc-4dcd-911e-0b00e367dcee9など)を安全な場所にコピーします。これは、後でOAMを構成するときに必要とするためです。

  5. 「保存」をクリックします

  6. 「統合エージェント」画面で、作成したエージェント(OAM-MFAPartnerなど)をクリックします

  7. 「保証レベル」で、「作成」をクリックします。

  8. 「保証レベルの作成」に次の内容を入力し、「作成」をクリックします。

    • 名前: OAM-MFA-Level
    • 説明: OAM-MFA-Level for OAM Integration

    例:

    図shurancelevel.jpgの説明

    ノート: 「名前」に入力された値は、後でASSURANCE_LEVELのOAM OAAプラグイン構成で使用されます。

  9. 「保証レベル」タブで、「OAM-MFAレベル」をクリックします

  10. 「使用」で、保証レベルに割り当てるファクタ(たとえば、Oracle Mobile Authenticator電子メール・チャレンジおよびSMSチャレンジ)を選択し、「保存」をクリックします。

    例:

    図definepolicy.jpgの説明

OAMでのOAAプラグインのインストールと構成

この項では、OAMでOAAプラグインを構成します。

目的

OAAプラグインをOAMに構成し、2番目のファクタ認証用にOAAとの統合を可能にする関連認証モジュールを作成するには。

OAM用のOAAプラグインのインストール

ノート: 4月22日のバンドル・パッチ(12.2.1.4.220404)以降でOAMを使用している場合、このセクションをスキップしてOAA用の認証モジュールの作成に移動できます。プラグインはデフォルトでOAMに含まれているためです。

  1. 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
    
  2. ブラウザを起動し、OAM管理コンソールhttp://oam.example.com:7001/oamconsoleにアクセスします。weblogic/<password>としてログインします。

  3. OAAAuthnPlugin.jarをブラウザが実行されているマシンにコピーします。

  4. 「アプリケーション・セキュリティ」「プラグイン」「認証プラグイン」にナビゲートします。

  5. 「プラグイン」タブで、「プラグインのインポート」を選択します。

  6. 「プラグインのインポート」ウィンドウで、「ファイルを選択してプラグイン・ファイル(*.jar)を選択」を選択します。OAAAuthnPlugin.jarの場所を選択し、「インポート」をクリックします。

  7. 同じページで、「検索」フィールドに移動し、OAAAuthnPluginと入力します。プラグインを強調表示し、「選択項目の配布」を選択します。

  8. プラグインの「アクティブ化ステータス」「分散」と表示されたら、「選択項目のアクティブ化」を選択します。「アクティブ化ステータス」「アクティブ化済」に変わります。

    例:

    図oaaauthnplugin.jpgの説明

  9. 「プラグイン」タブを閉じます。

OAAの認証モジュールの作成

  1. OAMコンソールで、「アプリケーション・セキュリティ」「プラグイン」「認証モジュール」にナビゲートします。

  2. 「認証モジュール」タブで、「認証モジュールの作成」「カスタム認証モジュールの作成」の順にクリックします。

  3. 「認証モジュール」「一般」タブで、次のように入力します:

    • 名前: OAA-MFA-Auth-Module
    • 説明: OAA MFA Authentication Module
  4. 「ステップ」リンクをクリックし、「ステップ」タブで「追加」をクリックします。

  5. 「新規ステップの追加」ウィンドウで、次を入力して「OK」をクリックします。

    • ステップ名: UserIdentificationStep
    • 説明: Identify User
    • プラグイン名: UserIdentificationPlugIn
  6. 「追加」を再度クリックし、次を入力して「OK」をクリックします。

    • ステップ名: User OAA MFA Step
    • 説明: MFA with OAA
    • プラグイン名: OAAAuthnPlugin
  7. 「追加」を再度クリックし、次を入力して「OK」をクリックします。

    • ステップ名: PasswordValidation
    • 説明: Validate user password on OAM
    • プラグイン名: UserAuthenticationPlugin

    現在、モジュールは次のようになります。

    図moduleteps.jpgの説明

  8. 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に格納されている場合でも当てはまります。

    例:

    図useoaamfastep.jpgの説明

  9. 「保存」をクリックします。

  10. 「ステップ・オーケストレーション」をクリックし、「初期ステップ」ドロップダウン・リストから「ユーザーOAA MFAステップ」を選択します。

  11. 表で、次のように値を選択します。

    名前 摘要 成功時 失敗時 エラー発生時
    UserIdentificationStep ユーザーの識別 パスワード検証 失敗 失敗
    OAA MFAステップの使用 OAAによるMFA 成功 UserIdentificationStep 失敗
    PasswordValidation OAMでのユーザー・パスワードの検証 OAA MFAステップの使用 失敗 失敗

    例:

    図steporchestration.jpgの説明

  12. 適用」をクリックします。

OAA認証スキームの作成

  1. 「アプリケーション・セキュリティ」の「起動パッド」-> 「Access Manager」で、「認証スキーム」をクリックします。

  2. 「認証スキーム」タブで、「認証スキームの作成」を選択します

  3. 「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。このパラメータでは、パスワードなしログインが許可されます。パスワードレス・ログインを参照してください

    図authnscheme.jpgの説明

  4. 適用」をクリックします。

保護されたアプリケーションにOAA MFAスキームを使用するようにWebGateを更新します

ノート: Webゲートwebgate_7777の下の例では、保護されているアプリケーションURLは/mybankです。別のものを使用する場合は、適宜変更します。

  1. 「アプリケーション・セキュリティ」起動パッド→「Access Manager」で、「アプリケーション・ドメイン」をクリックします。

  2. 「アプリケーション・ドメイン」タブで、「検索」をクリックします。

  3. WebGateをクリックして更新します(例: webgate_7777)。

  4. WebGateタブ(webgate_7777)で、「認証ポリシー」をクリックします。「作成」をクリックします。

  5. 「Create Authentication Policy」で次を入力し、「Apply」をクリックします。

    • 名前: OAA_MFA-Policy
    • 認証スキーム: OAA-MFA-Scheme
  6. WebGateタブ(webgate_7777)で、「リソース」タブを選択し、「検索」「作成」の順にクリックします。

  7. 「リソースの作成」タブで次を入力し、「適用」をクリックします。

    • タイプ: HTTP
    • 説明: OAA Resource
    • ホスト識別子: webgate_7777
    • リソースURL: /mybank/**
    • 操作: ALL
    • 保護レベル: Protected
    • 認証ポリシー: OAA_MFA-Policy
    • 認可ポリシー: Protected Resource Policy

    ノート:他の/mybank URIがすでに保護されている場合は、それらを更新し、認証ポリシーOAA_MFA_Policyに変更します

  8. OAMサーバーを再起動して、新しいOAAプラグイン構成を取得します。

OAMとOAAの統合のテスト

この項では、保護されたアプリケーションにアクセスし、OAMにログインし、2番目のファクタ認証が機能することをテストします。

目的

OAAとOAMの統合のテストが正常に動作しました。

OAMとOAAの統合のテスト

  1. ブラウザを起動し、保護されたアプリケーション(http://oam.example.com:7777/mybankなど)にアクセスします。このアプリケーションは保護されているため、OAMログイン・ページにリダイレクトする必要があります。新しいユーザーtestuser/<password>としてログインします。

    図oamlogin.jpgの説明

  2. ログインに成功すると、OAAエンドポイント(https://oaa.example.com/oaa/authnuiなど)にリダイレクトされます。OAMのOAAプラグインのLDAP_ATTRSmail,mobileに設定され、これらのLDAP属性がテスト・ユーザーに移入されるため、ユーザーがEMAILまたはSMSのいずれかを選択するためのチャレンジ選択ページが表示されます。「電子メール・チャレンジ」で、「OTPを教える送信先」**@**.comを選択します。

    図challengechoice.jpgの説明

  3. 「電子メール」ページにリダイレクトされ、登録済電子メールDevice1からOTPを入力するように求められます。「OTPの入力」フィールドに、ユーザーの電子メール・アドレスに電子メールで送信されるワンタイム・パスコードを入力し、「検証」をクリックします。

    図emailotp.jpgの説明

  4. 認証が成功した場合、保護アプリケーション・ページ(/mybankなど)にリダイレクトする必要があります。

    図mybank.jpgの説明

  5. 既存のブラウザを閉じて、新しいブラウザを起動します。保護アプリケーションにもう一度アクセスします(例: http://oam.example.com:7777/mybank)。

  6. パスワードなしログインは、認証スキームOAA-MFA-Schemeinitial_command=NONEパラメータを使用して有効化されるため、ユーザーはOAMユーザーおよびパスワードの入力を求められず、2番目のファクタ認証方法を選択するように指示されます。「SMSチャレンジ」で、「OTPを電話0に送信」****3を選択します。

    図challengechoice.jpgの説明

  7. SMSページにリダイレクトされ、登録済SMSデバイスからOTPを入力するように求められます。「OTPの入力」フィールドに、ユーザー・モバイル・デバイスに送信されるワンタイム・パスコードを入力し、「検証」をクリックします。

  8. 認証が成功した場合、保護アプリケーション・ページ(/mybankなど)にリダイレクトする必要があります。

さらに学ぶ

フィードバック

このチュートリアルに関するフィードバックは、idm_user_assistance_ww_grp@oracle.comまでお問い合わせください。

謝辞

その他の学習リソース

docs.oracle.com/learnの他のラボを調べるか、Oracle Learning YouTubeチャネルでさらに無料の学習コンテンツにアクセスします。さらに、education.oracle.com/learning-explorerにアクセスしてOracle Learning Explorerにします。

製品ドキュメントは、Oracleヘルプ・センターを参照してください。