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

GRANT

Definisce le autorizzazioni di accesso per un utente o un ruolo.

Le autorizzazioni includono opzioni di accesso come la possibilità di leggere i dati in tabelle e viste, scrivere dati, creare ed eliminare tabelle. Utilizza questo comando per assegnare autorizzazioni specifiche per una tabella, un database, uno schema, una funzione, una procedura, una lingua o una colonna. Per revocare le autorizzazioni da un oggetto di database, utilizzare il comando REVOKE.

Le autorizzazioni includono anche le seguenti opzioni di accesso producer dell'unità di condivisione dati:

  • Assegnazione dell'accesso dell'unità di condivisione dati agli spazi dei nomi e agli account consumer.

  • Assegnazione dell'autorizzazione a modificare un'unità di condivisione dati aggiungendo o rimuovendo oggetti dell'unità di condivisione dati.

  • Assegnazione dell'autorizzazione a condividere un'unità di condivisione dati aggiungendo o rimuovendo spazi dei nomi consumer dell'unità di condivisione dati.

Le opzioni di accesso consumer dell'unità di condivisione dati sono le seguenti:

  • Assegnazione dell'accesso completo degli utenti ai database creati da un'unità di condivisione dati o a schemi esterni che fanno riferimento a tali database.

  • Assegnazione delle autorizzazioni degli utenti a livello di oggetto per i database creati da un'unità di condivisione dati, come avviene per gli oggetti di database locali. Per concedere questo livello di autorizzazione, è necessario utilizzare la clausola durante la creazione di un database dal datashare WITHPERMISSIONS. Per ulteriori informazioni, consulta CREATE DATABASE.

Per ulteriori informazioni sulle autorizzazioni dell'unità di condivisione dati, consulta Condivisione dei dati all'interno e tra i cluster.

È anche possibile assegnare ruoli per gestire le autorizzazioni del database e controllare cosa possono fare gli utenti in relazione ai propri dati. Definendo i ruoli e assegnando ruoli agli utenti, è possibile limitare le azioni che tali utenti possono intraprendere, ad esempio limitando gli utenti ai soli comandi and. CREATE TABLE INSERT Per ulteriori informazioni sul CREATE ROLE comando, vedere. CREATE ROLE Amazon Redshift ha alcuni ruoli definiti dal sistema che è possibile utilizzare anche per concedere autorizzazioni specifiche ai propri utenti. Per ulteriori informazioni, consulta Ruoli definiti dal sistema di Amazon Redshift.

È possibile assegnare REVOKE USAGE le autorizzazioni su uno schema esterno solo GRANT agli utenti e ai gruppi di utenti del database che utilizzano la SCHEMA sintassi ON. Quando si utilizza ON EXTERNAL SCHEMA con AWS Lake Formation, è possibile assegnare GRANT REVOKE le autorizzazioni solo a un ruolo AWS Identity and Access Management ()IAM. Per un elenco delle autorizzazioni richieste, consulta la sintassi.

Per le stored procedure, l'unica autorizzazione che puoi concedere èEXECUTE.

Non puoi eseguire GRANT (su una risorsa esterna) all'interno di un blocco di transazione (BEGIN... END). Per ulteriori informazioni sulle transazioni, consultare Isolamento serializzabile.

Per vedere quali autorizzazioni sono state concesse agli utenti per un database, usa HAS_DATABASE_PRIVILEGE. Per vedere quali autorizzazioni sono state concesse agli utenti per uno schema, usa HAS_SCHEMA_PRIVILEGE. Per vedere quali autorizzazioni sono state concesse agli utenti per una tabella, usa HAS_TABLE_PRIVILEGE.

Sintassi

