Amazon Redshift non supporterà più la creazione di nuovi Python a UDFs partire dal 1° novembre 2025. Se vuoi usare Python UDFs, crea la UDFs data precedente a quella data. Python esistente UDFs continuerà a funzionare normalmente. Per ulteriori informazioni, consulta il post del blog
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à.
CREATE RLS POLICY
Crea una nuova policy di sicurezza a livello di riga per fornire un accesso granulare agli oggetti del database.
Una policy può essere creata da superuser e utenti o ruoli che dispongono del ruolo sys:secadmin.
Sintassi
CREATE RLS POLICY { policy_name | database_name.policy_name } [ WITH (column_name data_type [, ...]) [ [AS] relation_alias ] ] USING ( using_predicate_exp )
Parameters
- nome_policy
-
Il nome della policy .
- database_name
-
Il nome del database in cui verrà creata la politica. La policy può essere creata sul database connesso o su un database che supporta le autorizzazioni federate di Amazon Redshift.
- WITH (nome_colonna tipo_dati [, ...])
-
Specifica i valori per nome_colonna e tipo_dati riferiti alle colonne delle tabelle a cui è collegata la policy.
Puoi omettere la clausola WITH solo se la policy RLS non fa riferimento ad alcuna colonna di tabelle a cui è collegata la policy.
- AS alias_relazione
-
Specifica un alias facoltativo per la tabella a cui verrà collegata la policy RLS.
- USING ( using_predicate_exp )
-
Specifica un filtro applicato alla clausola WHERE della query. Amazon Redshift applica un predicato di policy prima dei predicati utente a livello di query. Ad esempio,
current_user = ‘joe’ and price > 10limita Joe a visualizzare solo i record con un prezzo superiore a 10 USD.
Per l'utilizzo di CREATE RLS POLICY su Amazon Redshift Federated Permissions Catalog, consulta Gestire il controllo degli accessi con le autorizzazioni federate di Amazon Redshift.
Note per l'utilizzo
Quando lavori con l'istruzione CREATE RLS POLICY, tieni presente quanto segue:
-
Amazon Redshift supporta filtri che possono far parte di una clausola WHERE di una query.
-
Tutte le policy collegate a una tabella devono essere state create con lo stesso alias di tabella.
-
Devi utilizzare le istruzioni GRANT e REVOKE per concedere e revocare esplicitamente le autorizzazioni SELECT alle policy RLS che fanno riferimento alle tabelle di ricerca. Una tabella di ricerca è un oggetto tabella utilizzato all'interno di una definizione di policy. Per ulteriori informazioni, consultare GRANT e REVOKE.
-
La sicurezza a livello di riga di Amazon Redshift non supporta i seguenti tipi di oggetto all'interno di una definizione di policy: tabelle di catalogo, relazioni tra database, tabelle esterne, viste regolari, viste con associazione tardiva, tabelle con policy RLS attivate e tabelle temporanee.
Esempi
Nell’esempio seguente viene creata una policy RLS denominata policy_concerts. Questa policy si applica a una colonna VARCHAR(10) denominata catgroup e imposta il filtro USING per restituire solo le righe in cui il valore di catgroup è 'Concerts'.
CREATE RLS POLICY policy_concerts WITH (catgroup VARCHAR(10)) USING (catgroup = 'Concerts');
Per un end-to-end esempio di utilizzo delle politiche RLS, consulta. Esempio end-to-end di sicurezza a livello di riga