Wie behebe ich Sicherheitsprobleme auf Zeilenebene in QuickSight?

Zuletzt aktualisiert: 12.07.2022

Ich habe RLS auf meinen Datensatz in Amazon QuickSight angewendet, es treten jedoch Probleme beim Datenzugriff auf.

Kurzbeschreibung

Im Folgenden werden häufig auftretende Probleme aufgeführt, die bei der Verwendung von Row-Level-Sicherheit (RLS) in Ihrem Amazon-QuickSight-Datensatz auftreten können:

  • Sie können im integrierten QuickSight-Dashboard keine Daten für anonyme QuickSight-Benutzer sehen.
  • Eingeschränkte Benutzer können weiterhin alle Daten sehen.
  • Uneingeschränkte Benutzer können keine Daten sehen.
  • Sie erhalten den Fehlercode DatasetRulesInvalidColType, wenn Sie RLS anwenden.
  • Beim Erstellen einer Analyse wird der Fehler Code DatasetRulesUserDenied angezeigt.

Hinweis: Beachten Sie bei der Verwendung von RLS Folgendes:

  • RLS ist nur für die Enterprise Edition von QuickSight verfügbar.
  • RLS unterstützt nur Textdaten wie string, char und varchar für Felder in der Datensatz-Regel. Derzeit funktioniert RLS nicht für Datumsangaben oder numerische Felder.
  • Der gesamte Satz von Regeldatensätzen, die pro Benutzer angewendet werden, darf 999 nicht überschreiten. Datasets mit mehr als 999 Regeln können RLS-Regeln möglicherweise nicht auf den Datensatz anwenden.
  • Sie können RLS nicht auf leere Zeilen mit dem Standardwert Null anwenden, da QuickSight Null als leeren Feldwert behandelt. Leerzeichen in einem Feld werden jedoch als Literalwert behandelt, sodass die Datenmengenregel für diese Zeilen gilt.
  • Nur Benutzer, die der Datensatz-Regel hinzugefügt wurden, können die Daten basierend auf der definierten Regel sehen. Andere Benutzer können die Daten nicht sehen.
  • Wenn Sie mehrere Felder in den Datensatz-Regeln verwenden, funktionieren die Regeln als UND-Operator. Der ODER-Operator wird derzeit nicht unterstützt.
  • RLS-Tag-basierte Regeln werden nur für eingebettete Dashboards für anonyme Benutzer mit der GenerateEmbedUrlForAnonymousUser-API unterstützt. Wenn Sie Dashboards für registrierte Benutzer mit der GenerateEmbedUrlForRegisteredUser-API eingebettet haben, sollten Sie die Verwendung von Regeln auf Benutzerebene in Betracht ziehen.

Auflösung

Ich kann im integrierten QuickSight-Dashboard für anonyme Benutzer keine Daten sehen

Wenn Sie tagbasierte Regeln für Ihr anonymes eingebettetes Dashboard verwenden, können Sie die Daten nicht sehen oder ändern. Um die Daten anzuzeigen, müssen Sie dem Datensatz benutzerbasierte RLS-Regeln hinzufügen.

In der folgenden Beispiel-Datensatz-Regel kann John Stiles nur Daten aus der Logistikabteilung sehen, und Martha Rivera kann alle Daten aus dem Datensatz sehen.

UserName,Department 
JohnStiles,Logistics 
MarthaRivera,

Hinweis: Sie können sowohl tagbasierte Regeln als auch benutzerbasierte RLS-Regeln auf Ihren Datensatz anwenden.

Eingeschränkte Benutzer können weiterhin alle Daten sehen

Wenn ein Datensatz zu viele Regeln enthält, können eingeschränkte Benutzer, selbst wenn Sie RLS erfolgreich angewendet haben, weiterhin alle Daten sehen. Um dieses Problem zu beheben, stellen Sie sicher, dass Ihr Datensatz nur 999 oder weniger Regeln enthält. Wenn Sie Benutzer nach UserName einschränken und Ihre Datensatz-Regel mehr als 999 Benutzer enthält, erstellen Sie QuickSight-Gruppen. Fügen Sie die Benutzer zu den Gruppen hinzu und verwenden Sie GroupName anstelle von UserName in der Datensatz-Regel.

Uneingeschränkte Benutzer können keine Daten sehen

Im Folgenden sind mögliche Gründe aufgeführt, warum uneingeschränkte Benutzer Daten nicht sehen können:

  • Der Benutzer ist in der Datensatz-Regel nicht vorhanden. Überprüfen Sie die Datensatz-Regel, um sicherzustellen, dass alle vorgesehenen Benutzer vorhanden sind.
  • Der UserName oder GroupName stimmt nicht mit den Benutzern oder Gruppen in QuickSight überein. Überprüfen Sie UserName oder GroupName in der Datensatz-Regel, um sicherzustellen, dass sie mit den Benutzern oder Gruppen in QuickSight übereinstimmen.

Sie erhalten den Fehlercode DatasetRulesInvalidColType, wenn Sie RLS anwenden

Der DatasetRulesInvalidColType-Fehler tritt auf, wenn Sie RLS für Datumsangaben oder numerische Felder verwenden.

Überprüfen Sie das Feld, das zum Auswerten von RLS in der Datensatz-Regel verwendet wird, um sicherzustellen, dass der Datentyp String ist. Sie können numerische Felder in QuickSight auch in String konvertieren, indem Sie den Datensatz bearbeiten.

Sie erhalten den Fehlercode DatasetRulesUserDenied, wenn Sie eine Analyse erstellen

Dieser DataRulesUserDenied-Fehler tritt auf, wenn der Benutzer nicht in der Datensatz-Regel ist. Um diesen Fehler zu beheben, fügen Sie den Benutzer der Datensatz-Regel hinzu, und aktualisieren Sie dann den Datensatz.