GRANT { { SELECT | INSERT | UPDATE | DELETE | DROP | REFERENCES | ALTER | TRUNCATE } [,...] | ALL [ PRIVILEGES ] } ON { [ TABLE ] table_name [, ...] | ALL TABLES IN SCHEMA schema_name [, ...] } TO { username [ WITH GRANT OPTION ] | ROLE role_name | GROUP group_name | PUBLIC } [, ...] GRANT { { CREATE | TEMPORARY | TEMP | ALTER } [,...] | ALL [ PRIVILEGES ] } ON DATABASE db_name [, ...] TO { username [ WITH GRANT OPTION ] | ROLE role_name | GROUP group_name | PUBLIC } [, ...] GRANT { { CREATE | USAGE | ALTER } [,...] | ALL [ PRIVILEGES ] } ON SCHEMA schema_name [, ...] TO { username [ WITH GRANT OPTION ] | ROLE role_name | GROUP group_name | PUBLIC } [, ...] GRANT { EXECUTE | ALL [ PRIVILEGES ] } ON { FUNCTION function_name ( [ [ argname ] argtype [, ...] ] ) [, ...] | ALL FUNCTIONS IN SCHEMA schema_name [, ...] } TO { username [ WITH GRANT OPTION ] | ROLE role_name | GROUP group_name | PUBLIC } [, ...] GRANT { EXECUTE | ALL [ PRIVILEGES ] } ON { PROCEDURE procedure_name ( [ [ argname ] argtype [, ...] ] ) [, ...] | ALL PROCEDURES IN SCHEMA schema_name [, ...] } TO { username [ WITH GRANT OPTION ] | ROLE role_name | GROUP group_name | PUBLIC } [, ...] GRANT USAGE ON LANGUAGE language_name [, ...] TO { username [ WITH GRANT OPTION ] | ROLE role_name | GROUP group_name | PUBLIC } [, ...]

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

GRANT { { SELECT | UPDATE } ( column_name [, ...] ) [, ...] | ALL [ PRIVILEGES ] ( column_name [,...] ) } ON { [ TABLE ] table_name [, ...] } TO { username | ROLE role_name | GROUP group_name | PUBLIC } [, ...]

Di seguito è riportata la sintassi delle ASSUMEROLE autorizzazioni concesse a utenti e gruppi con un ruolo specificato. Per iniziare a utilizzare il ASSUMEROLE privilegio, vedere. Note d'uso per la concessione dell'autorizzazione ASSUMEROLE

GRANT ASSUMEROLE ON { 'iam_role' [, ...] | default | ALL } TO { username | ROLE role_name | GROUP group_name | PUBLIC } [, ...] FOR { ALL | COPY | UNLOAD | EXTERNAL FUNCTION | CREATE MODEL } [, ...]

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

GRANT { SELECT | ALL [ PRIVILEGES ] } ( column_list ) ON EXTERNAL TABLE schema_name.table_name TO { IAM_ROLE iam_role } [, ...] [ WITH GRANT OPTION ] GRANT { { SELECT | ALTER | DROP | DELETE | INSERT } [, ...] | ALL [ PRIVILEGES ] } ON EXTERNAL TABLE schema_name.table_name [, ...] TO { { IAM_ROLE iam_role } [, ...] | PUBLIC } [ WITH GRANT OPTION ] GRANT { { CREATE | ALTER | DROP } [, ...] | ALL [ PRIVILEGES ] } ON EXTERNAL SCHEMA schema_name [, ...] TO { IAM_ROLE iam_role } [, ...] [ WITH GRANT OPTION ]
Autorizzazioni dell'unità di condivisione dati sul lato producer

Di seguito è riportata la sintassi GRANT da utilizzare per concedere ALTER o SHARE autorizzazioni a un utente o un ruolo. L'utente può modificare il datashare con l'ALTERautorizzazione o concedere l'utilizzo a un consumatore con l'autorizzazione. SHARE ALTERe SHARE sono le uniche autorizzazioni che puoi concedere su un datashare a utenti e ruoli.

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

Di seguito è riportata la sintassi da utilizzare GRANT per le autorizzazioni di utilizzo del datashare su Amazon Redshift. Concedi l'accesso a un datashare a un consumatore utilizzando l'autorizzazione. USAGE Non è possibile concedere questa autorizzazione agli utenti o ai gruppi di utenti. Inoltre, questa autorizzazione non supporta WITH GRANT OPTION la GRANT dichiarazione. Solo gli utenti o i gruppi di utenti con l'SHAREautorizzazione precedentemente concessa loro FOR dal datashare possono eseguire questo tipo di GRANT istruzione.

