OAuth 2.0 トークンイントロスペクションポリシー

ポリシー名

OAuth 2.0 トークンイントロスペクションポリシー

概要

承認されたクライアントアプリケーションへのアクセスのみを許可する

カテゴリ

セキュリティ

使用可能な最小 Flex Gateway バージョン

v1.3.0

返される状況コード

400 - 無効なトークン

401 - 未承認または認証サーバーへの接続時にエラー

403 - アクセス拒否、無効なクライアントアプリケーションログイン情報

500 - 認証サーバーからの不正応答、または WSDL SOAP 失敗エラー

概要

OAuth 2.0 トークンイントロスペクションポリシーを使用すると、Okta、AWS、Azure、Google Cloud Platform などのサードパーティの ID プロバイダー (IdP) を使用して OAuth 2.0 を設定できます。このポリシーでは、Anypoint Platform に外部 IdP サーバーを登録しなくても、OAuth 2.0 認証フレームワークに基づくトークンを認証できます。

このポリシーは、クライアントから保護された API に送信されたトークンを検証し、イントロスペクションエンドポイントがトークンを認証した場合にのみ、バックエンドサーバーへのアクセスを許可します。

ポリシーのパラメーターの設定

Flex Gateway

Flex Gateway をランタイムとして使用するときに OAuth 2.0 トークンイントロスペクションを適用するには、YAML 設定ファイルでポリシーを手動で設定する必要があります。以下のポリシー定義とパラメーターの表を参照してください。

- policyRef:
    name: oauth2-token-introspection-flex
  config:
    introspection_url: <string> // REQUIRED
    authorization_value: <string> // REQUIRED
    validated_token_ttl: <number> // OPTIONAL
    authentication_timeout: <number> // OPTIONAL
    skip_client_id_validation: <boolean> // REQUIRED
    consumer_by: <string> // REQUIRED
    expose_headers: <boolean> // OPTIONAL
    scopes: <string> // OPTIONAL
    scope_validation_criteria: <string> // OPTIONAL
    max_cache_entries: <number> // OPTIONAL
パラメーター 必須または省略可能 デフォルト値 説明

introspection_url

必須

サードパーティトークンイントロスペクション URL。

authorization_value

必須

認証サービスから認証を要求する方法。​client_id​ と ​client_secret​ を使用する基本認証文字列、またはベアラートークンを指定します。

validated_token_ttl

省略可能

600

検証済みトークンのキャッシュ制限。

authentication_timeout

省略可能

10000

認証サービスへのデータ送信時のタイムアウト。

skip_client_id_validation

必須

false

クライアント ID 適用サポートを有効/無効にします。

consumer_by

必須

ID プロバイダーの ​username​ または ​client_id​ 応答を登録済みプラットフォームの ​client_id​ に関連付けます。​skip_client_id_validation​ が ​true​ の場合は必須です。

expose_headers

省略可能

false

scopes

省略可能

""

スペース区切りリスト。

scope_validation_criteria

省略可能

"AND"

scopes​ 値に適用する条件。有効なパラメーター値は、「AND」または「OR」です。

max_cache_entries

省略可能

1000

リソースの設定例

- policyRef:
    name: oauth2-token-introspection-flex
  config:
    introspection_url: https://my-introspection.com/introspect
    authorization_value: Basic am9obkBleGFtcGxlLmNvbTphYmMxMjM=
    validated_token_ttl: 600
    authentication_timeout: 10000
    skip_client_id_validation: false
    consumer_by: "client_id"
    expose_headers: true
    scopes: "profile email shopping"
    scope_validation_criteria: "AND"
    max_cache_entries: 1000