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を有効にするには:
- 管理者の資格証明を使用して、OAM管理コンソール
https://<OAMAdminHost>:<OAMAdminPort>/oamconsole/
にログインします。 - 「ようこそ」ページで、「構成」、「使用可能なサービス」の順にクリックします
- OAuthおよびOpenIDConnectサービスの横にある「サービスの有効化」をクリックします(または緑色のステータス・チェック・マークが表示されることを確認します)。
Oracle HTTP Serverの構成
次の手順に従って、OAuth用にOracle HTTP Serverを構成します:
<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管理対象サーバーのホスト名とポートです。<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>
- Oracle HTTP Serverを再起動します。
OAMでのOAuthポリシーの定義
OAMでOAuthポリシーを次のように定義します:
- 管理者の資格証明を使用して、OAM管理コンソール
https://<OAMAdminHost>:<OAMAdminPort>/oamconsole/
にログインします。 - 「アプリケーション・セキュリティ」起動パッド→「Access Manager」で「アプリケーション・ドメイン」をクリックします。
- 「アプリケーション・ドメイン」タブで、「検索」をクリックします。
- 「OAMの一般的な要件」で前に定義したWebGateをクリックします。
- 「リソースの作成」タブで、次の各リソースを作成し、「保護レベル」を
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/**
- 次の各リソースを作成し、「保護レベル」を
「保護」
,に設定し、「認証ポリシー」および「認可ポリシー」を保護されたリソース・ポリシー
に設定します- /oauth2/rest/approval (これは
POST
操作用です) - /oam/pages/consent.jsp (これは
GET
操作用です)
- /oauth2/rest/approval (これは
OAMでのリバース・プロキシとしてのOHSの構成
OAMでOHSをリバース・プロキシとして構成するには:
- OAM管理コンソールで、「構成」に移動し、「設定」タイルで、「表示」→「Access Manager」をクリックします。
- 「ようこそ」ページで、「構成」をクリックし、「設定」タイルで「表示」→「Access Manager」をクリックします。
- 「ロード・バランシング」で、「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サーバーによってリクエストが拒否されたという意味です。このメッセージが表示されない場合は、前述のステップを再確認し、間違いがないか確認してください。