GRANT USAGE ON DATASHARE datashare_name TO NAMESPACE 'namespaceGUID' | ACCOUNT 'accountnumber' [ VIA DATA CATALOG ]

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

GRANT USAGE ON DATASHARE salesshare TO ACCOUNT '123456789012' VIA DATA CATALOG;
Autorizzazioni dell'unità di condivisione dati sul lato consumer

Di seguito è riportata la sintassi per le autorizzazioni di utilizzo per GRANT la condivisione dei dati su un database o uno schema specifico creato da un datashare.

Le ulteriori autorizzazioni richieste ai consumatori per accedere a un database creato da un datashare variano a seconda che il CREATE DATABASE comando utilizzato per creare il database dal datashare utilizzi o meno la clausola. WITH PERMISSIONS Per ulteriori informazioni sul comando e sulla clausola, vedere CREATEDATABASE. WITH PERMISSIONS CREATE DATABASE

Database creati senza utilizzare la clausola WITH PERMISSIONS

Quando USAGE concedi un database creato da un datashare senza la WITH PERMISSIONS clausola, non è necessario concedere le autorizzazioni separatamente sugli oggetti nel database condiviso. Le entità a cui è concesso l'utilizzo sui database creati da datashare senza la WITH PERMISSIONS clausola hanno automaticamente accesso a tutti gli oggetti del database.

Database creati utilizzando la clausola WITH PERMISSIONS

Quando si concede USAGE a un database in cui il database condiviso è stato creato da un datashare con la WITH PERMISSIONS clausola, alle identità lato consumatore devono comunque essere concesse le autorizzazioni pertinenti per gli oggetti di database nel database condiviso per potervi accedere, proprio come si concederebbero le autorizzazioni per gli oggetti di database locali. Per assegnare le autorizzazioni agli oggetti di un database creato da un'unità di condivisione dati, utilizza la sintassi in tre parti database_name.schema_name.object_name. Per assegnare le autorizzazioni agli oggetti in uno schema esterno che fa riferimento a uno schema condiviso del database condiviso, utilizza la sintassi in due parti schema_name.object_name.

GRANT USAGE ON { DATABASE shared_database_name [, ...] | SCHEMA shared_schema} TO { username | ROLE role_name | GROUP group_name | PUBLIC } [, ...]

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

È possibile visualizzare l'ambito delle autorizzazioni con ambito a livello di database in. SVV_DATABASE_PRIVILEGES È possibile visualizzare l'ambito delle autorizzazioni con ambito a livello di schema in. SVV_SCHEMA_PRIVILEGES

Di seguito è riportata la sintassi per assegnare a utenti e ruoli le autorizzazioni con ambito. Per ulteriori informazioni sulle autorizzazioni con ambito, vedere. Autorizzazioni con ambito

GRANT { CREATE | USAGE | ALTER } [,...] | ALL [ PRIVILEGES ] } FOR SCHEMAS IN DATABASE db_name TO { username [ WITH GRANT OPTION ] | ROLE role_name } [, ...] GRANT { { SELECT | INSERT | UPDATE | DELETE | DROP | ALTER | TRUNCATE | REFERENCES } [, ...] } | ALL [PRIVILEGES] } } FOR TABLES IN {SCHEMA schema_name [DATABASE db_name ] | DATABASE db_name } TO { username [ WITH GRANT OPTION ] | ROLE role_name} [, ...] GRANT { EXECUTE | ALL [ PRIVILEGES ] } FOR FUNCTIONS IN {SCHEMA schema_name [DATABASE db_name ] | DATABASE db_name } TO { username [ WITH GRANT OPTION ] | ROLE role_name | } [, ...] GRANT { EXECUTE | ALL [ PRIVILEGES ] } FOR PROCEDURES IN {SCHEMA schema_name [DATABASE db_name ] | DATABASE db_name } TO { username [ WITH GRANT OPTION ] | ROLE role_name | } [, ...] GRANT USAGE FOR LANGUAGES IN {DATABASE db_name} TO { username [ WITH GRANT OPTION ] | ROLE role_name } [, ...]

