

 O Amazon Redshift não permitirá mais a criação de UDFs do Python a partir do Patch 198. As UDFs do Python existentes continuarão a funcionar normalmente até 30 de junho de 2026. Para ter mais informações, consulte a [publicação de blog ](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

# Segurança e permissões de UDFs
<a name="udf-security-and-privileges"></a>

Para criar uma UDF, você deve ter permissão de uso na linguagem para SQL ou plpythonu (Python). Por padrão, USAGE ON LANGUAGE SQL é concedido a PUBLIC, mas você deve conceder explicitamente USAGE ON LANGUAGE PLPYTHONU a usuários ou grupos específicos. 

Para revogar o uso na SQL, revogue primeiro o uso em PUBLIC. Depois, conceda o uso na SQL somente a usuários ou grupos específicos que tenham permissão para criar UDFs SQL. O exemplo a seguir revoga o uso na SQL em PUBLIC. Depois, ele concede o uso ao grupo de usuários `udf_devs`.

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

Para executar uma UDF, você deve ter permissão de execução em cada função. Por padrão, a permissão de execução de novas UDFs é concedida a PUBLIC. Para restringir o uso, revogue a execução da função em PUBLIC. Depois, conceda o privilégio a pessoas ou grupos específicos. 

O exemplo a seguir revoga a execução na função `f_py_greater` em PUBLIC. Depois, ele concede o uso ao grupo de usuários `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;
```

Os superusuários têm todos os privilégios por padrão. 

Para obter mais informações, consulte [GRANT](r_GRANT.md) e [REVOKE](r_REVOKE.md).