EXECUTE FUNCTION権限 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLデータ制御言語

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Published
2021年7月
Language
日本語
Last Update
2021-09-23
dita:mapPath
ja-JP/sqd1591723147563.ditamap
dita:ditavalPath
ja-JP/wrg1590696035526.ditaval
dita:id
B035-1149
Product Category
Software
Teradata Vantage

EXECUTE FUNCTION権限を、制約関数を除くデータベース内の関数または関数マッピングに対して付与する場合は、EXECUTE FUNCTIONを指定する必要があります。

EXECUTE FUNCTION権限は、行レベル セキュリティによって保護されたテーブルを問合わせる必要のあるユーザーに対する制約関数に付与する必要はありません。

例: EXECUTE FUNCTION権限の付与

例えば、次のGRANT文は、SYSLIB内のすべての関数に対してEXECUTE権限を付与します。

     GRANT EXECUTE FUNCTION ON SYSLIB TO user_xyz;

個々のUDFに対するEXECUTE FUNCTION権限を付与する場合、指定する必要があるのはEXECUTEだけです。例えば、次のGRANT文は、特定関数名salesを持つ関数のみに対するEXECUTE権限をuser_xyzに付与します。

     GRANT EXECUTE ON SPECIFIC FUNCTION SYSLIB.sales TO user_xyz;

例: 関数マッピングに対するEXECUTE FUNCTION権限の付与

EXECUTE FUNCTION権限を付与する前に、指定した関数マッピングが存在している必要があります。この文は、appl_view_dbデータベース内の補間関数マッピングに対するEXECUTE FUNCTION権限をuser1に付与します。

GRANT EXECUTE FUNCTION ON appl_view_db.Interpolator TO user1;

例: EXECUTE FUNCTIONおよび許可オブジェクト

ある特定のケースでは、EXECUTE FUNCTIONを付与するだけでは実際に関数を使用するのに不十分です。例えば、SCRIPTテーブル演算子は、ユーザーにEXECUTE FUNCTIONが付与されていれば有効になりますが、スクリプトを実行するためには、それにバインドされた許可オブジェクトが必要です。

例:

GRANT EXECUTE FUNCTION ON TD_SYSFNLIB.SCRIPT TO  user_name;
GRANT EXECUTE ON  authorization_name  TO  user_name;
GRANT EXECUTE FUNCTION ON TD_SYSFNLIB.SCRIPT TO  role_name;
GRANT EXECUTE ON  authorization_name  TO  role_name;

SYSUIF.DEFAULT_AUTHは、EXECUTE権限の許可オブジェクト ターゲットとして提供されます。