JWTメカニズムは、JSON Web Keys (JWKs)を動的に更新するように構成できます。
JWTを使用してTeradata Vantageにログオンすると、IDプロバイダ(IdP)はその秘密鍵を使用してトークンに署名し、Teradataサーバーは対応する公開鍵を使用してトークンの署名を検証します。IdPから返されるキーは、JSON Web Keys (JWKs)形式です。トークンの検証に使用されるキーは、PEMまたはJWK形式にすることができます。
セキュリティ ポリシーやセキュリティが侵害されたキーなどのさまざまな理由により、キー ペアはIdPでローテーションされます。IDプロバイダがキーをローテーションした場合、Teradata Gatewayは公開鍵を更新し、新しいキーを使用して発行されたトークンを検証する必要があります。動的なキー ローテーションが有効になっている場合、この処理は自動的に行なわれます。
デフォルトでは、この機能は無効になっています。
動的なキー ローテーションを有効にするには、次の操作を実行します。
- /opt/teradata/tdat/tdgss/site/TdgssUserConfigFile.xmlのバックアップ コピーを作成し、サイトの標準バックアップ手順に従って保存します。
- TdgssUserConfigFile.xmlを編集し、IdentityProviderのコメントを解除します。サイト情報を次のように編集します。
<Mechanism Name="JWT"> <MechanismProperties JWTDynamicKey ="yes|no" JWTClientTlsCACertDir="ca_cert_dir" .../> <IdentityProvider Id="Keycloak" Url="https://Customer_IdP_URL" Type="keycloak" /> </Mechanism>
次のプロパティを設定します。
プロパティ 説明 JWTDynamicKey 動的なキー ローテーションを有効にするには、yesに設定します。 JWTClientTlsCACertDir CA証明書の場所。このプロパティのsite/ssl/cacertsディレクトリのフル パスを指定します。例: /opt/teradata/tdat/tdgss/site/ssl/cacerts/
<IdentityProvider>セクションのプロパティを設定します。
プロパティ 説明 Id 構成ファイル内のIdPを一意に識別します。 Url URLは顧客のIdPのエンドポイントです。TDGSSは、URLからREST API呼び出しを実行して、必要なURLと、発行者、JWK URIなどの他の情報を取得できます。 TDGSSはURLに基づいて、IdPとのTLS接続を確立するかどうかを決定します。TLS接続の場合、JWTClientTlsCACertDirはすべてのCA証明書が構成されているディレクトリです。
Type タイプはIDプロバイダのタイプです。値の例は、Ping-Federate、keycloak、vantage-keycloak、azuread、okta、およびauth0です。 - JWTClientTlsCACertDirで指定された場所にCA証明書を配置します。このディレクトリは通常は次の場所にあります。/opt/teradata/tdat/tdgss/site/ssl/cacerts
- 構成が正しいことを確認します。
- tdgsstestcfgを実行して新しい構成が正しいか検証します。構成ファイルの更新を含む新しいシェルで、テスト環境が起動します。
/opt/teradata/tdgss/bin/tdgsstestcfg
- tdgssauthツールを使用して構成をテストします。
tdgssauth -m JWT -a token=JWT_from_IdP
ここで、JWT_from_IdPはTdgssUserConfigFile.xmlで構成したIdPです。
- テスト シェルを終了します。
exit
- 構成が正しくなるまで、編集とテストを続行します。
- tdgsstestcfgを実行して新しい構成が正しいか検証します。構成ファイルの更新を含む新しいシェルで、テスト環境が起動します。
- 次を実行します:
/opt/teradata/tdgss/bin/run_tdgssconfig
- run_tdgssconfigがTPAリセットが必要なことを示している場合は、次の操作を実行します。
tpareset -f “use updated TDGSSCONFIG GDO”