ALTER DEFAULT PRIVILEGES - Amazon Redshift

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

ALTER DEFAULT PRIVILEGES

Definisce il set predefinito di autorizzazioni di accesso da applicare agli oggetti che verranno creati in futuro dall'utente specificato. Per impostazione predefinita, gli utenti possono modificare solo le proprie autorizzazioni di accesso di default. Solo un superutente può specificare le autorizzazioni predefinite per altri utenti.

È possibile applicare i privilegi predefiniti a ruoli, utenti o a gruppi di utenti. È possibile impostare le autorizzazioni predefinite a livello globale per tutti gli oggetti creati nel database corrente o per gli oggetti creati solo negli schemi specificati.

Le autorizzazioni predefinite si applicano solo ai nuovi oggetti. L'esecuzione ALTER DEFAULT PRIVILEGES non modifica le autorizzazioni sugli oggetti esistenti. Per concedere le autorizzazioni su tutti gli oggetti attuali e futuri creati da qualsiasi utente all'interno di un database o di uno schema, vedere Autorizzazioni con ambito.

Per visualizzare le informazioni sui privilegi predefiniti per gli utenti del database, eseguire una query sulla tabella del catalogo di sistema PG_ _ DEFAULT ACL.

Per ulteriori informazioni sui privilegi, consultare GRANT.

Privilegi richiesti

Di seguito sono riportati i privilegi richiesti per: ALTER DEFAULT PRIVILEGES

  • Superuser

  • Utenti con il privilegio ALTER DEFAULT PRIVILEGES

  • Gli utenti che modificano i propri privilegi di accesso di default

  • Utenti che definiscono i privilegi per gli schemi per i quali dispongono di privilegi di accesso

Sintassi

ALTER DEFAULT PRIVILEGES [ FOR USER target_user [, ...] ] [ IN SCHEMA schema_name [, ...] ] grant_or_revoke_clause where grant_or_revoke_clause is one of: GRANT { { SELECT | INSERT | UPDATE | DELETE | DROP | REFERENCES | TRUNCATE } [,...] | ALL [ PRIVILEGES ] } ON TABLES TO { user_name [ WITH GRANT OPTION ] | ROLE role_name | GROUP group_name | PUBLIC } [, ...] GRANT { EXECUTE | ALL [ PRIVILEGES ] } ON FUNCTIONS TO { user_name [ WITH GRANT OPTION ] | ROLE role_name | GROUP group_name | PUBLIC } [, ...] GRANT { EXECUTE | ALL [ PRIVILEGES ] } ON PROCEDURES TO { user_name [ WITH GRANT OPTION ] | ROLE role_name | GROUP group_name | PUBLIC } [, ...] REVOKE [ GRANT OPTION FOR ] { { SELECT | INSERT | UPDATE | DELETE | REFERENCES | TRUNCATE } [,...] | ALL [ PRIVILEGES ] } ON TABLES FROM user_name [, ...] [ RESTRICT ] REVOKE { { SELECT | INSERT | UPDATE | DELETE | REFERENCES | TRUNCATE } [,...] | ALL [ PRIVILEGES ] } ON TABLES FROM { ROLE role_name | GROUP group_name | PUBLIC } [, ...] [ RESTRICT ] REVOKE [ GRANT OPTION FOR ] { EXECUTE | ALL [ PRIVILEGES ] } ON FUNCTIONS FROM user_name [, ...] [ RESTRICT ] REVOKE { EXECUTE | ALL [ PRIVILEGES ] } ON FUNCTIONS FROM { ROLE role_name | GROUP group_name | PUBLIC } [, ...] [ RESTRICT ] REVOKE [ GRANT OPTION FOR ] { EXECUTE | ALL [ PRIVILEGES ] } ON PROCEDURES FROM user_name [, ...] [ RESTRICT ] REVOKE { EXECUTE | ALL [ PRIVILEGES ] } ON PROCEDURES FROM { ROLE role_name | GROUP group_name | PUBLIC } [, ...] [ RESTRICT ]

