

 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à.

# REVOKE
<a name="r_REVOKE"></a>

Rimuove i privilegi di accesso, come i privilegi per creare, eliminare o aggiornare tabelle, da un utente o un ruolo.

Per quanto riguarda le autorizzazioni, è possibile usare solo GRANT o REVOKE USAGE su uno schema esterno per gli utenti del database e i ruoli che utilizzano la sintassi ON SCHEMA. Quando si utilizza ON EXTERNAL SCHEMA con AWS Lake Formation, è possibile concedere e revocare solo le autorizzazioni a un ruolo (IAM). AWS Identity and Access Management Per un elenco delle autorizzazioni richieste, consulta la sintassi.

Per le procedure archiviate, USAGE ON LANGUAGE `plpgsql` è concesso a PUBLIC per impostazione predefinita. Per impostazione predefinita, EXECUTE ON PROCEDURE è concesso solo al proprietario e agli utenti con privilegi avanzati.

Specificare nel comando REVOKE le autorizzazioni che si desidera rimuovere. Per concedere le autorizzazioni, utilizzare il comando [GRANT](r_GRANT.md). 

## Sintassi
<a name="r_REVOKE-synopsis"></a>

```
REVOKE [ GRANT OPTION FOR ]
{ { SELECT | INSERT | UPDATE | DELETE | DROP | REFERENCES | ALTER | TRUNCATE } [,...] | ALL [ PRIVILEGES ] }
ON { [ TABLE ] table_name [, ...] | ALL TABLES IN SCHEMA schema_name [, ...] }
FROM { username | ROLE role_name | GROUP group_name | PUBLIC } [, ...]
[ RESTRICT ]

REVOKE [ GRANT OPTION FOR ]
{ { CREATE | TEMPORARY | TEMP | ALTER } [,...] | ALL [ PRIVILEGES ] }
ON DATABASE db_name [, ...]
FROM { username | ROLE role_name | GROUP group_name | PUBLIC } [, ...]
[ RESTRICT ]

REVOKE [ GRANT OPTION FOR ]
{ { CREATE | USAGE | ALTER | DROP } [,...] | ALL [ PRIVILEGES ] }
ON SCHEMA schema_name [, ...]
FROM { username | ROLE role_name | GROUP group_name | PUBLIC } [, ...]
[ RESTRICT ]

REVOKE [ GRANT OPTION FOR ]
EXECUTE
    ON FUNCTION function_name ( [ [ argname ] argtype [, ...] ] ) [, ...]
    FROM { username | ROLE role_name | GROUP group_name | PUBLIC } [, ...]
[ RESTRICT ]

REVOKE [ GRANT OPTION FOR ]
{ { EXECUTE } [,...] | ALL [ PRIVILEGES ] }
    ON PROCEDURE procedure_name ( [ [ argname ] argtype [, ...] ] ) [, ...]
    FROM { username | ROLE role_name | GROUP group_name | PUBLIC } [, ...]
[ RESTRICT ]

REVOKE [ GRANT OPTION FOR ]
USAGE
    ON LANGUAGE language_name [, ...]
    FROM { username | ROLE role_name | GROUP group_name | PUBLIC } [, ...]
[ RESTRICT ]

REVOKE [GRANT OPTION FOR] 
{ { ALTER | DROP} [,...] | ALL [ PRIVILEGES ] }
    ON COPY JOB job_name [,...]
    FROM { username | ROLE role_name | GROUP group_name | PUBLIC } [, ...]    

REVOKE [GRANT OPTION FOR]
{ { ALTER | DROP | USAGE } [,...] | ALL [ PRIVILEGES ] }
    ON TEMPLATE template_name [,...]
    FROM { username | ROLE role_name | GROUP group_name | PUBLIC } [, ...]
```

### Revoca delle autorizzazioni a livello di colonna per le tabelle
<a name="revoke-column-level"></a>

Di seguito è riportata la sintassi per le autorizzazioni a livello di colonna su tabelle e viste di Amazon Redshift. 

```
REVOKE { { SELECT | UPDATE } ( column_name [, ...] ) [, ...] | ALL [ PRIVILEGES ] ( column_name [,...] ) }
     ON { [ TABLE ] table_name [, ...] }
     FROM { username | ROLE role_name | GROUP group_name | PUBLIC } [, ...]
     [ RESTRICT ]
```

### Revoca delle autorizzazioni ASSUMEROLE
<a name="revoke-assumerole-permissions"></a>

Di seguito è riportata la sintassi per revocare l'autorizzazione ASSUMEROLE da utenti e gruppi con un ruolo specificato. 

