Beispiel zur Steuerung des Zugriffs durch Benutzer und Gruppen - 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.

Beispiel zur Steuerung des Zugriffs durch Benutzer und Gruppen

In diesem Beispiel werden Benutzergruppen und Benutzer erstellt und anschließend werden ihnen verschiedene Berechtigungen für eine Amazon-Redshift-Datenbank erteilt, die sich mit einem Webanwendungsclient verbindet. In diesem Beispiel werden drei Gruppen von Benutzern zugrundegelegt: normale Benutzer der Webanwendung, Hauptbenutzer der Webanwendung und Webentwickler.

Weitere Informationen zum Entfernen eines Benutzers aus einer Gruppe finden Sie unter ALTER GROUP.

  1. Es werden die Gruppen erstellt, denen die verschiedenen Benutzer zugewiesen werden. Mit den folgenden Befehlen werden drei verschiedene Benutzergruppen erstellt:

    create group webappusers; create group webpowerusers; create group webdevusers;
  2. Es werden mehrere Datenbankbenutzer mit unterschiedlichen Berechtigungen erstellt und anschließend den Gruppen hinzugefügt.

    1. Es werden zwei Benutzer erstellt und der Gruppe WEBAPPUSERS hinzugefügt:

      create user webappuser1 password 'webAppuser1pass' in group webappusers; create user webappuser2 password 'webAppuser2pass' in group webappusers;
    2. Es wird ein Konto für einen Webentwickler erstellt und der Gruppe WEBDEVUSERS hinzugefügt:

      create user webdevuser1 password 'webDevuser2pass' in group webdevusers;
    3. Erstellen Sie einen Superuser. Dieser Benutzer hat die Berechtigung, andere Benutzer zu erstellen:

      create user webappadmin password 'webAppadminpass1' createuser;
  3. Es wird ein Schema erstellt, das mit den von der Webanwendung verwendeten Datenbanktabellen verknüpft wird. Anschließend wird den verschiedenen Benutzergruppen Zugriff auf dieses Schema gewährt:

    1. Das WEBAPP-Schema wird erstellt:

      create schema webapp;
    2. Der Gruppe WEBAPPUSERS wird die USAGE-Berechtigung gewährt:

      grant usage on schema webapp to group webappusers;
    3. Der Gruppe WEBPOWERUSERS wird die USAGE-Berechtigung gewährt:

      grant usage on schema webapp to group webpowerusers;
    4. Der Gruppe WEBDEVUSERS wird die ALL-Berechtigung gewährt:

      grant all on schema webapp to group webdevusers;

    Nun sind die benötigten Benutzer und Gruppen eingerichtet. Sie können die Benutzer und Gruppen jetzt ändern.

  4. Mit dem folgenden Befehl wird beispielsweise der Parameter „search_path“ für den WEBAPPUSER1 geändert1.

    alter user webappuser1 set search_path to webapp, public;

    Über SEARCH_PATH wird festgelegt, in welcher Reihenfolge die Schemata nach Datenbankobjekten wie Tabellen und Funktionen durchsucht werden, wenn ein Objekt nur über seinen einfachen Namen (ohne Angabe des Schemas) referenziert wird.

  5. Sie können einer Gruppe auch Benutzer hinzufügen, nachdem sie erstellt wurde, beispielsweise WEBAPPUSER2 zur Gruppe WEBPOWERUSERS:

    alter group webpowerusers add user webappuser2;