

 O Amazon Redshift deixará de oferecer suporte ao uso de UDFs em Python após 30 de junho de 2026. Começaremos a aplicar essa alteração em fases. Consulte mais informações sobre os detalhes do fim da vida útil do Python e as opções de migração na [publicação do blog](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/) publicada em 30 de junho de 2025. 

# 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).