トークン交換による検証 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - Advanced SQL Engineセキュリティ管理ガイド

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Published
2021年7月
Language
日本語
Last Update
2021-09-23
dita:mapPath
ja-JP/ppz1593203596223.ditamap
dita:ditavalPath
ja-JP/wrg1590696035526.ditaval
dita:id
B035-1100
Product Category
Software
Teradata Vantage
トーク交換によるSSO検証。

外部認証の場合、TDGSSはJWTを中央IdPと交換し、交換後にユーザーを検証します。この操作を行なうには、JWTが中央IdPから取得されたのか、または外部IDプロバイダから取得されたのかを識別します。TDGSSは、JWTペイロードの発行者「iss」クレームを使用して、IDプロバイダを識別します。クライアント アプリケーションは、次の手順に従ってデータベースに対する認証を試みます。

  1. クライアントが認証されると、ゲートウェイはClientId (sso-devなど)とIdpUrL (https://sso-idp-dev.iam.teradatacloud.io/.well-known/openid-configurationなど)を含む構成応答をクライアントに送信します。この情報は、TdgssUserConfigFile.xmlの<GlobalValues>セクションで定義されています。
  2. 次に、クライアントは外部IdPに対してJWTトークンを要求します。
  3. クライアントはゲートウェイにJWTを送信してセッションにログオンします。
  4. ゲートウェイはトークンを検証します。
    1. TDGSSはペイロードを調べて、発行者のクレームを取得します。
    2. TDGSSは、TDGSS構成から中央IdP発行者のクレームを取得します。
    3. TDGSSは、中央IdP発行者とJWTの「iss」クレームを比較します。
  5. トークン交換による検証: 発行者が一致しない場合は、トークン交換が行なわれます。
    1. TDGSSは構成から構成済み外部IDプロバイダの発行者を取得します。
    2. TDGSSは、外部IdP発行者とJWTの「iss」クレームを比較します。
    3. これらが一致しない場合はエラーが生成され、ユーザーは認証されません。
    4. これらが一致する場合は、中央IdPからのJWTを交換するためにREST API呼び出しが行なわれます。
  6. 中央IdPからのJWTを交換した後に、TDGSSはJWTを検証します。
  7. JWTはセッション制御テーブルに保存され、他のVantageサービスに対する認証に使用されます。

トークン エクスチェンジャ検証用にJWTメカニズムを構成するには、トークン エクスチェンジャによる検証を参照してください。

次の表は、中央IdPから交換トークンを取得するために必要な情報を示しています。

parameter 説明
subject_issuer 外部IdP (アクセス トークン発行者)が中央IdPに登録されるときに使用する別名。このパラメータは、中央IdPの場合のみ必須です。
subject_token 外部IdPによって発行された有効なJWTアクセス トークン。
client_id 交換されたトークンを使用する予定の中央IdPに登録されたターゲット アプリケーションのクライアントID。交換されるトークンの内容は、client_idに関連付けられているマッパーによって決まります。
client_secret ターゲット アプリケーションのクライアント シークレット。
subject_token_type 定数値:

urn:ietf:params:oauth:token-type:access_token

grant_type 定数値:

urn:ietf:params:oauth:grant-type:token-exchange

token_endpoint 中央IdPの/tokenエンドポイント。通常は、次の形式のURLです。

https://<idp-host>/auth/realms/<realm name>/protocol/openid-connect/token