Parametri

FORUSERtarget_user

Facoltativo. Il nome dell'utente per il quale sono definiti i privilegi predefiniti. Solo l'utente con privilegi avanzati può specificare i privilegi predefiniti per gli altri utenti. Il valore di default è l'utente corrente.

IN nome_schema SCHEMA

Facoltativo. Se viene visualizzata una SCHEMA clausola IN, i privilegi predefiniti specificati vengono applicati ai nuovi oggetti creati nel nome_schema specificato. In questo caso, l'utente o il gruppo di utenti di cui è la destinazione ALTER DEFAULT PRIVILEGES deve disporre dei CREATE privilegi per lo schema specificato. I privilegi predefiniti specifici di uno schema vengono aggiunti ai privilegi predefiniti globali esistenti. Per impostazione predefinita, i privilegi predefiniti vengono applicati a livello globale all'intero database.

GRANT

L'insieme di privilegi da concedere agli utenti o ai gruppi specificati per tutte le nuove tabelle e viste, funzioni o stored procedure create dall'utente specificato. È possibile impostare gli stessi privilegi e le stesse opzioni con la GRANT clausola che è possibile impostare con il comando. GRANT

WITH GRANT OPTION

Clausola che indica che l'utente che riceve i privilegi può a sua volta concedere gli stessi privilegi agli altri. Non puoi concedere WITH GRANT OPTION a un gruppo o a. PUBLIC

TO user_name | ROLE role_name | group_name GROUP

Il nome dell'utente, del ruolo o del gruppo di utenti a cui vengono applicati i privilegi predefiniti specificati.

REVOKE

L'insieme di privilegi da revocare agli utenti o ai gruppi specificati per tutte le nuove tabelle, funzioni o procedure archiviate create dall'utente indicato. È possibile impostare gli stessi privilegi e le stesse opzioni con la clausola che è possibile impostare con il comandoREVOKE. REVOKE

GRANT OPTION FOR

Clausola che revoca solo l'opzione per concedere un privilegio specificato ad altri utenti e non revoca il privilegio stesso. Non puoi revocare GRANT OPTION da un gruppo o da. PUBLIC

FROMnome_utente | nome_ruolo | nome_gruppo ROLE GROUP

Il nome dell'utente, del ruolo o del gruppo di utenti a cui vengono revocati per impostazione predefinita i privilegi specificati.

RESTRICT

L'RESTRICTopzione revoca solo i privilegi concessi direttamente dall'utente. Questa è l'impostazione predefinita.

Esempi

Supponiamo di voler consentire a qualsiasi utente del gruppo report_readers di utenti di visualizzare tutte le tabelle e le viste create dall'utente. report_admin In questo caso, emettere il seguente comando come utente con privilegi avanzati.

alter default privileges for user report_admin grant select on tables to group report_readers;

Nell'esempio seguente, il primo comando concede SELECT i privilegi su tutte le nuove tabelle e viste create.

alter default privileges grant select on tables to public;

L'esempio seguente concede INSERT privilegi al gruppo di sales_admin utenti per tutte le nuove tabelle e viste create nello schema. sales

alter default privileges in schema sales grant insert on tables to group sales_admin;

L'esempio seguente inverte il ALTER DEFAULT PRIVILEGES comando dell'esempio precedente.

alter default privileges in schema sales revoke insert on tables from group sales_admin;

Per impostazione predefinita, il gruppo di PUBLIC utenti dispone dell'autorizzazione di esecuzione per tutte le nuove funzioni definite dall'utente. Per revocare le autorizzazioni execute public per le nuove funzioni e quindi concedere l'autorizzazione execute solo al gruppo di utenti dev_test, eseguire i seguenti comandi.

alter default privileges revoke execute on functions from public; alter default privileges grant execute on functions to group dev_test;