---
schema_version: "1"
id: 1b82d4f15c9f5f7b5c197da140ac7e0027117a771ca960a14e274b0838b8adb6
title: OpenAM OAuth 2.0 トークン適用ポリシー
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/mule-gateway/policies-included-openam-oauth-token-enforcement.md
canonical_url: https://docs.mulesoft.com/jp/mule-gateway/policies-included-openam-oauth-token-enforcement
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 6715b99c3aa9792d17b8a4640d97e2ac7d0d01ec9dfa0a9efd4aec72cfae3fb3
description: MuleSoft Documentation Site
latest: true
---
# OpenAM OAuth 2.0 トークン適用ポリシー

<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 25%;">
<col style="width: 75%;">
</colgroup>
<tbody>
<tr>
<td class="tableblock halign-right valign-top"><p class="tableblock"><strong>ポリシー名</strong></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">OpenAM OAuth 2.0 トークン適用</p></td>
</tr>
<tr>
<td class="tableblock halign-right valign-top"><p class="tableblock"><strong>概要</strong></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">承認されたクライアントアプリケーションへのアクセスのみを許可する</p></td>
</tr>
<tr>
<td class="tableblock halign-right valign-top"><p class="tableblock"><strong>カテゴリ</strong></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">セキュリティ</p></td>
</tr>
<tr>
<td class="tableblock halign-right valign-top"><p class="tableblock"><strong>使用可能な最小 Mule バージョン</strong></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">v3.8.0</p></td>
</tr>
<tr>
<td class="tableblock halign-right valign-middle" rowspan="4"><p class="tableblock"><strong>返される状況コード</strong></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">400 - 無効なトークン</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">401 - 未承認または認証サーバーへの接続時に接続エラー</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">403 - アクセス拒否、無効なクライアントアプリケーションログイン情報</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">500 - 認証サーバーからの不正応答、または WSDL SOAP 失敗エラー。</p></td>
</tr>
</tbody>
</table>

<table><tbody><tr><td class="icon"><i class="fa icon-important" title="Important"></i></td><td class="content">このポリシーは、OpenAM をクライアント管理ソリューションとして使用するように設定された統合組織でのみ使用できます。</td></tr></tbody></table>

## [](#概要)概要

