Besitz und Verwaltung von RLS-Richtlinien (Row-Level Security) - Amazon Redshift

Amazon Redshift unterstützt ab dem 1. November 2025 nicht mehr die Erstellung neuer Python-UDFs. Wenn Sie Python-UDFs verwenden möchten, erstellen Sie die UDFs vor diesem Datum. Bestehende Python-UDFs funktionieren weiterhin wie gewohnt. Weitere Informationen finden Sie im Blog-Posting.

Besitz und Verwaltung von RLS-Richtlinien (Row-Level Security)

Als Superuser, Sicherheitsadministrator oder Benutzer mit der Rolle sys:secadmin können Sie alle RLS-Richtlinien für Tabellen erstellen, ändern oder verwalten. RLS-Richtlinien können an Tabellen, Ansichten, LBVs (Late Binding Views) und materialisierte Ansichten (MVs) angehängt werden. Auf Objektebene können Sie die Sicherheit auf Zeilenebene ein- oder ausschalten, ohne die Schemadefinition für Tabellen zu ändern.

Um mit der Sicherheit auf Zeilenebene zu beginnen, können Sie die folgenden SQL-Anweisungen verwenden:

  • Verwenden Sie die ALTER TABLE-Anweisung, um RLS für eine Tabelle ein- oder auszuschalten. Weitere Informationen finden Sie unter ALTER TABLE.

  • Verwenden Sie die ALTER MATERIALIZED VIEW-Anweisung um RLS für eine materialisierte Ansicht (MV) ein- oder auszuschalten. Weitere Informationen finden Sie unter ALTER MATERIALIZED VIEW.

  • Verwenden Sie die CREATE RLS POLICY-Anweisung, um eine RLS-Richtlinie (Row-Level Security) für eine oder mehrere Tabellen zu erstellen, und geben Sie einen oder mehrere Benutzer oder Rollen in der Richtlinie an.

    Weitere Informationen finden Sie unter CREATE RLS POLICY.

  • Verwenden Sie die Anweisung ALTER RLS POLICY, um die Richtlinie zu bearbeiten, z. B. die Richtliniendefinition zu ändern. Sie können dieselbe Richtlinie für mehrere Tabellen oder Ansichten verwenden.

    Weitere Informationen finden Sie unter ALTER RLS POLICY.

  • Verwenden Sie die Anweisung ATTACH RLS POLICY, um eine Richtlinie an eine oder mehrere Relationen, einen oder mehrere Benutzer oder Rollen anzufügen.

    Weitere Informationen finden Sie unter ATTACH RLS POLICY.

  • Verwenden Sie die DETACH RLS POLICY-Anweisung, um eine Richtlinie von einer oder mehreren Relationen, von einem oder mehreren Benutzern oder von Rollen zu trennen.

    Weitere Informationen finden Sie unter DETACH RLS POLICY.

  • Verwenden Sie die DROP RLS POLICY-Anweisung, um eine Richtlinie zu entfernen.

    Weitere Informationen finden Sie unter DROP RLS POLICY.

  • Verwenden Sie die GRANT- und REVOKE-Anweisungen, um SELECT-Berechtigungen für RLS-Richtlinien(Row-Level Security) , die auf Nachschlagetabellen verweisen, explizit zu erteilen und zu widerrufen. Weitere Informationen finden Sie unter GRANT und REVOKE.

Um die erstellten Richtlinien zu überwachen, kann sys:secadmin die SVV_RLS_POLICY und SVV_RLS_ATTACHED_POLICY anzeigen.

Um RLS-geschützte Relationen aufzulisten, kann sys:secadmin SVV_RLS_RELATION anzeigen.

Um die Anwendung von RLS-Richtlinien (Row-Level Security) auf Abfragen zu verfolgen, die auf RLS-geschützte Relationen verweisen, kann ein Superuser, sys:operator oder jeder Benutzer mit der Systemberechtigung ACCESS SYSTEM TABLE SVV_RLS_APPLIED_POLICY anzeigen. Beachten Sie, dass sys:secadmin diese Berechtigungen standardmäßig nicht gewährt werden.

Um Benutzern vollen Zugriff auf eine RLS-geschützte Beziehung zu gewähren, können Sie die Berechtigung IGNORE RLS gewähren. Benutzern, die Superuser oder sys:secadmin sind, wird IGNORE RLS automatisch gewährt. Weitere Informationen finden Sie unter GRANT.

Um die RLS-Richtlinienfilter (Row-Level Security) einer Abfrage im EXPLAIN-Plan zur Fehlerbehebung bei RLS-bezogenen Abfragen zu erklären, können Sie jedem Benutzer die Berechtigung EXPLAIN RLS erteilen. Weitere Informationen finden Sie unter GRANT und EXPLAIN.