5.1.6.2 OAuthおよびOracle HTTP Serverの構成
OAA、OARMおよびOUAでは、OAuthサービスを有効にしてOracle Access Management (OAM)デプロイメントにアクセスする必要があります。OAM OAuthおよびOAAに関連するエントリを使用してOracle HTTP Serverを構成する必要があります。
OAA、OARMおよびOUAのユーザー・インタフェース(UI)コンポーネント(管理コンソールおよびセルフサービス・ポータル)は、OAM OAuthによって保護されます。OAAインストールでは、次のようにOAM OAuthが自動的に構成されます:
- OAMでOAuthが有効化されます。
- OAAに必要なOAuthコンポーネント(アイデンティティ・ドメイン、リソース、クライアント)が作成されます。
- 既存の
IAM Suite
アプリケーション・ドメイン内に必要なOAMリソースが作成されます。
「サポートされているアーキテクチャ」のOAAサンドボックス・デプロイメント・アーキテクチャの場合、OHSがOAMおよびOAAのプロキシとして使用されます。デプロイメントを容易にするために、Oracle HTTP Server (OHS)を関連するエントリで更新する必要があります。
Oracle HTTP Serverの構成
次の手順では、SSLがOHSで終端するため、ssl.conf
内の関連するSSL <VirtualHost>
セクションですべてのエントリが更新されていることを前提としています。SSLがロード・バランサで終端するなど、別のアーキテクチャの場合は、その環境に関連するOHS構成ファイルを更新します。OHS構成ファイルの更新の詳細は、「Oracle HTTP Serverの操作」を参照してください。
- OAuthのRewriteRulesに次のエントリを追加します:
ノート:
OAADomain
は、OAAインストールによってOAMに作成されるOAuthドメインになります。<IfModule mod_rewrite.c> RewriteEngine on RewriteRule ^/oauth2/rest/authorize? /oauth2/rest/authorize?domain=OAADomain [PT,QSA,L] RewriteRule ^/oauth2/rest/token? /oauth2/rest/token?domain=OAADomain [PT,QSA,L] RewriteRule ^/oauth2/rest/token/info? /oauth2/rest/token/info?domain=OAADomain [PT,QSA,L] RewriteRule ^/oauth2/rest/authz? /oauth2/rest/authz?domain=OAADomain [PT,QSA,L] RewriteRule ^/oauth2/rest/userinfo? /oauth2/rest/userinfo?domain=OAADomain [PT,QSA,L] RewriteRule ^/oauth2/rest/security? /oauth2/rest/security?domain=OAADomain [PT,QSA,L] RewriteRule ^/oauth2/rest/userlogout? /oauth2/rest/userlogout?domain=OAADomain [PT,QSA,L] </IfModule> <IfModule mod_headers.c> #Add Identity domain header always for OpenID requests RequestHeader set X-OAUTH-IDENTITY-DOMAIN-NAME "OAADomain" </IfModule>
- OHS構成ファイルに次のOAMエントリが存在することを確認します:
ノート:
OAMサンドボックス・デプロイメント・アーキテクチャの前提条件を考慮すると、次のエントリはすでに存在しているはずです。ここでは、完全を期すためにこれらを記載しています。#OAM entries <Location /oam> WLSRequest ON DynamicServerList OFF WLProxySSL ON WLProxySSLPassThrough ON WLCookieName OAMJSESSIONID WebLogicHost <OAM_Managed_Server_Host> WebLogicPort <OAM_Managed_Server_Port> </Location> <Location /oam/services/rest/auth> WLSRequest ON DynamicServerList OFF WLProxySSL ON WLProxySSLPassThrough ON WLCookieName OAMJSESSIONID WebLogicHost <OAM_Managed_Server_Host> WebLogicPort <OAM_Managed_Server_Port> </Location> <Location /oam/services/rest/access> WLSRequest ON DynamicServerList OFF WLProxySSL ON WLProxySSLPassThrough ON WLCookieName OAMJSESSIONID WebLogicHost <OAM_Managed_Server_Host> WebLogicPort <OAM_Managed_Server_Port> </Location> <Location /oamfed> WLSRequest ON DynamicServerList OFF WLProxySSL ON WLProxySSLPassThrough ON WLCookieName OAMJSESSIONID WebLogicHost <OAM_Managed_Server_Host> WebLogicPort <OAM_Managed_Server_Port> </Location> # OAM Forgotten Password Page <Location /otpfp/> WLSRequest ON DynamicServerList OFF WLProxySSL ON WLProxySSLPassThrough ON WLCookieName OAMJSESSIONID WebLogicHost <OAM_Managed_Server_Host> WebLogicPort <OAM_Managed_Server_Port> </Location> <Location /ms_oauth> WLSRequest ON DynamicServerList OFF WLProxySSL ON WLProxySSLPassThrough ON WLCookieName OAMJSESSIONID WebLogicHost <OAM_Managed_Server_Host> WebLogicPort <OAM_Managed_Server_Port> </Location> <Location /oauth2> WLSRequest ON DynamicServerList OFF WLProxySSL ON WLProxySSLPassThrough ON WLCookieName OAMJSESSIONID WebLogicHost <OAM_Managed_Server_Host> WebLogicPort <OAM_Managed_Server_Port> </Location> <Location /.well-known/openid-configuration> WLSRequest ON DynamicServerList OFF PathTrim /.well-known PathPrepend /oauth2/rest WLProxySSL ON WLProxySSLPassThrough ON WLCookieName OAMJSESSIONID WebLogicHost <OAM_Managed_Server_Host> WebLogicPort <OAM_Managed_Server_Port> </Location> <Location /.well-known/oidc-configuration> WLSRequest ON DynamicServerList OFF PathTrim /.well-known PathPrepend /oauth2/rest WLProxySSL ON WLProxySSLPassThrough ON WLCookieName OAMJSESSIONID WebLogicHost <OAM_Managed_Server_Host> WebLogicPort <OAM_Managed_Server_Port> </Location> <Location /CustomConsent> WLSRequest ON DynamicServerList OFF WLProxySSL ON WLProxySSLPassThrough ON WLCookieName OAMJSESSIONID WebLogicHost <OAM_Managed_Server_Host> WebLogicPort <OAM_Managed_Server_Port> </Location> <Location /iam/access> WLSRequest ON DynamicServerList OFF WLProxySSL ON WLProxySSLPassThrough ON WLCookieName OAMJSESSIONID WebLogicHost <OAM_Managed_Server_Host> WebLogicPort <OAM_Managed_Server_Port> </Location> # WebLogic Console Access <Location /console> WLSRequest ON DynamicServerList OFF WLProxySSL ON WLProxySSLPassThrough ON WLCookieName OAMJSESSIONID WebLogicHost <OAM_AdminServer_Host> WebLogicPort <OAM_AdminServer_Port> </Location> <Location /management> WLSRequest ON DynamicServerList OFF WLProxySSL ON WLProxySSLPassThrough ON WLCookieName OAMJSESSIONID WebLogicHost <OAM_AdminServer_Host> WebLogicPort <OAM_AdminServer_Port> </Location> <Location /consolehelp> WLSRequest ON DynamicServerList OFF WLProxySSL ON WLProxySSLPassThrough ON WLCookieName OAMJSESSIONID WebLogicHost <OAM_AdminServer_Host> WebLogicPort <OAM_AdminServer_Port> </Location> <Location /em> WLSRequest ON DynamicServerList OFF WLProxySSL ON WLProxySSLPassThrough ON WLCookieName OAMJSESSIONID WebLogicHost <OAM_AdminServer_Host> WebLogicPort <OAM_AdminServer_Port> </Location> <Location /oamconsole> WLSRequest ON DynamicServerList OFF WLProxySSL ON WLProxySSLPassThrough ON WLCookieName OAMJSESSIONID WebLogicHost <OAM_AdminServer_Host> WebLogicPort <OAM_AdminServer_Port> </Location> <Location /access> WLSRequest ON DynamicServerList OFF WLProxySSL ON WLProxySSLPassThrough ON WLCookieName OAMJSESSIONID WebLogicHost <OAM_Policy_Managed_Server_Host> WebLogicPort <OAM_Policy_Managed_Server_Port> </Location> <Location /iam/admin> WLSRequest ON DynamicServerList OFF WLProxySSL ON WLProxySSLPassThrough ON WLCookieName OAMJSESSIONID WebLogicHost <OAM_AdminServer_Host> WebLogicPort <OAM_AdminServer_Port> </Location> <Location /oam/services/rest/11.1.2.0.0> WLSRequest ON DynamicServerList OFF WLProxySSL ON WLProxySSLPassThrough ON WLCookieName OAMJSESSIONID WebLogicHost <OAM_AdminServer_Host> WebLogicPort <OAM_AdminServer_Port> </Location> <Location /oam/services/rest/ssa> WLSRequest ON DynamicServerList OFF WLProxySSL ON WLProxySSLPassThrough ON WLCookieName OAMJSESSIONID WebLogicHost <OAM_AdminServer_Host> WebLogicPort <OAM_AdminServer_Port> </Location> <Location /oam/services> WLSRequest ON DynamicServerList OFF WLProxySSL ON WLProxySSLPassThrough ON WLCookieName OAMJSESSIONID WebLogicHost <OAM_AdminServer_Host> WebLogicPort <OAM_AdminServer_Port> </Location> <Location /dms> WLSRequest ON DynamicServerList OFF WLProxySSL ON WLProxySSLPassThrough ON WLCookieName OAMJSESSIONID WebLogicHost <OAM_AdminServer_Host> WebLogicPort <OAM_AdminServer_Port> </Location>
- 次のOAAエントリをOHS構成ファイルに追加します:
ノート:
管理者は、次のことに注意する必要があります:- 次の例では、3つのワーカー・ノード
<K8S_WORKER_HOST1>
、<K8S_WORKER_HOST2>
、<K8S_WORKER_HOST3>
を持つKubernetesクラスタにOAAをデプロイすることを前提としています。必要に応じて変更し、「構成のチェックポイント」に従って、これらの値を関連するワーカー・ノードの完全修飾ホスト名に置き換えます。 - ポート
30777
はイングレス・コントローラのHTTPポートで、後から「イングレス・コントローラの構成」で作成します。
## OAA entries <Location /oaa-admin> WLSRequest ON WLCookieName OAMJSESSIONID DynamicServerList OFF WLProxySSL ON WLProxySSLPassThrough ON WLCookieName OAMJSESSIONID WebLogicCluster <K8S_WORKER_HOST1>:30777, <K8S_WORKER_HOST2>:30777, <K8S_WORKER_HOST3>:30777 </Location> <Location /admin-ui> WLSRequest ON WLCookieName OAMJSESSIONID DynamicServerList OFF WLProxySSL ON WLProxySSLPassThrough ON WebLogicCluster <K8S_WORKER_HOST1>:30777,<K8S_WORKER_HOST2>:30777,<K8S_WORKER_HOST3>:30777 </Location> <Location /oaa-policy> WLSRequest ON DynamicServerList OFF WLProxySSL ON WLProxySSLPassThrough ON WLCookieName OAMJSESSIONID WebLogicCluster <K8S_WORKER_HOST1>:30777,<K8S_WORKER_HOST2>:30777,<K8S_WORKER_HOST3>:30777 </Location> <Location /policy> WLSRequest ON DynamicServerList OFF WLProxySSL ON WLProxySSLPassThrough ON WLCookieName OAMJSESSIONID WebLogicCluster <K8S_WORKER_HOST1>:30777,<K8S_WORKER_HOST2>:30777,<K8S_WORKER_HOST3>:30777 </Location> <Location /risk-cc> WLSRequest ON DynamicServerList OFF WLProxySSL ON WLProxySSLPassThrough ON WebLogicCluster <K8S_WORKER_HOST1>:30777,<K8S_WORKER_HOST2>:30777,<K8S_WORKER_HOST3>:30777 </Location> <Location /oua-admin-ui> WLSRequest ON DynamicServerList OFF WLProxySSL ON WLProxySSLPassThrough ON WLCookieName OAMJSESSIONID WebLogicCluster <K8S_WORKER_HOST1>:30777,<K8S_WORKER_HOST2>:30777,<K8S_WORKER_HOST3>:30777 </Location> <Location /oaa/runtime> WLSRequest ON DynamicServerList OFF WLProxySSL ON WLProxySSLPassThrough ON WLCookieName OAMJSESSIONID WebLogicCluster <K8S_WORKER_HOST1>:30777,<K8S_WORKER_HOST2>:30777,<K8S_WORKER_HOST3>:30777 </Location> <Location /oaa/rui> WLSRequest ON DynamicServerList OFF WLProxySSL ON WLProxySSLPassThrough ON WLCookieName OAMJSESSIONID WebLogicCluster <K8S_WORKER_HOST1>:30777,<K8S_WORKER_HOST2>:30777,<K8S_WORKER_HOST3>:30777 </Location> <Location /oaa/authnui> WLSRequest ON DynamicServerList OFF WLProxySSL ON WLProxySSLPassThrough ON WebLogicCluster <K8S_WORKER_HOST1>:30777,<K8S_WORKER_HOST2>:30777,<K8S_WORKER_HOST3>:30777 </Location> <Location /fido> WLSRequest ON DynamicServerList OFF WLProxySSL ON WLProxySSLPassThrough ON WLCookieName OAMJSESSIONID WebLogicCluster <K8S_WORKER_HOST1>:30777,<K8S_WORKER_HOST2>:30777,<K8S_WORKER_HOST3>:30777 </Location> <Location /oaa-email-factor> WLSRequest ON DynamicServerList OFF WLProxySSL ON WLProxySSLPassThrough ON WLCookieName OAMJSESSIONID WebLogicCluster <K8S_WORKER_HOST1>:30777,<K8S_WORKER_HOST2>:30777,<K8S_WORKER_HOST3>:30777 </Location> <Location /oaa-sms-factor> WLSRequest ON DynamicServerList OFF WLProxySSL ON WLProxySSLPassThrough ON WLCookieName OAMJSESSIONID WebLogicCluster <K8S_WORKER_HOST1>:30777,<K8S_WORKER_HOST2>:30777,<K8S_WORKER_HOST3>:30777 </Location> <Location /oaa-totp-factor> WLSRequest ON DynamicServerList OFF WLProxySSL ON WLProxySSLPassThrough ON WLCookieName OAMJSESSIONID WebLogicCluster <K8S_WORKER_HOST1>:30777,<K8S_WORKER_HOST2>:30777,<K8S_WORKER_HOST3>:30777 </Location> <Location /oaa-push-factor> WLSRequest ON DynamicServerList OFF WLProxySSL ON WLProxySSLPassThrough ON WLCookieName OAMJSESSIONID WebLogicCluster <K8S_WORKER_HOST1>:30777,<K8S_WORKER_HOST2>:30777,<K8S_WORKER_HOST3>:30777 </Location> <Location /oaa-yotp-factor> WLSRequest ON DynamicServerList OFF WLProxySSL ON WLProxySSLPassThrough ON WLCookieName OAMJSESSIONID WebLogicCluster <K8S_WORKER_HOST1>:30777,<K8S_WORKER_HOST2>:30777,<K8S_WORKER_HOST3>:30777 </Location> <Location /oaa-kba> WLSRequest ON DynamicServerList OFF WLProxySSL ON WLProxySSLPassThrough ON WLCookieName OAMJSESSIONID WebLogicCluster <K8S_WORKER_HOST1>:30777,<K8S_WORKER_HOST2>:30777,<K8S_WORKER_HOST3>:30777 </Location> <Location /risk-analyzer> WLSRequest ON DynamicServerList OFF WLProxySSL ON WLProxySSLPassThrough ON WLCookieName OAMJSESSIONID WebLogicCluster <K8S_WORKER_HOST1>:30777,<K8S_WORKER_HOST2>:30777,<K8S_WORKER_HOST3>:30777 </Location> <Location /oua> WLSRequest ON DynamicServerList OFF WLProxySSL ON WLProxySSLPassThrough ON WLCookieName OAMJSESSIONID WebLogicCluster <K8S_WORKER_HOST1>:30777,<K8S_WORKER_HOST2>:30777,<K8S_WORKER_HOST3>:30777 </Location> <Location /oaa-drss> WLSRequest ON DynamicServerList OFF WLProxySSL ON WLProxySSLPassThrough ON WLCookieName OAMJSESSIONID WebLogicCluster <K8S_WORKER_HOST1>:30777,<K8S_WORKER_HOST2>:30777,<K8S_WORKER_HOST3>:30777 </Location>
- 次の例では、3つのワーカー・ノード
- Oracle HTTP Serverを再起動します。「Oracle HTTP Serverインスタンスの再起動」を参照してください。
OAMのOAMリソース
前述のように、OAAインストールでは、既存のIAM Suite
アプリケーション・ドメインに必要なすべてのOAMリソースおよび関連するポリシーが作成されます。
次の表に、OAAインストールによって追加されるすべてのリソースを示します:
製品 | リソース・タイプ | ホスト識別子 | リソースURL | 保護レベル | 認証ポリシー | 認可ポリシー |
---|---|---|---|---|---|---|
OAM | HTTP | IAMSuiteAgent | /oauth2/rest/** |
除外 | ||
OAM | HTTP | IAMSuiteAgent | /oam/** |
除外 | ||
OAM | HTTP | IAMSuiteAgent | /.well-known/openid-configuration |
除外 | ||
OAM | HTTP | IAMSuiteAgent | /iam/access/binding/api/v10/oap/** |
除外 | ||
OAM | HTTP | IAMSuiteAgent | /oam/services/rest/** |
除外 | ||
OAM | HTTP | IAMSuiteAgent | /iam/admin/config/api/v1/config/** |
除外 | ||
OAM | HTTP | IAMSuiteAgent | /oauth2/rest/approval |
保護 | OAuth認証ポリシー | 保護リソース・ポリシー |
OAM | HTTP | IAMSuiteAgent | /oam/pages/consent.jsp |
保護 | OAuth認証ポリシー | 保護リソース・ポリシー |
OAA | HTTP | IAMSuiteAgent | /oaa-admin/** |
除外 | ||
OAA | HTTP | IAMSuiteAgent | /admin-ui/** |
除外 | ||
OAA | HTTP | IAMSuiteAgent | /oaa/** |
除外 | ||
OAA | HTTP | IAMSuiteAgent | /policy/** |
除外 | ||
OAA | HTTP | IAMSuiteAgent | /oaa-email-factor/** |
除外 | ||
OAA | HTTP | IAMSuiteAgent | /oaa-sms-factor/** |
除外 | ||
OAA | HTTP | IAMSuiteAgent | /oaa-totp-factor/** |
除外 | ||
OAA | HTTP | IAMSuiteAgent | /oaa-yotp-factor/** |
除外 | ||
OAA | HTTP | IAMSuiteAgent | /fido/** |
除外 | ||
OAA | HTTP | IAMSuiteAgent | /oaa-kba/** |
除外 | ||
OAA | HTTP | IAMSuiteAgent | /oaa-push-factor/** |
除外 | ||
OAA | HTTP | IAMSuiteAgent | /risk-analyzer/** |
除外 | ||
OAA | HTTP | IAMSuiteAgent | /risk-cc/** |
除外 | ||
OAA | HTTP | IAMSuiteAgent | /consolehelp/** |
除外 | ||
OAA | HTTP | IAMSuiteAgent | /otpfp/** |
除外 | ||
OAA | HTTP | IAMSuiteAgent | /oua/** |
除外 | ||
OAA | HTTP | IAMSuiteAgent | /oua-admin-ui/** |
除外 | ||
OAA | HTTP | IAMSuiteAgent | /oaa-drss/** |
除外 |
ノート:
IAM Suite
およびIAMSuiteAgent
以外のものを使用している場合は、これらのリソースをすべて手動で作成する必要があります。