パフォーマンスに関する問題を軽減するため、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 を構成します。OAuthResourceServer のintrospection_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]:>