Amazon Redshift non supporterà più la creazione di nuove UDF Python a partire dal 1º novembre 2025. Se desideri utilizzare le UDF Python, creale prima di tale data. Le UDF Python esistenti continueranno a funzionare normalmente. Per ulteriori informazioni, consulta il post del blog
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 [ WITH (column_name data_type [, ...]) [ [AS] relation_alias ] ] USING ( using_predicate_exp )
Parametri
- nome_policy
-
Nome della policy.
- 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.
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, consulta 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 esempio end-to-end di utilizzo delle policy RLS, consulta Esempio end-to-end di sicurezza a livello di riga.