

 Amazon Redshift non supporterà più la creazione di nuove UDF Python a partire dalla Patch 198. Le UDF Python esistenti continueranno 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à.

# Note per l'utilizzo
<a name="r_REVOKE-usage-notes"></a>

Per revocare i privilegi a un oggetto, è necessario soddisfare uno dei seguenti criteri:
+ Essere il proprietario dell'oggetto.
+ Essere un utente con privilegi avanzati.
+ Avere un privilegio di concessione per l'oggetto e il privilegio.

  Ad esempio, il seguente comando consente all'utente HR di eseguire i comandi SELECT sulla tabella dei dipendenti e di concedere e revocare lo stesso privilegio per altri utenti.

  ```
  grant select on table employees to HR with grant option;
  ```

  HR non può revocare privilegi per operazioni diverse da SELECT o su qualsiasi altra tabella rispetto a quella dei dipendenti. 

Gli utenti con privilegi avanzati possono accedere a tutti gli oggetti indipendentemente dai comandi GRANT e REVOKE che impostano i privilegi dell'oggetto.

PUBLIC rappresenta un gruppo che include sempre tutti gli utenti. Per impostazione predefinita tutti i membri di PUBLIC hanno i privilegi CREATE e USAGE nello schema PUBLIC. Per limitare le autorizzazioni di qualsiasi utente sullo schema PUBLIC, è necessario prima revocare tutte le autorizzazioni da PUBLIC sullo schema PUBLIC, quindi concedere i privilegi a specifici utenti o gruppi. L'esempio seguente controlla i privilegi di creazione della tabella nello schema PUBLIC.

```
revoke create on schema public from public;
```

Per revocare i privilegi da una tabella Lake Formation, il ruolo IAM associato con lo schema esterno della tabella deve avere l'autorizzazione per revocare i privilegi alla tabella esterna. L'esempio seguente crea uno schema esterno con un ruolo IAM associato `myGrantor`. Il ruolo IAM `myGrantor` ha l'autorizzazione di revocare le autorizzazioni da altri. Il comando REVOKE utilizza l'autorizzazione del ruolo IAM `myGrantor` associato allo schema esterno per revocare l'autorizzazione al ruolo IAM `myGrantee`.

```
create external schema mySchema
from data catalog
database 'spectrum_db'
iam_role 'arn:aws:iam::123456789012:role/myGrantor'
create external database if not exists;
```

```
revoke select
on external table mySchema.mytable
from iam_role 'arn:aws:iam::123456789012:role/myGrantee';
```

**Nota**  
Se il ruolo IAM dispone anche dell'`ALL`autorizzazione in un AWS Glue Data Catalog account abilitato per Lake Formation, l'`ALL`autorizzazione non viene revocata. Viene revocata solo autorizzazione `SELECT`. È possibile visualizzare le autorizzazioni Lake Formation nella console Lake Formation.

## Note di utilizzo per la revoca dell'autorizzazione ASSUMEROLE
<a name="r_REVOKE-usage-notes-assumerole"></a>

Le seguenti note di utilizzo si applicano alla revoca del privilegio ASSUMEROLE in Amazon Redshift. 

Solo un utente con privilegi avanzati del database può revocare il privilegio ASSUMEROLE per utenti e gruppi. Un utente con privilegi avanzati mantiene sempre il privilegio ASSEMEROLE. 

Per abilitare l'uso del privilegio ASSUMEROLE per utenti e gruppi, un utente con privilegi avanzati esegue l'istruzione riportata una volta nel cluster. Prima di concedere il privilegio ASSUMEROLE a utenti e gruppi, un utente con privilegi avanzati deve eseguire l'istruzione riportata una volta nel cluster. 

```
revoke assumerole on all from public for all;
```

## Note di utilizzo per la revoca delle autorizzazioni di machine learning
<a name="r_REVOKE-usage-notes-create-model"></a>

Non è possibile concedere o revocare direttamente le autorizzazioni relative a una funzione ML. Una funzione ML appartiene a un modello ML e le autorizzazioni sono controllate tramite il modello. È invece possibile revocare le autorizzazioni relative al modello ML. L'esempio seguente dimostra come revocare le autorizzazioni di esecuzione a tutti gli utenti associati al modello `customer_churn`.

```
REVOKE EXECUTE ON MODEL customer_churn FROM PUBLIC;
```

Puoi anche revocare tutte le autorizzazioni a un utente per il modello ML `customer_churn`.

```
REVOKE ALL on MODEL customer_churn FROM ml_user;
```

La concessione o la revoca dell'autorizzazione `EXECUTE` relativa a una funzione ML avrà esito negativo se nello schema è presente una funzione ML, anche se tale funzione ML dispone già dell'autorizzazione `EXECUTE` tramite `GRANT EXECUTE ON MODEL`. Si consiglia di utilizzare uno schema separato quando si utilizza il comando `CREATE MODEL` per mantenere le funzioni ML in uno schema separato. L'esempio seguente mostra come fare.

```
CREATE MODEL ml_schema.customer_churn
FROM customer_data
TARGET churn
FUNCTION ml_schema.customer_churn_prediction
IAM_ROLE default
SETTINGS (
 S3_BUCKET 'amzn-s3-demo-bucket'
);
```