17.00 - 17.05 - SET QUERY_BANDリクエストを使用したプロキシ ユーザー接続の作成 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLデータ定義言語 詳細トピック

Product
Advanced SQL Engine
Teradata Database
Release Number
17.00
17.05
Release Date
2020年6月
Content Type
プログラミング リファレンス
Publication ID
B035-1184-170K-JPN
Language
日本語 (日本)

プロキシ ユーザー接続を作成するには、信頼済みユーザーとして接続された中間層アプリケーションが、プロキシ ユーザー名とそのユーザーに対するオプションのプロキシ ロールを指定したSET QUERY_BANDリクエストを発行します。予約されたクエリー バンド名PROXYUSERとPROXYROLEは、それぞれ信頼済みセッションのユーザー名とプロキシ ロール名をSET QUERY_BANDリクエストで指定するために使用します。

プロキシ ユーザー接続を作成する場合には、SET QUERY_BANDリクエストは次に示すアクションを実行します。

  1. クエリー バンドがPROXYUSERを指定した場合、Teradata Databaseは指定されたプロキシ ユーザーとして接続する権限を現在のユーザーが持っていることを検証します。
  2. クエリー バンドがPROXYROLEを指定した場合、Teradata Databaseは指定されたプロキシ ユーザーにロールを設定できるか検証します。
  3. 検証に合格した場合に、Teradata Databaseはセッションを指定のプロキシ ユーザー名およびプロキシ ロール名に設定します。

プロキシ接続が作成されると、Teradata Databaseはプロキシ ユーザーとプロキシ ロールを使用して、そのセッションで後続のすべてのリクエストに対する権限を決定します。

以下の情報に注意する必要があります。
  • 信頼済みセッションは、クエリー バンドがなくなるまで続きます。
  • セッション用クエリー バンドはセッションに設定されたまま存続し、次のいずれかの場合にのみ終了します。
    • セッションが終了する。
    • クエリー バンドにNONEを設定する。
  • セッション用クエリー バンドはDBC.SessionTblに格納され、システム リセット後にTeradata Databaseによって回復されます。
  • トランザクション用クエリー バンドは、次のいずれかの場合に破棄されます。
    • コミット、ロールバックまたはアボートによりトランザクションが終了する。
    • トランザクション用クエリー バンドがNONEに設定され、システム リセットの後に復元されない。
SET QUERY_BANDリクエストは、次に示す違反が発生すると常にエラーを返します。
  • プロキシ ユーザーが、信頼済みユーザーによるCONNECT THROUGH権限を持っていない。
  • プロキシ ユーザーが、指定されたプロキシ ロールの権限を付与されていない。
  • セッションの信頼済みセッションがすでに存在するときに、リクエストによってトランザクションにPROXYUSERを設定しようとした。
  • トランザクションのプロキシ接続がすでに存在するときに、リクエストによってセッションにPROXYUSERを設定しようとした。
  • 信頼済みセッションではないときに、リクエストによってPROXYROLEを設定しようとした。
  • GRANT CONNECT THROUGH権限で信頼済みユーザーのロールが定義されているときに、リクエストによってPROXYROLEをNONEまたはNULLに設定しようとした。