CREATE RLS POLICY - Amazon Redshift

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 [ WITH (column_name data_type [, ...]) [ [AS] relation_alias ] ] USING ( using_predicate_exp )

Parametri

nome_policy

Il 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 > 10 limita 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.

  • È necessario utilizzare le istruzioni GRANT e REVOKE per concedere e revocare in modo esplicito le autorizzazioni SELECT alle politiche 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

L'esempio seguente crea una politica RLS denominata policy_concerts. Questa politica si applica a una colonna VARCHAR (10) chiamata 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, vedere. Esempio di sicurezza a livello di riga end-to-end