

 Amazon Redshift は、パッチ 198 以降、新しい Python UDF の作成をサポートしなくなります。既存の Python UDF は、2026 年 6 月 30 日まで引き続き機能します。詳細については、[ブログ記事](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)を参照してください。

# UDF のセキュリティとアクセス許可
<a name="udf-security-and-privileges"></a>

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

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

```
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` に使用を許可します。

```
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](r_GRANT.md)」と「[REVOKE](r_REVOKE.md)」を参照してください。