CREATE RLS POLICY - 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à.

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(column_name data_type [,...] )

Specifica i valori per nome_colonna e tipo_dati riferiti alle colonne delle tabelle a cui è collegata la policy.

È possibile omettere la WITH clausola solo quando la RLS politica non fa riferimento a nessuna colonna di tabelle a cui è allegata la politica.

AS alias_relazione

Speciifica un alias facoltativo per la tabella a cui verrà allegata la RLS politica.

USING(usando _predicate_exp)

Speciifica un filtro che viene applicato alla clausola della query. WHERE 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 lavorate con l'CREATERLSPOLICYistruzione, osservate quanto segue:

  • Amazon Redshift supporta filtri che possono far parte di una WHERE clausola di una query.

  • Tutte le policy collegate a una tabella devono essere state create con lo stesso alias di tabella.

  • Non è richiesta l'SELECTautorizzazione per le tabelle di ricerca. Quando crei una policy, Amazon Redshift concede l'SELECTautorizzazione nella tabella di ricerca per la rispettiva policy. Una tabella di ricerca è un oggetto tabella utilizzato all'interno di una definizione di policy.

  • La sicurezza a livello di riga di Amazon Redshift non supporta i seguenti tipi di oggetti all'interno di una definizione di policy: tabelle di catalogo, relazioni tra database, tabelle esterne, viste regolari, viste late-binding, tabelle con RLS policy attivate e tabelle temporanee.

Esempi

Le seguenti SQL istruzioni creano le tabelle, gli utenti e i ruoli per l'esempio. CREATE RLS POLICY

-- Create users and roles reference in the policy statements. CREATE ROLE analyst; CREATE ROLE consumer; CREATE USER bob WITH PASSWORD 'Name_is_bob_1'; CREATE USER alice WITH PASSWORD 'Name_is_alice_1'; CREATE USER joe WITH PASSWORD 'Name_is_joe_1'; GRANT ROLE sys:secadmin TO bob; GRANT ROLE analyst TO alice; GRANT ROLE consumer TO joe; GRANT ALL ON TABLE tickit_category_redshift TO PUBLIC;

Nell'esempio seguente viene creata una policy denominata policy denominata policy_concerts.

CREATE RLS POLICY policy_concerts WITH (catgroup VARCHAR(10)) USING (catgroup = 'Concerts');