

 Amazon Redshift non supporterà più la creazione di nuovi Python UDFs a partire dalla Patch 198. Python esistente UDFs continuerà a funzionare fino al 30 giugno 2026. Per ulteriori informazioni, consulta il [post del blog](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Sicurezza e autorizzazioni delle UDF
<a name="udf-security-and-privileges"></a>

Per creare una UDF devi disporre dell'autorizzazione per l'utilizzo nel linguaggio per SQL o plpythonu (Python). Per impostazione predefinita, USAGE ON LANGUAGE SQL viene concesso a PUBLIC, ma devi concedere esplicitamente USAGE ON LANGUAGE PLPYTHONU a utenti o gruppi specifici. 

Per revocare l'utilizzo per SQL, revoca innanzitutto l'utilizzo da PUBLIC. Quindi concedi l'utilizzo di SQL solo agli utenti o ai gruppi specifici autorizzati a creare SQL UDFs. L'esempio seguente revoca l'utilizzo su SQL da PUBLIC. Concede quindi l'utilizzo al gruppo di utenti `udf_devs`.

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

Per eseguire una funzione definita dall'utente, è necessario disporre dell'autorizzazione di esecuzione per ciascuna funzione. Per impostazione predefinita, l'autorizzazione a eseguire new UDFs viene concessa a PUBLIC. Per limitare l'utilizzo, revocare l'autorizzazione da PUBLIC. Quindi concedi il privilegio a specifici individui o gruppi. 

L'esempio seguente revoca l'esecuzione su una funzione `f_py_greater` da PUBLIC. Concede quindi l'utilizzo al gruppo di utenti `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;
```

Per impostazione predefinita gli utenti con privilegi avanzati hanno tutti i privilegi. 

Per ulteriori informazioni, consultare [GRANT](r_GRANT.md) e [REVOKE](r_REVOKE.md).