```
REVOKE ASSUMEROLE
    ON { 'iam_role' [, ...]  | default | ALL }
    FROM { user_name | ROLE role_name | GROUP group_name | PUBLIC } [, ...]
    FOR { ALL | COPY | UNLOAD | EXTERNAL FUNCTION | CREATE MODEL }
```

### Revoca delle autorizzazioni per Redshift Spectrum per Lake Formation
<a name="revoke-spectrum-integration-with-lf-permissions"></a>

Di seguito è riportata la sintassi per l'integrazione di Redshift Spectrum con Lake Formation.

```
REVOKE [ GRANT OPTION FOR ]
{ SELECT | ALL [ PRIVILEGES ] } ( column_list )
    ON EXTERNAL TABLE schema_name.table_name
    FROM { IAM_ROLE iam_role } [, ...]

REVOKE [ GRANT OPTION FOR ]
{ { SELECT | ALTER | DROP | DELETE | INSERT }  [, ...] | ALL [ PRIVILEGES ] }
    ON EXTERNAL TABLE schema_name.table_name [, ...]
    FROM { { IAM_ROLE iam_role } [, ...] | PUBLIC }

REVOKE [ GRANT OPTION FOR ]
{ { CREATE | ALTER | DROP }  [, ...] | ALL [ PRIVILEGES ] }
    ON EXTERNAL SCHEMA schema_name [, ...]
    FROM { IAM_ROLE iam_role } [, ...]
```

### Revoca delle autorizzazioni dell'unità di condivisione dati
<a name="revoke-datashare-permissions"></a>

**Autorizzazioni dell'unità di condivisione dati sul lato producer**  
Di seguito è riportata la sintassi per l'utilizzo di REVOKE per rimuovere le autorizzazioni ALTER o SHARE da un utente o un ruolo. L'utente con le autorizzazioni revocate non può più modificare l'unità di condivisione dati o assegnarne l'utilizzo a un consumer. 

```
REVOKE { ALTER | SHARE } ON DATASHARE datashare_name
 FROM { username [ WITH GRANT OPTION ] | ROLE role_name | GROUP group_name | PUBLIC } [, ...]
```

Di seguito è riportata la sintassi per l'utilizzo di REVOKE per rimuovere l'accesso di un utente a un'unità di condivisione dati.

```
REVOKE USAGE
 ON DATASHARE datashare_name
 FROM NAMESPACE 'namespaceGUID' [, ...] | ACCOUNT 'accountnumber' [ VIA DATA CATALOG ] [, ...]
```

Di seguito è riportato un esempio per revocare l'autorizzazione di utilizzo di un'unità di condivisione dati a un account Lake Formation.

```
REVOKE USAGE ON DATASHARE salesshare FROM ACCOUNT '123456789012' VIA DATA CATALOG;
```

**Autorizzazioni dell'unità di condivisione dati sul lato consumer**  
Di seguito è riportata la sintassi di REVOKE per le autorizzazioni di utilizzo per la condivisione dei dati su un database o uno schema specifico creato da una unità di condivisione dati. La revoca dell'autorizzazione di utilizzo a un database creato con la clausola WITH PERMISSIONS non revoca le autorizzazioni aggiuntive assegnate a un utente o a un ruolo, incluse quelle a livello di oggetto assegnate agli oggetti sottostanti. Se assegni nuovamente l'autorizzazione di utilizzo all'utente o al ruolo, verranno mantenute tutte le autorizzazioni aggiuntive di cui l'utente o il ruolo disponeva prima della revoca dell'utilizzo.

```
REVOKE USAGE ON { DATABASE shared_database_name [, ...] | SCHEMA shared_schema}
 FROM { username | ROLE role_name | GROUP group_name | PUBLIC } [, ...]
```

### Revoca delle autorizzazioni con ambito
<a name="revoke-scoped-permissions"></a>

Le autorizzazioni con ambito consentono di concedere autorizzazioni a un utente o a un ruolo per tutti gli oggetti di un tipo all’interno di un database o uno schema. Gli utenti e i ruoli con autorizzazioni con ambito dispongono delle autorizzazioni specificate per tutti gli oggetti correnti e futuri all’interno del database o dello schema.

Puoi visualizzare l’ambito delle autorizzazioni con ambito a livello di database in [SVV\$1DATABASE\$1PRIVILEGES](r_SVV_DATABASE_PRIVILEGES.md). Puoi visualizzare l’ambito delle autorizzazioni con ambito a livello di schema in [SVV\$1SCHEMA\$1PRIVILEGES](r_SVV_SCHEMA_PRIVILEGES.md).

Per ulteriori informazioni sulle autorizzazioni con ambito, consulta [Autorizzazioni con ambito](t_scoped-permissions.md).