OpenAM OAuth 2.0 トークン適用ポリシーでは、HTTP 要求で指定されたトークンが有効で、必要に応じて、要求された OAuth スコープが完了している場合にのみ、その HTTP 要求を許可することで、保護されたリソースへのアクセスが制限されます。 ポリシーは、OAuth 認証サーバーに接続してトークンを検証します。トークンは、​[OAuth ダンス](https://docs.mulesoft.com/jp/api-manager/latest/oauth-dance-about)​の実行時に、​[認証されたクライアントアプリケーション](https://docs.mulesoft.com/jp/api-manager/latest/api-contracts-landing-page)​のログイン情報を指定することで取得されます。

このポリシーを適用する前に、​[前提条件](https://docs.mulesoft.com/jp/api-manager/latest/about-configure-api-for-oauth)​をよく理解しておいてください。

ポリシーの適用時、必要に応じて、適用対象となる [OAuth 2.0 スコープ](https://tools.ietf.org/html/rfc6749#page-23)​のスペース区切りリストを定義できます。 OAuth 2.0 スコープは、OAuth によって保護されているリソースへのアクセスをさらに制限する手段です。READ、WRITE のような語や、組織のコンテキストで意味のあるその他の語 (例: CONTRACTOR、PUBLIC、​EMPLOYEES\_ONLY​ など) を定義できます。

### [](#flex-gateway-のローカルモード)Flex Gateway のローカルモード

OpenAM OAuth 2.0 トークン適用ポリシーは、Flex Gateway のローカルモードではサポートされません。

### [](#flex-gateway-の接続モード)Flex Gateway の接続モード

OpenAM OAuth 2.0 トークン適用ポリシーは、Flex Gateway の接続モードではサポートされません。

## [](#supported-grant-types-サポートされる付与種別)Supported Grant Types (サポートされる付与種別)

OpenAM は 2 種類の OAuth クライアントをサポートしています。

- 機密クライアントは、ログイン情報を機密に保ちます。次の許可種別が含まれます。
    
    - クライアントログイン情報
    - 暗黙的
    - リソースオーナー
- 公開クライアントは、ログイン情報を他の関係者と共有します。次の許可種別が含まれます。
    
    - 認証コード
    - 暗黙的
    - リソースオーナー

どちらの種類のクライアントも、RFC で定義されている 4 つの OAuth 許可種別のうち 3 つをサポートしています。このため、OpenAM クライアントの設定時には、4 つの許可種別のうち 3 つのみ選択できます。残りの許可種別は、もう一方のクライアントに属しているため使用できません。選択した許可種別に応じて、OpenAM クライアントのプロパティを公開または機密のどちらにするかを決定します。

## [](#performance-パフォーマンス)Performance (パフォーマンス)

パフォーマンス向上のために、トークンが検証されると、デフォルトでは、システムによってトークンが有効期限までキャッシュされます。たとえば、トークンが失効するシナリオを考慮するときなど、このキャッシュメカニズムの制限や無効化が必要になる場合があります。

トークンキャッシュ時間 (OAuth プロバイダーに対して検証を再試行するまでのトークンキャッシュ時間) を制御する場合、次のプロパティを指定できます。

anypoint.platform.max\_federation\_expiration\_time=<a number equal or greater than 0>

## [](#プロキシを介した-oauth-プロバイダーへの接続)プロキシを介した OAuth プロバイダーへの接続

OpenAM OAuth 2.0 トークン適用ポリシーが Gateway プロキシ設定を使用できるようにするには、次のプロパティを指定します。

anypoint.platform.external\_authentication\_provider\_enable\_proxy\_settings=<true|false(default)>

上記のプロパティを true に設定すると、ポリシーがランタイムプロキシ設定を使用します (指定されている場合)。次に例を示します。

anypoint.platform.proxy\_host=localhost
anypoint.platform.proxy\_port=8080

## [](#oauth-プロバイダー情報の利用)OAuth プロバイダー情報の利用

トークンが OAuth プロバイダーによって正常に検証されると、プロバイダーはトークン検証を要求したポリシーに、OpenAM 側で設定可能な項目を含む追加の情報を返送します。

認証サーバーからのトークン検証応答:

```text
{
    "uid":"john.doe",
    "mail":"john.doe@example.com",
    "scope":["uid","mail","cn","givenName"],
    "grant_type":"password",
    "cn":"John Doe",
    "realm":"/",
    "token_type":"Bearer",
    "expires_in":3600,
    "givenName":"John",
    "access_token":"fa017a0e-1bd5-214c-b19d-03efe9f9847e"
}
```

OAuth プロバイダーから返された項目はポリシーで処理され、さらに次のように処理されます。

- 項目ごとに、元の保護されたリソースへの要求が「​`X-AGW-`​ + キー = 値」形式の HTTP ヘッダーで強化されます。
    
    - \[Mule 4\] ポリシー設定の一部として、\[Expose Headers (ヘッダーを公開)\] をオフにすることもできます。その場合、要求は ​`X-AGW`​ ヘッダーで強化​**されません**​。
- フロー内の以降の処理では、プロバイダーからの元の解析していない応答を使用できます。
    
    - \[Mule 3\] フロー変数 ​`['_agwUser']`​ がセットアップされます。マップ内の特定の値にアクセスするには、MEL 式を使用して直接指定します。次に例を示します。
        
        #\[flowVars\['\_agwUser'\]\['mail'\]\]
    - \[Mule 4\] 情報は ​`authentication`​ オブジェクトに保存されます。mail (メール) 項目が返されるとすると、その値には次の DataWeave 2.0 式を使用してアクセスできます。
        
        #\[authentication.properties.userProperties.mail\]

<table><tbody><tr><td class="icon"><i class="fa icon-tip" title="Tip"></i></td><td class="content">追加情報を使用してビジネスロジックをさらに調整できます。</td></tr></tbody></table>

## [](#関連情報)関連情報

- [クライアントアプリケーションとコントラクト](https://docs.mulesoft.com/jp/api-manager/latest/api-contracts-landing-page)
- [OAuth 2.0 ポリシーの前提条件](https://docs.mulesoft.com/jp/api-manager/latest/about-configure-api-for-oauth)
- [OAuth 2.0 ダンスと OAuth 2.0 アクセストークン適用](https://docs.mulesoft.com/jp/api-manager/latest/oauth-dance-about)
- [OAuth 2.0 トークン検証ポリシーの適用](https://docs.mulesoft.com/jp/mule-gateway/policies-included-oauth-access-token-enforcement)
- [ポリシーの適用](https://docs.mulesoft.com/jp/mule-gateway/policies-included-apply)
- [OpenAM](https://www.openidentityplatform.org/openam)​ ID プロバイダー
- [SAML 2.0](https://docs.mulesoft.com/jp/access-management/external-identity#instructions-for-saml-configuration)
- [Mule 4 アプリケーションでの Mule ゲートウェイの API 自動検出の設定](https://docs.mulesoft.com/jp/mule-gateway/mule-gateway-config-autodiscovery-mule4)
- [Mule 3 アプリケーションでの Mule ゲートウェイの API 自動検出の設定](https://docs.mulesoft.com/jp/mule-gateway/mule-gateway-config-autodiscovery-mule3)