17.00 - 17.05 - クエリー バンドと信頼済みセッション - 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
日本語 (日本)

次の予約済みクエリー バンドは、信頼済みセッションによって使用されます。

名前 説明
ProxyRole 信頼済みセッション内で使用するロールを定義します。

有効な値は、プロキシ ユーザーに付与されたロールの名前です。

ProxyUser 信頼済みセッションをプロキシ ユーザーのIDに設定します。

有効な値は、現在ログオンしているユーザーのCONNECT THROUGH権限が付与されたプロキシ ユーザーの名前です。GRANT CONNECT THROUGHリクエストを使用する場合の構文とルールについては、<Teradata Vantage™ - SQLデータ制御言語、B035-1149>を参照してください。

信頼済みセッションは、中間階層アプリケーションに対してユーザーIDとロールをアサートする権限を付与して、そのアプリケーションの各エンド ユーザーにログオン セッションを確立しなくても、これらを個々のユーザーの権限チェックとクエリー ロギングで使用できるようにします。信頼済みセッションによって生じるセキュリティ問題の概要については、<Teradata Vantage™ - Advanced SQL Engineセキュリティ管理ガイド、B035-1100>を参照してください。

信頼済みセッションは、エンド ユーザーがWebベースの製品発注システムなどの中間階層アプリケーションを介してTeradata Databaseにリクエストを行なうときに、権限チェックとクエリー監査のために永久ユーザーとアプリケーション ユーザーを識別します。信頼済みセッションは、エンド ユーザーを認証し、ユーザーの代わりにSQLリクエストをTeradata Databaseに送信する中間階層アプリケーションの、あらゆるタイプで使用できます。

信頼済みセッションは、中間階層アプリケーションが権限の検証のためにログオンしているユーザーから別のユーザーのIDを仮定できるようにします。このような「別のユーザー」は、プロキシ ユーザーと呼ばれます。

信頼済みセッションのほとんどの機能を得るためにクエリー バンドとロールを組み合わせることは可能ですが、信頼済みセッションには単純なクエリー バンドとロールの組み合わせを上回る利点があります。この利点は、次のとおりです。
  • プロキシ ユーザーとロールを、わずか1つのリクエストで設定できます。他の方法では、同じ結果を得るためにSET QUERY_BANDリクエストとSET ROLEリクエストを個別に2回実行する必要があります。
  • ProxyUserがクエリー ログで個別の列になります。他の方法では、クエリー バンドからProxyUserを抽出しなければなりません。

    信頼済みセッションでは、エンド ユーザーに設定できるロールについてのナレッジをデータベースに格納します。これは、アプリケーション開発にとって大きな利点になります。

プロキシ ユーザーはTeradata Databaseに直接ログオンしませんが、通常はセッション コネクション プールから派生した確立済みのデータベース セッションを代わりに使用します。接続プーリングの定義については、クエリー バンド、信頼済みセッション、およびコネクション プーリングを参照してください。プロキシ ユーザーがアクティブなセッションに切り替えられると、それ以降そのユーザーが行なうすべてのリクエストは、信頼済みユーザーを介してプロキシ ユーザーに付与された権限を使用して操作され、権限チェックとクエリー ロギングの両方がプロキシ ユーザーの名前を使用して実行されます。<Teradata Vantage™ - SQLデータ制御言語、B035-1149>の「GRANT CONNECT THROUGH」を参照してください。

次に示す表では、信頼済みセッションを使用する場合のオプションを説明します。

プロキシ ユーザー 結果
永久データベース ユーザー 権限、ロール、またはその両方を永久ユーザーごとに付与できる。

プロキシ接続権限は、信頼済みユーザーを介して各永久ユーザーに付与できる。

アプリケーション ミドルウェアは、クエリー バンドにPROXYUSER名を設定できる。それにより、セッションをプロキシ ユーザーに切り替えることができる。

後続のリクエストは、プロキシ ユーザーの権限で実行できるようになる。

永久ユーザーは、プロキシ ユーザーとして接続する場合にも、Teradata Databaseに直接ログオンする場合にも使用できる。

Teradata Databaseは、信頼済みセッションにあるプロキシ ユーザーの名前を、永久ユーザーが作成するデータベース オブジェクトの作成者の名前に割り当てる。

Teradata Databaseに認識されていないアプリケーション ユーザー セキュリティ管理者は、アプリケーション ユーザーのセットに必要な権限を付与した単一のロールまたはロールのセットを作成できる。

セキュリティ管理者は、指定したロールを使用する信頼済みユーザーを経由して、アプリケーション ユーザーに信頼済みセッションの権限を付与できる。

アプリケーション ミドルウェアは、クエリー バンドを設定できる。それにより、セッションをプロキシ ユーザーに切り替えることができる。

後続のリクエストは、プロキシ ユーザーのアクティブなロールの権限で実行できるようになる。

アプリケーション ユーザーは、プロキシ ユーザーとして接続するために使用できるが、Teradata Databaseに直接ログオンすることはできない。

Teradata Databaseは、信頼済みセッションにある信頼済みユーザーの名前を、アプリケーション ユーザーが作成するデータベース オブジェクトの作成者の名前に割り当てる。