Tieni presente che le autorizzazioni con ambito non fanno distinzione tra le autorizzazioni per le funzioni e per le procedure. Ad esempio, l'istruzione seguente concede l'EXECUTEautorizzazione sia per bob le funzioni che per le procedure dello schema. Sales_schema

GRANT EXECUTE FOR FUNCTIONS IN SCHEMA Sales_schema TO bob;

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

GRANT CREATE MODEL TO { username [ WITH GRANT OPTION ] | ROLE role_name | GROUP group_name | PUBLIC } [, ...] GRANT { EXECUTE | ALL [ PRIVILEGES ] } ON MODEL model_name [, ...] TO { username [ WITH GRANT OPTION ] | ROLE role_name | GROUP group_name | PUBLIC } [, ...]

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

GRANT { ROLE role_name } [, ...] TO { { user_name [ WITH ADMIN OPTION ] } | ROLE role_name }[, ...]

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

GRANT { { 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 ] } TO { ROLE role_name } [, ...]

Di seguito è riportata la sintassi per la concessione delle autorizzazioni per spiegare i filtri delle politiche di sicurezza a livello di riga di una query nel piano. EXPLAIN È possibile revocare il privilegio utilizzando l'istruzione. REVOKE

GRANT EXPLAIN RLS TO ROLE rolename

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

GRANT IGNORE RLS TO ROLE rolename

Di seguito è riportata la sintassi per concedere le autorizzazioni alla policy di sicurezza a livello di riga.

GRANT SELECT ON [ TABLE ] table_name [, ...] TO RLS POLICY policy_name [, ...]

Parametri

SELECT

Concede l'autorizzazione a selezionare i dati da una tabella o da una vista utilizzando un'istruzione. SELECT L'SELECTautorizzazione è richiesta anche per fare riferimento ai valori delle colonne esistenti per DELETE le UPDATE nostre operazioni.

INSERT

Concede l'autorizzazione a caricare dati in una tabella utilizzando un'INSERTistruzione o un'COPYistruzione.

UPDATE

Concede l'autorizzazione ad aggiornare una colonna della tabella utilizzando un'UPDATEistruzione. UPDATEanche le operazioni richiedono l'SELECTautorizzazione, poiché devono fare riferimento alle colonne della tabella per determinare quali righe aggiornare o per calcolare nuovi valori per le colonne.

DELETE

Concede l'autorizzazione a eliminare una riga di dati da una tabella. DELETEanche le operazioni richiedono l'SELECTautorizzazione, poiché devono fare riferimento alle colonne della tabella per determinare quali righe eliminare.

DROP

Concede l'autorizzazione a eliminare una tabella. Questa autorizzazione si applica in Amazon Redshift e in un AWS Glue Data Catalog ambiente abilitato per Lake Formation.

REFERENCES

Concede l'autorizzazione a creare un vincolo di chiave esterna. È necessario concedere questa autorizzazione sia sulla tabella a cui si fa riferimento sia sulla tabella che fa riferimento; in caso contrario, l'utente non può creare il vincolo.

ALTER

A seconda dell'oggetto del database, concede le seguenti autorizzazioni all'utente o al gruppo di utenti:

  • Per le tabelle, ALTER concede l'autorizzazione a modificare una tabella o una vista. Per ulteriori informazioni, consulta ALTER TABLE.

  • Per i database, ALTER concede l'autorizzazione a modificare un database. Per ulteriori informazioni, consulta ALTER DATABASE.

  • Per gli schemi, ALTER concede l'autorizzazione a modificare uno schema. Per ulteriori informazioni, consulta ALTER SCHEMA.

  • Per le tabelle esterne, ALTER concede l'autorizzazione a modificare una tabella in un file AWS Glue Data Catalog abilitato per Lake Formation. Questa autorizzazione si applica solo quando si utilizza Lake Formation.

TRUNCATE

Concede 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 TRUNCATE comando, vedereTRUNCATE.

ALL [ PRIVILEGES ]

Concede tutte le autorizzazioni disponibili contemporaneamente all'utente o al ruolo specificato. La PRIVILEGES parola chiave è facoltativa.