Di seguito è riportata la sintassi per revocare a utenti e ruoli autorizzazioni specifiche. 

```
REVOKE [ GRANT OPTION ] 
{ CREATE | USAGE | ALTER | DROP } [,...] | ALL [ PRIVILEGES ] }
FOR SCHEMAS IN
DATABASE db_name 
FROM { username | ROLE role_name } [, ...]

REVOKE [ GRANT OPTION ]
{ { SELECT | INSERT | UPDATE | DELETE | DROP | ALTER | TRUNCATE | REFERENCES } [, ...] } | ALL [PRIVILEGES] } }
FOR TABLES IN
{ SCHEMA schema_name [ DATABASE db_name ] | DATABASE db_name }
FROM { username | ROLE role_name } [, ...]

REVOKE [ GRANT OPTION ] { EXECUTE | ALL [ PRIVILEGES ] }
FOR FUNCTIONS IN 
{ SCHEMA schema_name [DATABASE db_name ] | DATABASE db_name }
FROM { username | ROLE role_name } [, ...]

REVOKE [ GRANT OPTION ] { EXECUTE | ALL [ PRIVILEGES ] }
FOR PROCEDURES IN
{ SCHEMA schema_name [DATABASE db_name ] | DATABASE db_name }
FROM { username | ROLE role_name } [, ...]

REVOKE [ GRANT OPTION ] USAGE
FOR LANGUAGES IN
DATABASE db_name
FROM { username | ROLE role_name } [, ...]  

REVOKE [GRANT_OPTION] 
{ { CREATE | ALTER | DROP} [,...] | ALL [ PRIVILEGES ] }
FOR COPY JOBS 
IN DATABASE db_name
FROM { username [ WITH GRANT OPTION ] | ROLE role_name } [, ...]      

REVOKE [ GRANT OPTION ]
{ {ALTER | DROP  | USAGE } [,...] | ALL [ PRIVILEGES ] }
FOR TEMPLATES IN
{ SCHEMA schema_name [DATABASE db_name ] | DATABASE db_name }
FROM { username | ROLE role_name } [, ...]
```

Tieni presente che le autorizzazioni con ambito non fanno distinzione tra le autorizzazioni per le funzioni e le procedure. Ad esempio, l’istruzione seguente revoca le autorizzazioni `EXECUTE` sia per le funzioni che per le procedure di `bob` nello schema `Sales_schema`. 

```
REVOKE EXECUTE FOR FUNCTIONS IN SCHEMA Sales_schema FROM bob;
```

### Revoca delle autorizzazioni di machine learning
<a name="revoke-model-permissions"></a>

Di seguito è riportata la sintassi per le autorizzazioni per il modello di machine learning su Amazon Redshift.

```
REVOKE [ GRANT OPTION FOR ]
    CREATE MODEL FROM { username | ROLE role_name | GROUP group_name | PUBLIC } [, ...]
    [ RESTRICT ]

REVOKE [ GRANT OPTION FOR ]
    { EXECUTE | ALL [ PRIVILEGES ] }
    ON MODEL model_name [, ...]

    FROM { username | ROLE role_name | GROUP group_name | PUBLIC } [, ...]
    [ RESTRICT ]
```

### Revoca delle autorizzazioni per i ruoli
<a name="revoke-roles"></a>

Di seguito è riportata la sintassi per revocare le autorizzazioni per i ruoli su Amazon Redshift.

```
REVOKE [ ADMIN OPTION FOR ] { ROLE role_name } [, ...] FROM { user_name } [, ...]
```

```
REVOKE { ROLE role_name } [, ...] FROM { ROLE role_name } [, ...]
```

Di seguito è riportata la sintassi per revocare le autorizzazioni di sistema per i ruoli su Amazon Redshift.

```
REVOKE
  {
    { CREATE USER | DROP USER | ALTER USER |
    CREATE SCHEMA | DROP SCHEMA |
    ALTER DEFAULT PRIVILEGES |
    ACCESS CATALOG |
    CREATE TABLE | DROP TABLE | ALTER TABLE |
    CREATE OR REPLACE FUNCTION | CREATE OR REPLACE EXTERNAL FUNCTION |
    DROP FUNCTION |
    CREATE OR REPLACE PROCEDURE | DROP PROCEDURE |
    CREATE OR REPLACE VIEW | DROP VIEW |
    CREATE MODEL | DROP MODEL |
    CREATE DATASHARE | ALTER DATASHARE | DROP DATASHARE |
    CREATE LIBRARY | DROP LIBRARY |
    CREATE ROLE | DROP ROLE
    TRUNCATE TABLE
    VACUUM | ANALYZE | CANCEL }[, ...]
  }
  | { ALL [ PRIVILEGES ] }
FROM { ROLE role_name } [, ...]
```

