Come posso risolvere i problemi di sicurezza a livello di riga in QuickSight?

Ultimo aggiornamento: 12/07/2022

Ho applicato RLS al mio set di dati in Amazon QuickSight, ma riscontro problemi di accesso ai dati.

Breve descrizione

Di seguito sono riportati i problemi comuni che possono verificarsi quando si utilizza la sicurezza a livello di riga (RLS) sul set di dati di Amazon QuickSight:

  • Non è possibile visualizzare alcun dato nel pannello di controllo integrato di QuickSight per gli utenti QuickSight anonimi.
  • Gli utenti con restrizioni possono comunque vedere tutti i dati.
  • Gli utenti senza restrizioni non possono vedere alcun dato.
  • Viene visualizzato il codice di errore DataSetRulesInvalidColType quando si applica RLS.
  • Viene visualizzato l'errore Code DatasetRulesUserDenied quando si crea un'analisi.

Nota: quando si utilizza RLS, considera quanto segue:

  • RLS è disponibile solo per l'edizione Enterprise di QuickSight.
  • RLS supporta solo dati di testo, ad esempio string, char e varchar per i campi nella regola del set di dati. Al momento, RLS non funziona per le date o i campi numerici.
  • Il set completo di record delle regole applicati per utente non deve essere maggiore di 999. I set di dati con più di 999 regole potrebbero non riuscire ad applicare le regole RLS al set di dati.
  • Non è possibile applicare RLS a righe vuote con il valore null predefinito perché QuickSight considera null come valore di campo vuoto. Tuttavia, gli spazi in un campo vengono trattati come un valore letterale, pertanto la regola del set di dati si applica a queste righe.
  • Solo gli utenti aggiunti alla regola del set di dati possono visualizzare i dati in base alla regola definita. Gli altri utenti non possono vedere i dati.
  • Quando si utilizzano più campi nelle regole del set di dati, le regole funzionano come operatore AND. L'operatore OR non è attualmente supportato.
  • Le regole basate su tag RLS sono supportate solo per i pannelli di controllo integrati per utenti anonimi con l'API GenerateEmbedUrlForAnonymousUser. Se hai incorporato i pannelli di controllo per gli utenti registrati con l'API GenerateEmbedUrlForRegisteredUser, prendi in considerazione l'utilizzo di regole a livello utente.

Risoluzione

Non riesco a vedere alcun dato nel pannello di controllo integrato di QuickSight per utenti anonimi

Se utilizzi regole basate su tag per il pannello di controllo integrato anonima, non puoi visualizzare o modificare i dati. Per visualizzare i dati, al set di dati dovrai aggiungere regole RLS basate sull'utente.

Nella seguente regola del set di dati di esempio, John Stiles può vedere i dati solo dal reparto Logistica e Martha Rivera può vedere tutti i dati del set di dati.

UserName,Department 
JohnStiles,Logistics 
MarthaRivera,

Nota: al tuo set di dati puoi applicare sia regole basate su tag che regole RLS basate sull'utente.

Gli utenti con restrizioni possono ancora vedere tutti i dati

Se un set di dati contiene troppe regole, anche se hai applicato correttamente RLS, gli utenti con restrizioni possono comunque vedere tutti i dati. Per risolvere questo problema, assicurati che il tuo set di dati contenga un massimo di 999 regole. Se si limitano gli utenti in base a UserName e si hanno più di 999 utenti nella regola del set di dati, crea dei gruppi QuickSight. Aggiungi gli utenti ai gruppi e utilizza GroupName invece di UserName nella regola del set di dati.

Gli utenti senza restrizioni non possono vedere alcun dato

Di seguito sono riportati i possibili motivi per cui gli utenti senza restrizioni non possono vedere i dati:

  • L'utente non esiste nella regola del set di dati. Controlla la regola del set di dati per verificare che tutti gli utenti previsti siano presenti.
  • UserName o GroupName non corrisponde agli utenti o ai gruppi in QuickSight. Controlla UserName o GroupName dalla regola del set di dati per verificare che corrispondano agli utenti o ai gruppi in QuickSight.

Quando si applica RLS viene visualizzato il codice di errore DatasetRulesInvalidColType

L'errore DatasetRulesInvalidColType si verifica quando si utilizza RLS per date o campi numerici.

Controlla il campo utilizzato per valutare RLS nella regola del set di dati per verificare che il tipo di dati sia String. Puoi inoltre convertire i campi numerici in String in QuickSight modificando il set di dati.

Quando si crea un'analisi viene visualizzato il codice di errore DatasetRulesUserDenied

Questo errore DataRulesUserDenied si verifica quando l'utente non è nella regola del set di dati. Per risolvere questo errore, aggiungi l'utente alla regola del set di dati e quindi aggiorna il set.