GRANTALLON SCHEMA non concede CREATE autorizzazioni per schemi esterni.

Puoi concedere l'ALLautorizzazione a una tabella in un file AWS Glue Data Catalog abilitato per Lake Formation. In questo caso, le autorizzazioni individuali (ad esempio SELECTALTER, e così via) vengono registrate nel Data Catalog.

Nota

Amazon Redshift non supporta le autorizzazioni RULE andTRIGGER. Per ulteriori informazioni, consulta Funzionalità di Postgree non supportate SQL.

ASSUMEROLE

Concede l'autorizzazione all'esecuzione COPY e ai CREATE MODEL comandi a utenti, ruoli o gruppi con un ruolo specifico. UNLOAD EXTERNAL FUNCTION L'utente, il ruolo o il gruppo assume tale ruolo all'esecuzione del comando specificato. Per iniziare a utilizzare l'ASSUMEROLEautorizzazione, vedereNote d'uso per la concessione dell'autorizzazione ASSUMEROLE.

ON [TABLE] nome_tabella

Concede le autorizzazioni specificate su una tabella o una vista. La TABLE parola chiave è facoltativa. Puoi elencare più tabelle e viste in un'unica istruzione.

ON ALL TABLES IN SCHEMA schema_name

Concede le autorizzazioni specificate su tutte le tabelle e le viste nello schema a cui si fa riferimento.

(column_name [,...]) ON nome_tabella TABLE

Concede le autorizzazioni specificate a utenti, gruppi o PUBLIC sulle colonne specificate della tabella o della vista di Amazon Redshift.

(column_list) ON schema_name.table_name EXTERNAL TABLE

Concede le autorizzazioni specificate a un IAM ruolo nelle colonne specificate della tabella Lake Formation nello schema di riferimento.

ON schema_name.table_name EXTERNAL TABLE

Concede le autorizzazioni specificate a un IAM ruolo nelle tabelle Lake Formation specificate nello schema di riferimento.

ON schema_name EXTERNAL SCHEMA

Concede le autorizzazioni specificate a un IAM ruolo nello schema di riferimento.

ON ruolo_iam

Concede le autorizzazioni specificate a un ruolo. IAM

TO username

Indica l'utente che riceve le autorizzazioni.

A IAM _ iam_role ROLE

Indica il IAM ruolo che riceve le autorizzazioni.

WITH GRANT OPTION

Indica che l'utente che riceve le autorizzazioni può a sua volta concedere le stesse autorizzazioni ad altri. WITHGRANTOPTIONnon può essere concesso a un gruppo o aPUBLIC.

ROLEnome_ruolo

Concede le autorizzazioni a un ruolo.

GROUPnome_gruppo

Concede le autorizzazioni a un gruppo di utenti. Può essere un elenco separato da virgole per specificare più gruppi di utenti.

PUBLIC

Concede le autorizzazioni specificate a tutti gli utenti, inclusi gli utenti creati in un momento successivo. PUBLICrappresenta un gruppo che include sempre tutti gli utenti. Le autorizzazioni di un singolo utente sono costituite dalla somma delle autorizzazioni concessePUBLIC, delle autorizzazioni concesse a tutti i gruppi a cui l'utente appartiene e di tutte le autorizzazioni concesse all'utente individualmente.

La concessione PUBLIC a una Lake Formation EXTERNAL TABLE comporta la concessione del permesso al gruppo di tutti i Lake Formation.

CREATE

A seconda dell'oggetto del database, concede le seguenti autorizzazioni all'utente o al gruppo di utenti:

  • Per i database, CREATE consente agli utenti di creare schemi all'interno del database.

  • Per gli schemi, CREATE consente agli utenti di creare oggetti all'interno di uno schema. Per rinominare un oggetto, l'utente deve disporre dell'CREATEautorizzazione e possedere l'oggetto da rinominare.

  • CREATEON SCHEMA non è supportato per gli schemi esterni di Amazon Redshift Spectrum. Per concedere l'utilizzo di tabelle esterne in uno schema esterno, concedi USAGE ON SCHEMA agli utenti che necessitano di accesso. Solo il proprietario di uno schema esterno o di un utente con privilegi avanzati è autorizzato a creare tabelle esterne nello schema esterno. Per trasferire la proprietà di uno schema esterno, utilizza ALTER SCHEMA per cambiare il proprietario.