### Revoca delle autorizzazioni per le policy di sicurezza
<a name="revoke-role-level"></a>

Di seguito è riportata la sintassi per la revoca delle autorizzazioni che spiega i filtri delle policy di sicurezza di una query nel piano EXPLAIN. Le policy di sicurezza possibili includono le policy di sicurezza a livello di riga e le politiche di mascheramento dinamico dei dati.

```
REVOKE EXPLAIN { RLS | MASKING } FROM ROLE rolename 
```

Di seguito è riportata la sintassi per revocare le autorizzazioni a escludere le policy di sicurezza a livello di riga per una query. 

```
REVOKE IGNORE RLS FROM ROLE rolename 
```

Di seguito è riportata la sintassi per revocare le autorizzazioni SELECT dalla policy di sicurezza specificata. Le policy di sicurezza possibili includono le policy di sicurezza a livello di riga e le politiche di mascheramento dinamico dei dati.

```
REVOKE SELECT ON [ TABLE ] table_name [, ...]
            FROM { RLS | MASKING } POLICY policy_name [, ...]
```

## Parameters
<a name="r_REVOKE-parameters"></a>

GRANT OPTION FOR   
Revoca solo l'opzione per concedere un'autorizzazione specificata ad altri utenti e non revoca l'autorizzazione stessa. Non puoi revocare GRANT OPTION a un gruppo o a PUBLIC.

SELECT   
Revoca l'autorizzazione a selezionare i dati da una tabella o una vista utilizzando un'istruzione SELECT.

INSERT   
Revoca l'autorizzazione a caricare i dati in una tabella utilizzando un'istruzione INSERT o un'istruzione COPY. 

UPDATE   
Revoca l'autorizzazione ad aggiornare una colonna della tabella utilizzando un'istruzione UPDATE. 

DELETE   
Revoca l'autorizzazione a eliminare una riga di dati da una tabella.

REFERENCES   
Revoca l'autorizzazione a creare un vincolo di chiave esterna. È necessario revocare questa autorizzazione sia sulla tabella a cui si fa riferimento, sia sulla tabella che fa da riferimento.

TRUNCATE  
Revoca l'autorizzazione a troncare una tabella. Senza questa autorizzazione, solo il proprietario di una tabella o un utente con privilegi avanzati può troncare una tabella. Per ulteriori informazioni sul comando TRUNCATE, consulta [TRUNCATE](r_TRUNCATE.md).

ALL [ PRIVILEGES ]   
Revoca contemporaneamente tutte le autorizzazioni disponibili per l'utente o il gruppo specificato. La parola chiave PRIVILEGES è facoltativa.  
 Amazon Redshift non supporta le autorizzazioni RULE e TRIGGER. Per ulteriori informazioni, consulta [Caratteristiche PostgreSQL non supportate](c_unsupported-postgresql-features.md). 

ALTER  
A seconda dell'oggetto del database, revoca le seguenti autorizzazioni all'utente o al gruppo di utenti:   
+ Per le tabelle, ALTER revoca l'autorizzazione a modificare una tabella o una vista. Per ulteriori informazioni, consulta [ALTER TABLE](r_ALTER_TABLE.md).
+ Per i database, ALTER revoca l'autorizzazione a modificare un database. Per ulteriori informazioni, consulta [ALTER DATABASE](r_ALTER_DATABASE.md).
+ Per gli schemi, ALTER revoca l'autorizzazione a modificare uno schema. Per ulteriori informazioni, consulta [ALTER SCHEMA](r_ALTER_SCHEMA.md).
+ Per le tabelle esterne, ALTER revoca l'autorizzazione a modificare una tabella in un AWS Glue Data Catalog abilitato per Lake Formation. Questa autorizzazione si applica solo quando si utilizza Lake Formation.

DROP  
A seconda dell’oggetto del database, revoca le seguenti autorizzazioni all’utente o al ruolo:  
+  Per le tabelle, DROP revoca l’autorizzazione a rimuovere una tabella o una vista. Per ulteriori informazioni, consulta [DROP TABLE](r_DROP_TABLE.md). 
+  Per i database, DROP revoca l’autorizzazione a rimuovere un database. Per ulteriori informazioni, consulta [DROP DATABASE](r_DROP_DATABASE.md). 
+  Per gli schemi, DROP revoca l’autorizzazione a rimuovere uno schema. Per ulteriori informazioni, consulta [DROP SCHEMA](r_DROP_SCHEMA.md). 

ASSUMEROLE  <a name="assumerole"></a>
Revoca l'autorizzazione a eseguire i comandi COPY, UNLOAD, EXTERNAL FUNCTION o CREATE MODEL per utenti, ruoli o gruppi con un ruolo specificato. 

