Seleziona le tue preferenze relative ai cookie

Utilizziamo cookie essenziali e strumenti simili necessari per fornire il nostro sito e i nostri servizi. Utilizziamo i cookie prestazionali per raccogliere statistiche anonime in modo da poter capire come i clienti utilizzano il nostro sito e apportare miglioramenti. I cookie essenziali non possono essere disattivati, ma puoi fare clic su \"Personalizza\" o \"Rifiuta\" per rifiutare i cookie prestazionali.

Se sei d'accordo, AWS e le terze parti approvate utilizzeranno i cookie anche per fornire utili funzionalità del sito, ricordare le tue preferenze e visualizzare contenuti pertinenti, inclusa la pubblicità pertinente. Per continuare senza accettare questi cookie, fai clic su \"Continua\" o \"Rifiuta\". Per effettuare scelte più dettagliate o saperne di più, fai clic su \"Personalizza\".

Considerazioni e limitazioni relative all'utilizzo delle politiche RLS

Modalità Focus
Considerazioni e limitazioni relative all'utilizzo delle politiche RLS - 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à.

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

Considerazioni

Di seguito sono riportate le considerazioni sull'utilizzo delle policy RLS:

  • Amazon Redshift applica le policy RLS alle istruzioni SELECT, UPDATE e DELETE.

  • Amazon Redshift non applica le policy RLS alle istruzioni INSERT, COPY, ALTER TABLE APPEND.

  • Le politiche RLS possono essere allegate a tabelle, viste, viste con associazione tardiva (LBVs) e viste materializzate (). MVs

  • La sicurezza a livello di riga funziona con la sicurezza a livello di colonna per proteggere i tuoi dati.

  • Se RLS è attivato per la relazione di origine, Amazon Redshift supporta l'istruzione ALTER TABLE APPEND per gli utenti con privilegi avanzati e gli utenti a cui è stata concessa esplicitamente l'autorizzazione di sistema IGNORE RLS o il ruolo sys:secadmin. In questo caso, puoi eseguire l'istruzione ALTER TABLE APPEND per aggiungere righe a una tabella di destinazione spostando i dati da una tabella di origine esistente. Amazon Redshift sposta tutte le tuple dalla relazione di origine alla relazione di destinazione. Lo stato RLS della relazione di destinazione non influisce sull'istruzione ALTER TABLE APPEND.

  • Per facilitare la migrazione da altri sistemi di data warehouse, puoi impostare e recuperare variabili di contesto di sessione personalizzate per una connessione specificando il nome e il valore della variabile.

    Nell'esempio seguente vengono impostate le variabili di contesto della sessione per una policy di sicurezza a livello di riga (RLS).

    -- Set a customized context variable. SELECT set_config(‘app.category’, ‘Concerts’, FALSE); -- Create a RLS policy using current_setting() to get the value of a customized context variable. CREATE RLS POLICY policy_categories WITH (catgroup VARCHAR(10)) USING (catgroup = current_setting('app.category', FALSE)); -- Set correct roles and attach the policy on the target table to one or more roles. ATTACH RLS POLICY policy_categories ON tickit_category_redshift TO ROLE analyst, ROLE dbadmin;

    Per i dettagli su come impostare e recuperare variabili di contesto di sessione personalizzate, vai aSET,, SET_CONFIGMOSTRA, CURRENT_SETTING e. RESET Per ulteriori informazioni sulla modifica della configurazione del server in generale, vai a. Modifica della configurazione del server

    Importante

    Quando si utilizzano variabili di contesto di sessione all'interno delle policy RLS, la policy di sicurezza dipende dall'utente o dal ruolo che la richiama. Fai attenzione a evitare vulnerabilità di sicurezza quando usi variabili di contesto di sessione nelle politiche RLS.

  • La modifica dell'utente della sessione mediante SET SESSION AUTHORIZATION tra DECLARE e FETCH o tra le successive istruzioni FETCH non aggiornerà il piano già preparato in base alle policy utente definite con DECLARE. Evita di modificare l'utente della sessione quando i cursori vengono utilizzati con tabelle protette da RLS.

  • Quando gli oggetti di base all'interno di un oggetto di visualizzazione sono protetti da RLS, le policy collegate all'utente che esegue la query vengono applicate ai rispettivi oggetti di base. Ciò non avviene invece con i controlli delle autorizzazioni a livello di oggetto, in cui le autorizzazioni del proprietario della vista vengono verificate tenendo conto degli oggetti di base della vista. È possibile visualizzare le relazioni protette da RLS di una query nell'output del piano EXPLAIN.

  • Quando si fa riferimento a una funzione definita dall'utente (UDF) in una policy RLS (sicurezza a livello di riga) di una relazione collegata a un utente, questo deve disporre dell'autorizzazione EXECUTE sull'UDF per eseguire query sulla relazione.

  • La sicurezza a livello di riga potrebbe limitare l'ottimizzazione delle query. Ti consigliamo di valutare attentamente le prestazioni delle query prima di distribuire viste protette da RLS su set di dati di grandi dimensioni.

  • Le policy di sicurezza a livello di riga applicate alle viste con associazione tardiva potrebbero essere inviate in tabelle federate. Queste policy RLS potrebbero essere visibili nei log dei motori di elaborazione esterni.