TEMPORARY | TEMP

Concede l'autorizzazione a creare tabelle temporanee nel database specificato. Per eseguire query Amazon Redshift Spectrum, l'utente del database deve avere l'autorizzazione per creare tabelle temporanee nel database.

Nota

Per impostazione predefinita, agli utenti viene concessa l'autorizzazione a creare tabelle temporanee mediante la loro appartenenza automatica al PUBLIC gruppo. Per rimuovere l'autorizzazione di qualsiasi utente a creare tabelle temporanee, revoca l'TEMPautorizzazione al PUBLIC gruppo. Quindi concedere esplicitamente l'autorizzazione per creare tabelle temporanee per utenti o gruppi di utenti specifici.

SU db_name DATABASE

Concede le autorizzazioni specificate su un database.

USAGE

Concede USAGE l'autorizzazione per uno schema specifico, che rende gli oggetti di quello schema accessibili agli utenti. Le azioni specifiche su questi oggetti devono essere concesse separatamente (ad esempio, SELECT o UPDATE l'autorizzazione sulle tabelle) per gli schemi Amazon Redshift locali. Per impostazione predefinita, tutti gli utenti dispongono CREATE di un'USAGEautorizzazione sullo PUBLIC schema.

Quando si concede USAGE a schemi esterni utilizzando la SCHEMA sintassi ON, non è necessario concedere azioni separatamente sugli oggetti dello schema esterno. Le autorizzazioni del catalogo corrispondenti controllano le autorizzazioni granulari per gli oggetti dello schema esterno.

ON schema_name SCHEMA

Concede le autorizzazioni specificate su uno schema.

GRANTCREATEON SCHEMA e l'CREATEautorizzazione in GRANT ALL ON SCHEMA non sono supportati per gli schemi esterni di Amazon Redshift Spectrum. Per concedere l'utilizzo di tabelle esterne in uno schema esterno, concedi USAGE ON SCHEMA agli utenti che necessitano di accesso. Solo il proprietario di uno schema esterno o di un utente con privilegi avanzati è autorizzato a creare tabelle esterne nello schema esterno. Per trasferire la proprietà di uno schema esterno, utilizza ALTER SCHEMA per cambiare il proprietario.

EXECUTEON ALL FUNCTIONS IN SCHEMA schema_name

Concede le autorizzazioni specificate su tutte le funzioni nello schema a cui si fa riferimento.

Amazon Redshift non supporta GRANT le nostre REVOKE istruzioni per le voci incorporate pg_proc definite nello spazio dei nomi pg_catalog.

EXECUTEPROCEDURESU procedure_name

Concede l'EXECUTEautorizzazione per una procedura memorizzata 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.

EXECUTEON IN ALL PROCEDURES schema_name SCHEMA

Concede le autorizzazione specificate su tutte le procedure archiviate nello schema a cui si fa riferimento.

USAGEON nome_lingua LANGUAGE

Concede l'USAGEautorizzazione su una lingua.

È richiesta l'LANGUAGEautorizzazione USAGE ON per creare funzioni definite dall'utente (UDFs) eseguendo il CREATE FUNCTION comando. Per ulteriori informazioni, consulta UDFsicurezza e autorizzazioni.

L'LANGUAGEautorizzazione USAGE ON è necessaria per creare procedure memorizzate eseguendo il CREATE PROCEDURE comando. Per ulteriori informazioni, consulta Sicurezza e privilegi per le procedure archiviate .

Per PythonUDFs, usa. plpythonu Per SQLUDFs, usasql. Per le procedure archiviate, usa plpgsql.

FOR { ALL | COPY | UNLOAD | EXTERNAL FUNCTION | CREATE MODEL } [, ...]

Speciifica il SQL comando per il quale viene concessa l'autorizzazione. È possibile specificare ALL di concedere l'autorizzazione per le CREATE MODEL istruzioni COPYUNLOAD, EXTERNALFUNCTION, e. Questa clausola si applica solo alla concessione dell'ASSUMEROLEautorizzazione.