ON [ TABLE ] *table\$1name*   
Revoca le autorizzazioni specificate su una tabella o una vista. La parola chiave TABLE è facoltativa.

ON ALL TABLES IN SCHEMA *schema\$1name*   
Revoca le autorizzazioni specificate su tutte le tabelle nello schema a cui si fa riferimento.

( *column\$1name* [,...] ) ON TABLE *table\$1name*   <a name="revoke-column-level-privileges"></a>
Revoca le autorizzazioni specificate da utenti, gruppi o PUBLIC nelle colonne specificate della tabella o della vista Amazon Redshift.

( *column\$1list* ) ON EXTERNAL TABLE *schema\$1name.table\$1name*   <a name="revoke-external-table-column"></a>
Revoca le autorizzazioni specificate da un ruolo IAM nelle colonne indicate della tabella Lake Formation nello schema a cui si fa riferimento.

ON EXTERNAL TABLE *schema\$1name.table\$1name*   <a name="revoke-external-table"></a>
Revoca le autorizzazioni specificate da un ruolo IAM nelle tabelle Lake Formation specificate nello schema a cui si fa riferimento.

ON EXTERNAL SCHEMA *schema\$1name*   <a name="revoke-external-schema"></a>
Revoca le autorizzazioni specificate da un ruolo IAM nello schema a cui si fa riferimento.

FROM IAM\$1ROLE *iam\$1role*   <a name="revoke-from-iam-role"></a>
Indica il ruolo IAM che perde le autorizzazioni.

ROLE *role\$1name*   
Revoca le autorizzazioni dal ruolo specificato.

GROUP *group\$1name*   
Revoca le autorizzazioni al gruppo di utenti specificato.

PUBLIC   
Revoca le autorizzazioni a tutti gli utenti. PUBLIC rappresenta un gruppo che include sempre tutti gli utenti. Le autorizzazioni di un singolo utente consistono nella somma delle autorizzazioni concesse a PUBLIC, delle autorizzazioni concesse a tutti i gruppi a cui l'utente appartiene e di tutte le autorizzazioni concesse all'utente singolarmente.  
La revoca di PUBLIC da una tabella esterna di Lake Formation comporta la revoca dell'autorizzazione al gruppo *everyone* di Lake Formation.

CREATE   
A seconda dell'oggetto del database, revoca le seguenti autorizzazioni all'utente o al gruppo:  
+ Per i database, l'utilizzo della clausola CREATE per REVOKE impedisce agli utenti di creare schemi all'interno del database.
+ Per gli schemi, l'utilizzo della clausola CREATE per REVOKE impedisce agli utenti di creare oggetti all'interno di uno schema. Per rinominare un oggetto, l'utente deve avere l'autorizzazione CREATE ed essere il proprietario dell'oggetto da rinominare. 
Di default, tutti gli utenti dispongono delle autorizzazioni CREATE e USAGE per lo schema PUBLIC di un database.

TEMPORARY \$1 TEMP   
Revoca l'autorizzazione a creare tabelle temporanee nel database specificato.  
Per impostazione predefinita, agli utenti è concessa l'autorizzazione di creare tabelle temporanee tramite la loro appartenenza automatica al gruppo PUBLIC. Per rimuovere l'autorizzazione per qualsiasi utente di creare tabelle temporanee, revoca l'autorizzazione TEMP dal gruppo PUBLIC e quindi concedi esplicitamente l'autorizzazione per creare tabelle temporanee per utenti specifici o gruppi di utenti.

ON DATABASE *db\$1name*   
Revoca le autorizzazioni sul database specificato.

USAGE   
Revoca le autorizzazioni USAGE sugli oggetti all'interno di uno schema specifico, rendendo questi oggetti inaccessibili agli utenti. Le operazioni specifiche su questi oggetti devono essere revocate separatamente (come l'autorizzazione EXECUTE sulle funzioni).  
Di default, tutti gli utenti dispongono delle autorizzazioni CREATE e USAGE per lo schema PUBLIC di un database.

ON SCHEMA *schema\$1name*   
Revoca le autorizzazioni sullo schema specificato. Puoi utilizzare le autorizzazioni dello schema per controllare la creazione delle tabelle; l'autorizzazione CREATE per un database controlla solo la creazione degli schemi.

RESTRICT   
Revoca solo le autorizzazioni che l'utente ha concesso direttamente. Questo comportamento è quello predefinito.

EXECUTE ON PROCEDURE *procedure\$1name*   
Revoca l'autorizzazione EXECUTE su una procedura archiviata specifica. Poiché i nomi delle procedure archiviate possono essere in overload, devi includere l'elenco degli argomenti per la procedura. Per ulteriori informazioni, consulta [Denominazione delle stored procedure](stored-procedure-naming.md).