Limitazioni

Di seguito sono riportate le limitazioni che si hanno quando si lavora con le policy RLS:

  • Le politiche RLS non possono essere collegate a tabelle esterne e a diversi altri tipi di relazioni. Per ulteriori informazioni, consulta ATTACH RLS POLICY.

  • Amazon Redshift supporta le istruzioni SELECT per determinate policy RLS con ricerche che hanno join complessi, ma non supporta le istruzioni UPDATE o DELETE. Nei casi con istruzioni UPDATE o DELETE, Amazon Redshift restituisce il seguente errore:

    ERROR: One of the RLS policies on target relation is not supported in UPDATE/DELETE.
  • Ogni qual volta si fa riferimento a una funzione definita dall'utente (UDF) in una policy RLS (sicurezza a livello di riga) di una relazione collegata a un utente, questo deve disporre dell'autorizzazione EXECUTE sull'UDF per eseguire query sulla relazione.

  • Le query secondarie correlate non sono supportate. Amazon Redshift restituisce il seguente errore:

    ERROR: RLS policy could not be rewritten.
  • Amazon Redshift non supporta le unità di condivisione dati con RLS. Se una relazione non ha RLS (sicurezza a livello di riga) disattivata per le unità di condivisione dati, la query restituisce il seguente errore sul cluster consumer:

    RLS-protected relation "rls_protected_table" cannot be accessed via datasharing query.

    È possibile disattivare RLS per le condivisioni di dati utilizzando il comando ALTER TABLE con il parametro ROW LEVEL SECURITY OFF FOR DATASHARES. Per ulteriori informazioni sull'utilizzo di ALTER TABLE per abilitare o disabilitare RLS, vai a. ALTER TABLE

  • Nelle query tra database, Amazon Redshift blocca le letture nelle relazioni protette da RLS (sicurezza a livello di riga). Gli utenti con l'autorizzazione IGNORE RLS possono accedere alla relazione protetta utilizzando query tra database. Quando un utente senza l'autorizzazione IGNORE RLS accede a una relazione protetta da RLS tramite una query tra database, viene mostrato il seguente errore:

    RLS-protected relation "rls_protected_table" cannot be accessed via cross-database query.
  • ALTER RLS POLICY supporta solo la modifica di una policy RLS utilizzando la clausola USING (using_predicate_exp). Non puoi modificare una policy RLS con una clausola WITH quando si esegue ALTER RLS POLICY.

  • Non è possibile eseguire query sulle relazioni con la sicurezza a livello di riga attivata se i valori di una delle seguenti opzioni di configurazione non corrispondono al valore predefinito della sessione:

    • enable_case_sensitive_super_attribute

    • enable_case_sensitive_identifier

    • downcase_delimited_identifier

    Prendi in considerazione la possibilità di reimpostare le opzioni di configurazione della sessione se tenti di eseguire query su una relazione con sicurezza a livello di riga e visualizzi il messaggio "RLS protected relation does not support session level config on case sensitivity being different from its default value".

  • Quando il cluster o lo spazio dei nomi serverless di cui è stato effettuato il provisioning ha policy di sicurezza a livello di riga, i seguenti comandi sono bloccati per gli utenti normali:

    ALTER <current_user> SET enable_case_sensitive_super_attribute/enable_case_sensitive_identifier/downcase_delimited_identifier

    Quando crei policy RLS, consigliamo di modificare le impostazioni delle opzioni di configurazione predefinite per gli utenti normali in modo che corrispondano alle impostazioni delle opzioni di configurazione della sessione al momento della creazione della policy. Gli utenti con privilegi avanzati e gli utenti con il privilegio ALTER USER possono eseguire questa operazione utilizzando le impostazioni del gruppo di parametri o il comando ALTER USER. Per informazioni sui gruppi di parametri, consulta Gruppi di parametri di Amazon Redshift nella Guida alla gestione di Amazon Redshift. Per informazioni sul comando ALTER USER, consulta ALTER USER.

  • Le viste e le viste con associazione tardiva con policy di sicurezza a livello di riga non possono essere sostituite dagli utenti normali con il comando CREATE VIEW. Per sostituire le viste o LBVs con i criteri RLS, scollega innanzitutto i criteri RLS ad essi associati, sostituisci le viste oppure LBVs ricollega i criteri. I superutenti e gli utenti con sys:secadmin permission possono utilizzare CREATE VIEW sulle viste o LBVs con le politiche RLS senza scollegare le politiche.

  • Le viste con policy di sicurezza a livello di riga non possono fare riferimento a tabelle di sistema e viste di sistema.

  • Una vista con associazione tardiva a cui fa riferimento una visualizzazione normale non può essere protetta dalla RLS.

  • Non è possibile accedere alle relazioni protette dalla RLS e ai dati annidati dei data lake nella stessa query.

In questa pagina

PrivacyCondizioni del sitoPreferenze cookie
© 2025, Amazon Web Services, Inc. o società affiliate. Tutti i diritti riservati.