4.2.3.2 Oracle Access Management OAuthの構成

OAA、OARMおよびOUAでは、OAuthを有効にしてOracle Access Management (OAM)デプロイメントにアクセスする必要があります。

OAA、OARMおよびOUAのユーザー・インタフェース(UI)コンポーネント(管理コンソールおよびセルフサービス・ポータル)は、Oracle Access Management (OAM) OAuthによって保護されます。必要なOAuthコンポーネント(アイデンティティ・ドメイン、リソース、クライアント)は、OAA、OARMおよびOUAのインストール中に構成できます。ただし、OAMで必要なOAuthコンポーネントをインストール時に構成する前に実行する必要がある前提条件ステップは次のとおりです:

ノート:

インストール中にUIコンポーネントが不要な場合や無効にする必要がある場合は、この項のOAuth構成をスキップできます。OAuth構成をスキップする場合は、installOAA.properties内にoauth.enabled=falseを関連プロパティとともに設定する必要があります。詳細は、「OAM OAuth構成」を参照してください。

OAuthの有効化

OAuthを有効にするには:

  1. 管理者の資格証明を使用して、OAM管理コンソールhttps://<OAMAdminHost>:<OAMAdminPort>/oamconsole/にログインします。
  2. 「ようこそ」ページで、「構成」「使用可能なサービス」の順にクリックします
  3. OAuthおよびOpenIDConnectサービスの横にある「サービスの有効化」をクリックします(または緑色のステータス・チェック・マークが表示されることを確認します)。

Oracle HTTP Serverの構成

次の手順に従って、OAuth用にOracle HTTP Serverを構成します:

  1. <OHS_DOMAIN_HOME>/config/fmwconfig/components/OHS/<ohs_instance_name>にあるmod_wl_ohs.confファイルを開き、次を追加します:
    
    #OAM OAuth entries
    <Location /oauth2>
    SetHandler weblogic-handler
    WebLogicHost <OAM_Managed_Server_Host>
    WebLogicPort <OAM_Managed_Server_Port>
    </Location>
    
    <Location /oam>
     SetHandler weblogic-handler
     WebLogicHost <OAM_Managed_Server_Host>
     WebLogicPort <OAM_Managed_Server_Port>
    </Location>
    
    <Location /.well-known/openid-configuration>
     SetHandler weblogic-handler
     WebLogicHost <OAM_Managed_Server_Host>
     WebLogicPort <OAM_Managed_Server_Port>
     PathTrim /.well-known
     PathPrepend /oauth2/rest
    </Location>
    
    <Location /.well-known/oidc-configuration>
    SetHandler weblogic-handler
    WebLogicHost <OAM_Managed_Server_Host>
    WebLogicPort <OAM_Managed_Server_Port>
    PathTrim /.well-known
    PathPrepend /oauth2/rest
    </Location>
    
    <Location /CustomConsent>
    SetHandler weblogic-handler
    WebLogicHost <OAM_Managed_Server_Host>
    WebLogicPort <OAM_Managed_Server_Port>
    </Location>
    

    ノート:

    <OAM_Managed_Server_Host>および<OAM_Managed_Server_Port>は、OAM管理対象サーバーのホスト名とポートです。
  2. <OHS_DOMAIN_HOME>/config/fmwconfig/components/OHS/<ohs_instance_name>にあるhttpd.confファイル(SSL経由でアクセスする場合はssl.conf)を開き、次を追加します:

    ノート:

    <DomainName>でOAuthアイデンティティ・ドメインの値を指定します。<DomainName>は、後でinstallOAA.propertiesのパラメータoauth.domainnameで使用されます。
    <IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteRule ^/oauth2/rest/authorize? /oauth2/rest/authorize?domain=<DomainName> [PT,QSA,L]
    RewriteRule ^/oauth2/rest/token? /oauth2/rest/token?domain=<DomainName> [PT,QSA,L]
    RewriteRule ^/oauth2/rest/token/info? /oauth2/rest/token/info?domain=<DomainName> [PT,QSA,L]
    RewriteRule ^/oauth2/rest/authz? /oauth2/rest/authz?domain=<DomainName> [PT,QSA,L]
    RewriteRule ^/oauth2/rest/userinfo? /oauth2/rest/userinfo?domain=<DomainName> [PT,QSA,L]
    RewriteRule ^/oauth2/rest/security? /oauth2/rest/security?domain=<DomainName> [PT,QSA,L]
    RewriteRule ^/oauth2/rest/userlogout? /oauth2/rest/userlogout?domain=<DomainName> [PT,QSA,L]
    </IfModule>
    
    <IfModule mod_headers.c>
    #Add Identity domain header always for OpenID requests
    RequestHeader set X-OAUTH-IDENTITY-DOMAIN-NAME "<DomainName>"
    </IfModule>
  3. Oracle HTTP Serverを再起動します。

OAMでのOAuthポリシーの定義

OAMでOAuthポリシーを次のように定義します:

  1. 管理者の資格証明を使用して、OAM管理コンソールhttps://<OAMAdminHost>:<OAMAdminPort>/oamconsole/にログインします。
  2. 「アプリケーション・セキュリティ」起動パッド→「Access Manager」「アプリケーション・ドメイン」をクリックします。
  3. 「アプリケーション・ドメイン」タブで、「検索」をクリックします。
  4. 「OAMの一般的な要件」で前に定義したWebGateをクリックします。
  5. 「リソースの作成」タブで、次の各リソースを作成し、「保護レベル」Excludedに設定します。
    • /oauth2/rest/**
    • /oam/**
    • /.well-known/openid-configuration
    • /iam/access/binding/api/v10/oap/**
    • /oam/services/rest/**
    • /iam/admin/config/api/v1/config/**
    • /oaa-admin/**
    • /admin-ui/**
    • /oaa/**
    • /policy/**
    • /oaa-policy/**
    • /oaa-email-factor/**
    • /oaa-sms-factor/**
    • /oaa-totp-factor/**
    • /oaa-yotp-factor/**
    • /fido/**
    • /oaa-kba/**
    • /oaa-push-factor/**
    • /risk-analyzer/**
    • /risk-cc/**
    • /consolehelp/**
    • /otpfp/**
  6. 次の各リソースを作成し、「保護レベル」「保護」,に設定し、「認証ポリシー」および「認可ポリシー」保護されたリソース・ポリシーに設定します
    • /oauth2/rest/approval (これはPOST操作用です)
    • /oam/pages/consent.jsp (これはGET操作用です)

OAMでのリバース・プロキシとしてのOHSの構成

OAMでOHSをリバース・プロキシとして構成するには:

  1. OAM管理コンソールで、「構成」に移動し、「設定」タイルで、「表示」「Access Manager」をクリックします。
  2. 「ようこそ」ページで、「構成」をクリックし、「設定」タイルで「表示」「Access Manager」をクリックします。
  3. 「ロード・バランシング」で、「OHSホスト」「OHSポート」を指定します。

OAuthの検証

次のコマンドを実行して、OAuthが使用可能であり、Oracle HTTP ServerがリクエストをOAuthサーバーに転送していることを確認します:
curl -s -k --location --request GET https://ohs.example.com:443/oauth2/rest/token

Method Not Allowedメッセージが表示されます。これは、リクエストをOAuthサーバーに正常に送信したが、OAuthサーバーによってリクエストが拒否されたという意味です。このメッセージが表示されない場合は、前述のステップを再確認し、間違いがないか確認してください。