EXECUTE ON ALL PROCEDURES IN SCHEMA *procedure\$1name*   
Revoca le autorizzazioni specificate su tutte le procedure nello schema a cui si fa riferimento.

USAGE ON LANGUAGE *language\$1name*   
Revoca l'autorizzazione USAGE per una lingua. Per le funzioni definite dall'utente in Python (UDFs), usa. `plpythonu` Per SQL UDFs, usa. `sql` Per le procedure archiviate, usa `plpgsql`.   
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 è concesso a PUBLIC. Tuttavia, 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, quindi concede 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 ulteriori informazioni, consulta [Sicurezza e autorizzazioni delle UDF](udf-security-and-privileges.md).   
Per revocare l'utilizzo per le procedure archiviate, revoca innanzitutto l'utilizzo da PUBLIC. Quindi concedi l'utilizzo su `plpgsql` solo a utenti o gruppi specifici autorizzati a creare procedure archiviate. Per ulteriori informazioni, consulta [Sicurezza e privilegi per le procedure archiviate](stored-procedure-security-and-privileges.md). 

ON COPY JOB *job\$1name*  <a name="on-copy-job-revoke"></a>
Revoca le autorizzazioni specificate per un processo di copia.

FOR \$1 ALL \$1 COPY \$1 UNLOAD \$1 EXTERNAL FUNCTION \$1 CREATE MODEL \$1 [, ...]  <a name="revoke-for"></a>
Specifica il comando SQL per il quale viene revocata l'autorizzazione. Puoi specificare ALL per revocare l'autorizzazione sulle istruzioni COPY, UNLOAD, EXTERNAL FUNCTION e CREATE MODEL. Questa clausola si applica solo alla revoca dell'autorizzazione ASSUMEROLE.

ALTER  
Revoca l'autorizzazione ALTER per utenti o gruppi di utenti che consente a coloro che non possiedono una unità di condivisione dati di modificarla. Questa autorizzazione è richiesta per aggiungere o rimuovere oggetti da una unità di condivisione dati o per impostare la proprietà PUBLICACCESSIBLE. Per ulteriori informazioni, consulta [ALTER DATASHARE](r_ALTER_DATASHARE.md).

SHARE  
Revoca le autorizzazioni a utenti e gruppi di utenti per aggiungere consumer a una unità di condivisione dati. La revoca di questa autorizzazione è necessaria per impedire al particolare consumer di accedere all'unità di condivisione dati dai suoi cluster. 

ON DATASHARE *nome\$1unità\$1condivisione\$1dati*  
Concede le autorizzazioni specificate sull'unità di condivisione dati a cui si fa riferimento.

FROM username  
Indica il ruolo IAM che perde le autorizzazioni.

FROM GROUP *nome\$1gruppo*  
Indica il gruppo di utenti che perde le autorizzazioni.

WITH GRANT OPTION  
Indica che l'utente che perde le autorizzazioni può a sua volta revocare le stesse autorizzazioni ad altri. Non è possibile revocare WITH GRANT OPTION per un gruppo o per PUBLIC. 

USAGE  
Quando USAGE viene revocato per un account consumer o uno spazio dei nomi all'interno dello stesso account, l'account consumer specifico o lo spazio dei nomi all'interno dell'account non potrà accedere all'unità di condivisione dati e gli oggetti dell'unità di condivisione dati saranno in sola lettura.   
La revoca dell'autorizzazione USAGE revoca l'accesso a una unità di condivisione dati da parte dei consumer. 

FROM NAMESPACE 'clusternamespace GUID'   
Indica lo spazio dei nomi nello stesso account in cui i consumer perdono le autorizzazioni per l'unità di condivisione dati. Gli spazi dei nomi utilizzano un identificatore univoco globale (GUID) alfanumerico a 128 bit.

FROM ACCOUNT 'accountnumber' [ VIA DATA CATALOG ]  
Indica il numero di account di un altro account in cui i consumer perdono le autorizzazioni per l'unità di condivisione dati. Specificare 'VIA DATA CATALOG' indica che si sta revocando l'autorizzazione per l'utilizzo del'unità di condivisione dati da un account Lake Formation. L'omissione del numero di account indica che lo si sta revocando dall'account proprietario del cluster.

ON DATABASE *nome\$1database\$1condiviso> [, ...]*   <a name="revoke-datashare"></a>
Revoca le autorizzazioni di utilizzo indicate per il database specificato creato nell'unità di condivisione dati specificata. 

