パフォーマンスに関する問題を軽減するため、NSX Advanced Load Balancer 22.1.3 からは、イントロスペクション データのキャッシュに間隔を構成する機能が導入されています。この間隔にある間、イントロスペクション メッセージがイントロスペクション エンドポイントに送信されることはありません。キャッシュしたイントロスペクション データは、リソースの認証に使用されます。

アクセス トークンのタイプが opaque の場合、そのトークンはリソースの認証に直接使用されるわけではなく、クライアントによる解析はすぐには行われません。すべてのデータが自己完結型構造となっている JWT (JSON Web Tokens) トークンとは異なります。

Opaque アクセス トークンを使用してリソースを認証するには、アクセス トークンを認証サーバ/IDP と交換(イントロスペクション エンドポイントを使用)してイントロスペクション データを受信します。

NSX Advanced Load Balancer 22.1.3 より前のリソース サーバでは、イントロスペクション メッセージがリソース操作ごとに送信されることで、アクセス トークン ペイロード(イントロスペクション データ)が取得されて、リソースに対する認証の確認が行われます。このメソッドでは、リソース アクセスごとに余分なラウンド トリップが発生するため、パフォーマンスに影響します。

NSX Advanced Load Balancer 22.1.3 では、デフォルトでイントロスペクション データがキャッシュされません。間隔 (introspection_data_timeout) が構成されると、NSX Advanced Load Balancer ではイントロスペクション データに存在する構成済みの有効期限の値で最小のものを使用します。詳細については、「イントロスペクション エンドポイント(セクション 2.1 と 2.2)」を参照してください。

注:

NSX Advanced Load Balancer 22.1.3 でイントロスペクション データのキャッシュの構成がサポートされるのは、CLI によってのみです。

イントロスペクション データのタイムアウトを構成

Introspection_data_timeout を構成します。OAuthResourceServerintrospection_data_timeout フィールドでは、イントロスペクション データがキャッシュされる時間を定義します。タイムアウトのデフォルト値は 0 です。これは、キャッシュがされないことを意味します。

[admin: controller] configure virtualservice okta-test
[admin: controller]:virtualservice> oauth_vs_config
[admin: controller]:virtualservice:oauth_vs_config> oauth_settings index 1
[admin: controller]:virtualservice:oauth_vs_config:oauth_settings> resource_server
[admin: controller]:virtualservice:oauth_vs_config:oauth_settings:resource_server> introspection_data_timeout 10
[admin: controller]:virtualservice:oauth_vs_config:oauth_settings:resource_server> save
[admin: controller]:virtualservice:oauth_vs_config:oauth_settings> save
[admin: controller]:virtualservice:oauth_vs_config> save
[admin: controller]:virtualservice> save
[admin: controller]:>