ALTER

Concede agli utenti il ALTER permesso di aggiungere o rimuovere oggetti da un datashare o di impostare la proprietà. PUBLICACCESSIBLE Per ulteriori informazioni, consulta ALTER DATASHARE.

SHARE

Concede autorizzazioni a utenti e gruppi di utenti per aggiungere consumer di dati a una unità di condivisione dati. Questa autorizzazione è necessaria per consentire al particolare consumer (account o spazio dei nomi) di accedere all'unità di condivisione dati dai propri cluster. Il consumatore può essere lo stesso account o un AWS account diverso, con lo stesso spazio dei nomi del cluster o uno diverso, come specificato da un identificatore univoco globale (). GUID

SU datashare_name DATASHARE

Concede le autorizzazioni specificate sull'unità di condivisione dati a cui si fa riferimento. Per informazioni sulla granularità del controllo degli accessi dei consumer, consultare Condivisione dei dati a diversi livelli in Amazon Redshift.

USAGE

Quando USAGE viene concesso a un account consumatore o a uno spazio dei nomi all'interno dello stesso account, l'account consumatore o lo spazio dei nomi specifico all'interno dell'account può accedere al datashare e agli oggetti del datashare in modalità di sola lettura.

NAMESPACEGUIDA 'clusternamespace'

Indica uno spazio dei nomi nello stesso account in cui i consumer possono ricevere le autorizzazioni specificate per l'unità di condivisione dati. I namespace utilizzano un codice alfanumerico a 128 bit. GUID

A 'accountnumber' [] ACCOUNT VIA DATA CATALOG

Indica il numero di un altro account i cui consumer possono ricevere le autorizzazioni specificate per l'unità di condivisione dati. Specificare 'VIADATACATALOG' indica che si sta concedendo l'utilizzo del datashare a un account Lake Formation. L'omissione di questo parametro indica che si sta concedendo l'autorizzazione per l'utilizzo a un account proprietario del cluster.

SU DATABASE shared_database_name> [,...]

Concede le autorizzazioni di utilizzo per il database specificato creato nell'unità di condivisione dati specificata.

SU SCHEMA shared_schema

Concede le autorizzazioni per lo schema specificato creato nell'unità di condivisione dati specificata.

FOR{SCHEMAS| | | TABLES FUNCTIONS |PROCEDURES} IN LANGUAGES

Specifica gli oggetti del database a cui assegnare l'autorizzazione. I parametri successivi a IN definiscono l'ambito dell'autorizzazione assegnata.

CREATE MODEL

Concede l'CREATEMODELautorizzazione a utenti o gruppi di utenti specifici.

ON MODEL model_name

Concede l'EXECUTEautorizzazione su un modello specifico.

ACCESS CATALOG

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

{ role } [, ...]

Il ruolo da concedere a un altro ruolo, a un utente oPUBLIC.

PUBLICrappresenta un gruppo che include sempre tutti gli utenti. Le autorizzazioni di un singolo utente sono costituite dalla somma delle autorizzazioni concessePUBLIC, delle autorizzazioni concesse a tutti i gruppi a cui l'utente appartiene e di tutte le autorizzazioni concesse all'utente individualmente.

A {{user_name [WITHADMINOPTION]} | role} [,...]

Assegna il ruolo specificato a un utente specificato con WITH ADMINOPTION, un altro ruolo o. PUBLIC

La WITH ADMIN OPTION clausola fornisce le opzioni di amministrazione per tutti i ruoli concessi a tutti i beneficiari.

EXPLAINRLSNOME DEL RUOLO TO ROLE

Concede l'autorizzazione a spiegare a un ruolo i filtri delle politiche di sicurezza a livello di riga di una query nel EXPLAIN piano.

IGNORERLSNOME DEL RUOLO TO ROLE

Concede a un ruolo l'autorizzazione a escludere le policy di sicurezza a livello di riga per una query.

Per ulteriori informazioni sulle note di utilizzo perGRANT, vedere. Note per l'utilizzo

Per esempi di utilizzoGRANT, vedereEsempi.