メニュー
Amazon Redshift
データベース開発者ガイド (API Version 2012年12月1日)

UDF のセキュリティおよび権限

UDF を作成するには、SQL または plpythonu (Python) 用の言語で使用のアクセス権限を持っている必要があります。デフォルトでは、USAGE ON LANGUAGE SQL が PUBLIC に許可されますが、特定のユーザーまたはグループに明示的に USAGE ON LANGUAGE PLPYTHONU を許可する必要があります。

SQL の使用を取り消すには、最初に PUBLIC から使用を取り消します。次に、SQL UDF を作成するために許可された特定のユーザーまたはグループにのみ、SQL での使用を許可します。次の例では、PUBLIC から SQL での使用を取り消します。次に、ユーザーグループ udf_devs に使用を許可します。

Copy
revoke usage on language sql from PUBLIC; grant usage on language sql to group udf_devs;

UDF を実行するには、関数ごとに実行権限を持っている必要があります。デフォルトでは、新しい UDF を実行する権限が PUBLIC に付与されます。使用を制限するには、関数に対して PUBLIC から実行を取り消します。次に、特定の個人またはグループに権限を付与します。

次の例では、PUBLIC から関数 f_py_greater での実行を取り消します。次に、ユーザーグループ udf_devs に使用を許可します。

Copy
revoke execute on function f_py_greater(a float, b float) from PUBLIC; grant execute on function f_py_greater(a float, b float) to group udf_devs;

スーパーユーザーは、デフォルトですべての権限を持っています。

詳細については、「GRANT」および「REVOKE」を参照してください。