信頼済みセッションでCONNECT THROUGH権限で定義されたロールの強制実施に適用されるルールは、次のとおりです。
- CONNECT THROUGH権限でロールを指定する場合、次のルールが適用されます。
- PROXYROLEは、PROXYUSERを指定していない場合には指定できません。
- 信頼済みセッションでロールを設定するにはPROXYROLEを使用する必要があります。信頼済みセッションではSET ROLEリクエストを指定することはできません。
- 権限定義でPROXYROLEを指定しないと、その権限に指定されたすべてのロールがアクティブになります。
- PROXYROLEには、権限に含まれる任意のロールを設定できます。この指定を行なうと、そのロールのみがアクティブになります。
- PROXYROLEに、NONEまたはNULLを設定することはできません。
- CONNECT THROUGH権限でWITHOUT ROLEを指定する場合、次のルールが適用されます。
- 権限定義でPROXYROLEを指定しないと、アクティブなロールは永久プロキシ ユーザーのデフォルトのロールになります。
- PROXYROLEには、永久プロキシ ユーザーに付与された任意のロールを設定できます。
- PROXYROLEには、NONEまたはNULLを設定できます。
- CONNECT THROUGH権限でプロキシ ロールを定義する場合、その権限を使用する信頼済みセッションの権限は以下に付与したものになります。
- アクティブなプロキシ ロール
- PUBLIC
- CONNECT THROUGH権限で永久ユーザーに対してWITHOUT ROLEを指定する場合、その権限を使用する信頼済みセッションの権限は以下に付与したものになります。
- 永久ユーザー
- アクティブなロール
- PUBLIC
Teradata Databaseでは、これらのルールに2つの例外が適用されます。これらの例外的な状況において、Teradata Databaseはプロキシ ユーザーに設定した権限を強制しませんが、その代わりに次のテーブルに示した権限を強制します。
データベース オブジェクトのタイプ | 適用する権限施行のルール |
---|---|
マクロ | 直接所有するデータベースまたはユーザーには、マクロを実行するための適切な権限がすべて必要です。 |
SQLプロシージャ | SQL SECURITY INVOKERを使用してプロシージャを作成した場合にのみ、下記の確認が実行されます。それ以外の場合には、プロキシ ユーザーの権限は使用されません。 Teradata Databaseは実行時に、プロシージャ本体で指定されているすべての文と、参照されているすべてのオブジェクトについて、プロシージャの直接所有者の権限を検査します。 |