ON SCHEMA* schema\$1condiviso*   <a name="revoke-datashare"></a>
Revoca le autorizzazioni indicate per lo schema specificato creato nell'unità di condivisione dati specificata.

FOR \$1 SCHEMAS \$1 TABLES \$1 FUNCTIONS \$1 PROCEDURES \$1 LANGUAGES \$1 COPY JOBS\$1 IN   
Specifica gli oggetti del database a cui revocare l'autorizzazione. I parametri successivi a IN definiscono l'ambito dell'autorizzazione revocata.

CREATE MODEL  
Revoca l'autorizzazione CREATE MODEL per creare modelli di machine learning nel database specificato.

ON MODEL *nome\$1modello*  
Revoca l'autorizzazione EXECUTE per un modello specifico. 

ACCESS CATALOG  
Revoca l'autorizzazione a visualizzare i metadati pertinenti degli oggetti a cui il ruolo ha accesso.

[ ADMIN OPTION FOR ] \$1 role \$1 [, ...]  
Il ruolo che si revoca da un utente specificato che dispone dell'opzione WITH ADMIN OPTION.

FROM \$1 role \$1 [, ...]  
Il ruolo da cui si revoca il ruolo specificato.

EXPLAIN \$1 RLS \$1 MASKING \$1 FROM ROLE *rolename*  
Revoca a un ruolo l’autorizzazione a spiegare i filtri delle policy di sicurezza di una query nel piano EXPLAIN. RLS revoca l’autorizzazione a spiegare i filtri delle policy di sicurezza a livello di riga. MASKING revoca l’autorizzazione a spiegare i filtri delle politiche di mascheramento dinamico dei dati.

IGNORE RLS FROM ROLE *rolename*   
Revoca a un ruolo l’autorizzazione a escludere le policy di sicurezza a livello di riga per una query.

*DA \$1RLS \$1 MASKING\$1 POLICY policy\$1name*  
Indica la policy di sicurezza che perde le autorizzazioni. TO RLS POLICY indica una policy di sicurezza a livello di riga. TO MASKING POLICY indica una politica di mascheramento dinamico dei dati.

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

Per ulteriori informazioni sulle note di utilizzo di REVOKE, consulta [Note per l'utilizzo](r_REVOKE-usage-notes.md).

## Esempi
<a name="r_REVOKE-examples-link"></a>

Per gli esempi di come utilizzare REVOKE, consulta [Esempi](r_REVOKE-examples.md).

# 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'
);
```

# Esempi
<a name="r_REVOKE-examples"></a>

L'esempio seguente revoca i privilegi INSERT sulla tabella SALES dal gruppo utenti GUESTS. Questo comando impedisce ai membri di GUESTS di caricare i dati nella tabella SALES utilizzando il comando INSERT. 

```
revoke insert on table sales from group guests;
```

L'esempio seguente revoca all'utente il privilegio SELECT su tutte le tabelle dello schema QA\$1TICKIT: `fred`.

```
revoke select on all tables in schema qa_tickit from fred;
```

L'esempio seguente revoca all'utente il privilegio di selezionare da una vista: `bobr`.

```
revoke select on table eventview from bobr;
```

L'esempio seguente revoca il privilegio di creare tabelle temporanee nel database TICKIT a tutti gli utenti:

```
revoke temporary on database tickit from public;
```

L'esempio seguente revoca il privilegio SELECT sulle colonne `cust_name` e `cust_phone` della tabella `cust_profile` all'utente `user1`. 

```
revoke select(cust_name, cust_phone) on cust_profile from user1;
```

L'esempio seguente revoca il privilegio SELECT sulle colonne `cust_name` e `cust_phone` e il privilegio UPDATE sulla colonna `cust_contact_preference` della tabella `cust_profile` dal gruppo `sales_group`. 

```
revoke select(cust_name, cust_phone), update(cust_contact_preference) on cust_profile from group sales_group;
```

Nell'esempio seguente viene illustrato l'utilizzo della parola chiave ALL per revocare i privilegi SELECT e UPDATE su tre colonne della tabella `cust_profile` dal gruppo `sales_admin`. 

```
revoke ALL(cust_name, cust_phone,cust_contact_preference) on cust_profile from group sales_admin;
```

L'esempio seguente revoca il privilegio SELECT nella colonna `cust_name` della vista `cust_profile_vw` dall'utente `user2`. 

```
revoke select(cust_name) on cust_profile_vw from user2;
```

## Esempi di revoca dell'autorizzazione USAGE ai database creati da unità di condivisione dati
<a name="r_REVOKE-examples-datashare"></a>

L'esempio seguente revoca l'accesso all'unità di condivisione dati `salesshare` allo spazio dei nomi `13b8833d-17c6-4f16-8fe4-1a018f5ed00d`.

```
REVOKE USAGE ON DATASHARE salesshare FROM NAMESPACE '13b8833d-17c6-4f16-8fe4-1a018f5ed00d';
```

L'esempio seguente revoca l'autorizzazione USAGE per `sales_db` a `Bob`.

```
REVOKE USAGE ON DATABASE sales_db FROM Bob;
```

Nell'esempio seguente REVOKE USAGE revoca l'autorizzazione per `sales_schema` a `Analyst_role`.

```
REVOKE USAGE ON SCHEMA sales_schema FROM ROLE Analyst_role;
```

## Esempi di revoca di autorizzazioni con ambito
<a name="r_REVOKE-examples-scoped"></a>

L'esempio seguente revoca al ruolo `Sales` l'utilizzo di tutti gli schemi attuali e futuri nel database `Sales_db`.

```
REVOKE USAGE FOR SCHEMAS IN DATABASE Sales_db FROM ROLE Sales;
```

L'esempio seguente revoca la possibilità di concedere all'utente `alice` l'autorizzazione SELECT per tutte le tabelle correnti e future del database `Sales_db`. `alice` mantiene l'accesso a tutte le tabelle in `Sales_db`.

```
REVOKE GRANT OPTION SELECT FOR TABLES IN DATABASE Sales_db FROM alice;
```

L'esempio seguente revoca all'utente `bob` l'autorizzazione EXECUTE per le funzioni dello schema `Sales_schema`.

```
REVOKE EXECUTE FOR FUNCTIONS IN SCHEMA Sales_schema FROM bob;
```

L'esempio seguente revoca al ruolo `Sales` tutte le autorizzazioni per tutte le tabelle dello schema `ShareSchema` del database `ShareDb`. Quando si specifica lo schema, è anche possibile indicare il database dello schema utilizzando il formato in due parti `database.schema`.

```
REVOKE ALL FOR TABLES IN SCHEMA ShareDb.ShareSchema FROM ROLE Sales;
```

L'esempio seguente è uguale al precedente. Puoi specificare il database dello schema utilizzando la parola chiave `DATABASE` anziché utilizzare un formato in due parti.

```
REVOKE ALL FOR TABLES IN SCHEMA ShareSchema DATABASE ShareDb FROM ROLE Sales;
```

## Esempi di revoca del privilegio ASSUMEROLE
<a name="r_REVOKE-examples-assumerole"></a>

Di seguito sono riportati esempi di revoca del privilegio ASSUMEROLE. 

Un utente con privilegi avanzati deve abilitare l'uso del privilegio ASSUMEROLE per utenti e gruppi eseguendo l'istruzione riportata una volta nel cluster. 

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

L'istruzione seguente revoca il privilegio ASSUMEROLE dall'utente reg\$1user1 su tutti i ruoli per tutte le operazioni. 

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

## Esempi di revoca del privilegio ROLE
<a name="r_REVOKE-examples-role"></a>

L'esempio seguente revoca sample\$1role1 da sample\$1role2.

```
CREATE ROLE sample_role2;
GRANT ROLE sample_role1 TO ROLE sample_role2;
REVOKE ROLE sample_role1 FROM ROLE sample_role2;
```

L'esempio seguente revoca i privilegi di sistema da user1.

```
GRANT ROLE sys:DBA TO user1;
REVOKE ROLE sys:DBA FROM user1;
```

L'esempio seguente revoca sample\$1role1 e sample\$1role2 da user1.

```
CREATE ROLE sample_role1;
CREATE ROLE sample_role2;
GRANT ROLE sample_role1, ROLE sample_role2 TO user1;
REVOKE ROLE sample_role1, ROLE sample_role2 FROM user1;
```

L'esempio seguente revoca sample\$1role2 con l'opzione ADMIN OPTION da user1.

```
GRANT ROLE sample_role2 TO user1 WITH ADMIN OPTION;
REVOKE ADMIN OPTION FOR ROLE sample_role2 FROM user1;
REVOKE ROLE sample_role2 FROM user1;
```

L'esempio seguente revoca sample\$1role1 e sample\$1role2 da sample\$1role5.

```
CREATE ROLE sample_role5;
GRANT ROLE sample_role1, ROLE sample_role2 TO ROLE sample_role5;
REVOKE ROLE sample_role1, ROLE sample_role2 FROM ROLE sample_role5;
```

Nell'esempio seguente vengono revocati i privilegi di sistema CREATE SCHEMA e DROP SCHEMA a sample\$1role1.

```
GRANT CREATE SCHEMA, DROP SCHEMA TO ROLE sample_role1;
REVOKE CREATE SCHEMA, DROP SCHEMA FROM ROLE sample_role1;
```