

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Gewähren und Widerrufen von Berechtigungen für RDS für Db2
<a name="db2-granting-revoking-privileges"></a>

Benutzer erhalten Zugriff auf Datenbanken, wenn sie Mitglied von Gruppen sind, die Datenbanken zugeordnet sind.

Gehen Sie wie folgt vor, um Berechtigungen zu gewähren oder zu widerrufen und somit den Zugriff auf Ihre Datenbank zu steuern. 

Bei diesen Verfahren wird IBM Db2 CLP auf einem lokalen Computer verwendet, um eine Verbindung zu einer DB-Instance von RDS für Db2 herzustellen. Achten Sie darauf, den TCPIP-Knoten und die Datenbank zu katalogisieren, um eine Verbindung zu Ihrer DB-Instance von RDS für Db2 herzustellen, die auf Ihrem lokalen Computer ausgeführt wird. Weitere Informationen finden Sie unter [Herstellen einer Verbindung zu Ihrer DB-Instance von RDS für Db2 mit IBM Db2 CLP](db2-connecting-with-clp-client.md).

**Topics**
+ [Gewähren von Benutzerzugriff auf Ihre Datenbank](#db2-granting-user-access)
+ [Ändern des Passworts eines Benutzers](#db2-changing-user-password)
+ [Hinzufügen von Gruppen zu einem Benutzer](#db2-adding-group-to-user)
+ [Entfernen von Gruppen von einem Benutzer](#db2-removing-groups-from-user)
+ [Entfernen eines Benutzers](#db2-removing-user)
+ [Auflisten von Benutzern](#db2-listing-users-database)
+ [Erstellen einer Rolle](#db2-creating-role)
+ [Gewähren einer Rolle](#db2-granting-role)
+ [Widerrufen einer Rolle](#db2-revoking-role)
+ [Entfernen einer Rolle](#db2-dropping-role)
+ [Gewähren einer Datenbankautorisierung](#db2-granting-dbadmin-auth)
+ [Widerrufen der Datenbankautorisierung](#db2-revoking-dbadmin-auth)

## Gewähren von Benutzerzugriff auf Ihre Datenbank
<a name="db2-granting-user-access"></a>

**So gewähren Sie einem Benutzer Zugriff auf Ihre Datenbank**

1. Stellen Sie mithilfe des Hauptbenutzernamens und Hauptpassworts für Ihre DB-Instance von RDS für Db2 eine Verbindung zur `rdsadmin`-Datenbank her. Ersetzen Sie im folgenden Beispiel *master\$1username* und *master\$1password* durch Ihre eigenen Informationen.

   ```
   db2 connect to rdsadmin user master_username using master_password
   ```

   Die Ausgabe dieses Befehls sieht etwa so aus:

   ```
   Database Connection Information
       
   Database server        = DB2/LINUXX8664 11.5.8.0
   SQL authorization ID   = ADMIN
   Local database alias   = RDSADMIN
   ```

1. Fügen Sie Ihrer Autorisierungsliste einen Benutzer hinzu, indem Sie `rdsadmin.add_user` aufrufen. Weitere Informationen finden Sie unter [rdsadmin.add\$1user](db2-sp-granting-revoking-privileges.md#db2-sp-add-user). 

   ```
   db2 "call rdsadmin.add_user(
       'username',
       'password',
       'group_name,group_name')"
   ```

1. (Optional) Fügen Sie dem Benutzer weitere Gruppen hinzu, indem Sie `rdsadmin.add_groups` aufrufen. Weitere Informationen finden Sie unter [rdsadmin.add\$1groups](db2-sp-granting-revoking-privileges.md#db2-sp-add-groups). 

   ```
   db2 "call rdsadmin.add_groups(
       'username',
       'group_name,group_name')"
   ```

1. Bestätigen Sie die Berechtigungen, die dem Benutzer zur Verfügung stehen. Ersetzen Sie im folgenden Beispiel *rds\$1database\$1alias**master\$1user*, und *master\$1password* durch Ihre eigenen Informationen. Ersetzen Sie es auch *username* durch den Benutzernamen des Benutzers.

   ```
   db2 terminate
   db2 connect to rds_database_alias user master_user using master_password
   db2 "SELECT SUBSTR(AUTHORITY,1,20) AUTHORITY, D_USER, D_GROUP, D_PUBLIC
          FROM TABLE (SYSPROC.AUTH_LIST_AUTHORITIES_FOR_AUTHID ('username', 'U') ) AS T
          ORDER BY AUTHORITY"
   ```

   Die Ausgabe dieses Befehls sieht etwa so aus:

   ```
   AUTHORITY            D_USER D_GROUP D_PUBLIC
   -------------------- ------ ------- --------
   ACCESSCTRL           N      N       N
   BINDADD              N      N       N
   CONNECT              N      N       N
   CREATETAB            N      N       N
   CREATE_EXTERNAL_ROUT N      N       N
   CREATE_NOT_FENCED_RO N      N       N
   CREATE_SECURE_OBJECT N      N       N
   DATAACCESS           N      N       N
   DBADM                N      N       N
   EXPLAIN              N      N       N
   IMPLICIT_SCHEMA      N      N       N
   LOAD                 N      N       N
   QUIESCE_CONNECT      N      N       N
   SECADM               N      N       N
   SQLADM               N      N       N
   SYSADM               *      N       *
   SYSCTRL              *      N       *
   SYSMAINT             *      N       *
   SYSMON               *      N       *
   WLMADM               N      N       N
   ```

1. Gewähren Sie der Gruppe, zu der Sie den Benutzer hinzugefügt haben, die Rollen `ROLE_NULLID_PACKAGES`, `ROLE_TABLESPACES` und `ROLE_PROCEDURES` von RDS für Db2. Weitere Informationen finden Sie unter [Standardrollen in Amazon RDS für Db2](db2-default-roles.md).
**Anmerkung**  
Wir erstellen DB-Instances von RDS für Db2 im `RESTRICTIVE`-Modus. Daher gewähren die Rollen `ROLE_NULLID_PACKAGES`, `ROLE_TABLESPACES` und `ROLE_PROCEDURES` von RDS für Db2 Ausführungsberechtigungen für `NULLID`-Pakete für IBM Db2 CLP und Dynamic SQL. Diese Rollen gewähren auch Benutzerberechtigungen für Tablespaces. 

   1. Stellen Sie eine Verbindung zu Ihrer Db2-Datenbank her. Ersetzen Sie im folgenden Beispiel *database\$1name**master\$1user*, und *master\$1password* durch Ihre eigenen Informationen.

      ```
      db2 connect to database_name user master_user using master_password
      ```

   1. Gewähren Sie einer Gruppe die Rolle `ROLE_NULLED_PACKAGES`. Ersetzen Sie im folgenden Beispiel *group\$1name* durch den Namen der Gruppe, zu der Sie die Rolle hinzufügen möchten.

      ```
      db2 "grant role ROLE_NULLID_PACKAGES to group group_name"
      ```

   1. Gewähren Sie derselben Gruppe die Rolle `ROLE_TABLESPACES`. Im folgenden Beispiel *group\$1name* ersetzen Sie es durch den Namen der Gruppe, zu der Sie die Rolle hinzufügen möchten.

      ```
      db2 "grant role ROLE_TABLESPACES to group group_name"
      ```

   1. Gewähren Sie derselben Gruppe die Rolle `ROLE_PROCEDURES`. Im folgenden Beispiel *group\$1name* ersetzen Sie es durch den Namen der Gruppe, zu der Sie die Rolle hinzufügen möchten.

      ```
      db2 "grant role ROLE_PROCEDURES to group group_name"
      ```

1. Gewähren Sie der Gruppe, zu der Sie den Benutzer hinzugefügt haben, die Berechtigungen `connect`, `bindadd`, `createtab` und `IMPLICIT_SCHEMA`. Im folgenden Beispiel *group\$1name* ersetzen Sie es durch den Namen der zweiten Gruppe, zu der Sie den Benutzer hinzugefügt haben.

   ```
   db2 "grant usage on workload SYSDEFAULTUSERWORKLOAD to public"
   db2 "grant connect, bindadd, createtab, implicit_schema on database to group group_name"
   ```

1. Wiederholen Sie Schritt 4–6 für jede weitere Gruppe, zu der Sie den Benutzer hinzugefügt haben.

1. Testen Sie den Zugriff des Benutzers, indem Sie als Benutzer eine Verbindung herstellen, eine Tabelle erstellen, Werte in die Tabelle einfügen und Daten aus der Tabelle zurückgeben. Ersetzen Sie im folgenden Beispiel *rds\$1database\$1alias**username*, und *password* durch den Namen der Datenbank sowie den Benutzernamen und das Passwort des Benutzers.

   ```
   db2 connect to rds_database_alias user username using password
   db2 "create table t1(c1 int not null)"
   db2 "insert into t1 values (1),(2),(3),(4)"
   db2 "select * from t1"
   ```

## Ändern des Passworts eines Benutzers
<a name="db2-changing-user-password"></a>

**So ändern Sie das Passwort eines Benutzers**

1. Stellen Sie mithilfe des Hauptbenutzernamens und Hauptpassworts für Ihre DB-Instance von RDS für Db2 eine Verbindung zur `rdsadmin`-Datenbank her. Ersetzen Sie im folgenden Beispiel *master\$1username* und *master\$1password* durch Ihre eigenen Informationen. 

   ```
   db2 connect to rdsadmin user master_username using master_password
   ```

1. Ändern Sie das Passwort, indem Sie `rdsadmin.change_password` aufrufen. Weitere Informationen finden Sie unter [rdsadmin.change\$1password](db2-sp-granting-revoking-privileges.md#db2-sp-change-password). 

   ```
   db2 "call rdsadmin.change_password(
       'username',
       'new_password')"
   ```

## Hinzufügen von Gruppen zu einem Benutzer
<a name="db2-adding-group-to-user"></a>

**So fügen Sie Gruppen zu einem Benutzer hinzu**

1. Stellen Sie mithilfe des Hauptbenutzernamens und Hauptpassworts für Ihre DB-Instance von RDS für Db2 eine Verbindung zur `rdsadmin`-Datenbank her. Ersetzen Sie im folgenden Beispiel *master\$1username* und *master\$1password* durch Ihre eigenen Informationen. 

   ```
   db2 connect to rdsadmin user master_username using master_password
   ```

1. Fügen Sie einem Benutzer Gruppen hinzu, indem Sie `rdsadmin.add_groups` aufrufen. Weitere Informationen finden Sie unter [rdsadmin.add\$1groups](db2-sp-granting-revoking-privileges.md#db2-sp-add-groups). 

   ```
   db2 "call rdsadmin.add_groups(
       'username',
       'group_name,group_name')"
   ```

## Entfernen von Gruppen von einem Benutzer
<a name="db2-removing-groups-from-user"></a>

**So entfernen Sie Gruppen von einem Benutzer**

1. Stellen Sie mithilfe des Hauptbenutzernamens und Hauptpassworts für Ihre DB-Instance von RDS für Db2 eine Verbindung zur `rdsadmin`-Datenbank her. Ersetzen Sie im folgenden Beispiel *master\$1username* und *master\$1password* durch Ihre eigenen Informationen. 

   ```
   db2 connect to rdsadmin user master_username using master_password
   ```

1. Entfernen Sie Gruppen, indem Sie `rdsadmin.remove_groups` aufrufen. Weitere Informationen finden Sie unter [rdsadmin.remove\$1groups](db2-sp-granting-revoking-privileges.md#db2-sp-remove-groups). 

   ```
   db2 "call rdsadmin.remove_groups(
       'username',
       'group_name,group_name')"
   ```

## Entfernen eines Benutzers
<a name="db2-removing-user"></a>

**So entfernen Sie einen Benutzer aus der Autorisierungsliste**

1. Stellen Sie mithilfe des Hauptbenutzernamens und Hauptpassworts für Ihre DB-Instance von RDS für Db2 eine Verbindung zur `rdsadmin`-Datenbank her. Ersetzen Sie im folgenden Beispiel *master\$1username* und *master\$1password* durch Ihre eigenen Informationen. 

   ```
   db2 connect to rdsadmin user master_username using master_password
   ```

1. Entfernen Sie einen Benutzer aus Ihrer Autorisierungsliste, indem Sie `rdsadmin.remove_user` aufrufen. Weitere Informationen finden Sie unter [rdsadmin.remove\$1user](db2-sp-granting-revoking-privileges.md#db2-sp-remove-user). 

   ```
   db2 "call rdsadmin.remove_user('username')"
   ```

## Auflisten von Benutzern
<a name="db2-listing-users-database"></a>

Rufen Sie die gespeicherte Prozedur `rdsadmin.list_users` auf, um Benutzer in einer Autorisierungsliste aufzulisten. Weitere Informationen finden Sie unter [rdsadmin.list\$1users](db2-sp-granting-revoking-privileges.md#db2-sp-list-users).

```
db2 "call rdsadmin.list_users()"
```

## Erstellen einer Rolle
<a name="db2-creating-role"></a>

Sie können die gespeicherte Prozedur [rdsadmin.create\$1role](db2-sp-granting-revoking-privileges.md#db2-sp-create-role) verwenden, um eine Rolle zu erstellen.

**So erstellen Sie eine Rolle**

1. Stellen Sie eine Verbindung zur Datenbank `rdsadmin` her. Ersetzen Sie im folgenden Beispiel *master\$1username* und *master\$1password* durch Ihre Informationen.

   ```
   db2 connect to rdsadmin user master_username using master_password
   ```

1. Stellen Sie Db2 für die Ausgabe von Inhalten ein.

   ```
   db2 set serveroutput on 
   ```

1. Erstellen Sie eine Rolle. Weitere Informationen finden Sie unter [rdsadmin.create\$1role](db2-sp-granting-revoking-privileges.md#db2-sp-create-role).

   ```
   db2 "call rdsadmin.create_role(
       'database_name',
       'role_name')"
   ```

1. Stellen Sie Db2 so ein, dass kein Inhalt ausgegeben wird.

   ```
   db2 set serveroutput off
   ```

## Gewähren einer Rolle
<a name="db2-granting-role"></a>

Sie können die gespeicherte Prozedur [rdsadmin.grant\$1role](db2-sp-granting-revoking-privileges.md#db2-sp-grant-role) verwenden, um einer Rolle, einem Benutzer oder einer Gruppe eine Rolle zuzuweisen.

**So weisen Sie eine Rolle zu**

1. Stellen Sie eine Verbindung zur Datenbank `rdsadmin` her. Ersetzen Sie im folgenden Beispiel *master\$1username* und *master\$1password* durch Ihre Informationen.

   ```
   db2 connect to rdsadmin user master_username using master_password
   ```

1. Stellen Sie Db2 für die Ausgabe von Inhalten ein.

   ```
   db2 set serveroutput on 
   ```

1. Weisen Sie eine Rolle zu. Weitere Informationen finden Sie unter [rdsadmin.grant\$1role](db2-sp-granting-revoking-privileges.md#db2-sp-grant-role).

   ```
   db2 "call rdsadmin.grant_role(
       'database_name',
       'role_name',
       'grantee',
       'admin_option')"
   ```

1. Stellen Sie Db2 so ein, dass kein Inhalt ausgegeben wird.

   ```
   db2 set serveroutput off
   ```

## Widerrufen einer Rolle
<a name="db2-revoking-role"></a>

Sie können die gespeicherte Prozedur [rdsadmin.revoke\$1role](db2-sp-granting-revoking-privileges.md#db2-sp-revoke-role) verwenden, um eine Rolle für eine Rolle, einen Benutzer oder eine Gruppe zu widerrufen.

**So widerrufen Sie eine Rolle**

1. Stellen Sie eine Verbindung zur Datenbank `rdsadmin` her. Ersetzen Sie im folgenden Beispiel *master\$1username* und *master\$1password* durch Ihre Informationen.

   ```
   db2 connect to rdsadmin user master_username using master_password
   ```

1. Widerrufen Sie eine Rolle. Weitere Informationen finden Sie unter [rdsadmin.revoke\$1role](db2-sp-granting-revoking-privileges.md#db2-sp-revoke-role).

   ```
   db2 "call rdsadmin.revoke_role(
       ?,
       'database_name',
       'role_name',
       'grantee')"
   ```

## Entfernen einer Rolle
<a name="db2-dropping-role"></a>

Sie können die gespeicherte Prozedur [rdsadmin.drop\$1role](db2-sp-granting-revoking-privileges.md#db2-sp-drop-role) verwenden, um eine Rolle zu entfernen.

**So entfernen Sie eine Rolle**

1. Stellen Sie eine Verbindung zur Datenbank `rdsadmin` her. Ersetzen Sie im folgenden Beispiel *master\$1username* und *master\$1password* durch Ihre Informationen.

   ```
   db2 connect to rdsadmin user master_username using master_password
   ```

1. Entfernen Sie eine Rolle. Weitere Informationen finden Sie unter [rdsadmin.drop\$1role](db2-sp-granting-revoking-privileges.md#db2-sp-drop-role).

   ```
   db2 "call rdsadmin.drop_role(
       ?,
       'database_name',
       'role_name')"
   ```

## Gewähren einer Datenbankautorisierung
<a name="db2-granting-dbadmin-auth"></a>

Der Hauptbenutzer, der über eine `DBADM`-Autorisierung verfügt, kann einer Rolle, einem Benutzer oder einer Gruppe die Berechtigung `DBADM`, `ACCESSCTRL` oder `DATAACCESS` gewähren.

**So gewähren Sie eine Datenbankautorisierung**

1. Stellen Sie mithilfe des Hauptbenutzernamens und Hauptpassworts für Ihre DB-Instance von RDS für Db2 eine Verbindung zur `rdsadmin`-Datenbank her. Ersetzen Sie im folgenden Beispiel *master\$1username* und *master\$1password* durch Ihre eigenen Informationen.

   ```
   db2 connect to rdsadmin user master_username using master_password
   ```

1. Gewähren Sie einem Benutzer Zugriff, indem Sie `rdsadmin.dbadm_grant` aufrufen. Weitere Informationen finden Sie unter [rdsadmin.dbadm\$1grant](db2-sp-granting-revoking-privileges.md#db2-sp-dbadm-grant). 

   ```
   db2 "call rdsadmin.dbadm_grant(
       ?,
       'database_name,
       'authorization',
       'grantee')"
   ```

**Beispiel für einen Anwendungsfall**

Das folgende Verfahren führt Sie durch das Erstellen einer Rolle, das Gewähren der Berechtigung `DBADM` für die Rolle, das Zuweisen der Rolle zu einem Benutzer und das Gewähren der Rolle für eine Gruppe.

****

1. Stellen Sie mithilfe des Hauptbenutzernamens und Hauptpassworts für Ihre DB-Instance von RDS für Db2 eine Verbindung zur `rdsadmin`-Datenbank her. Ersetzen Sie im folgenden Beispiel *master\$1username* und *master\$1password* durch Ihre eigenen Informationen.

   ```
   db2 connect to rdsadmin user master_username using master_password
   ```

1. Erstellen Sie eine Rolle namens `PROD_ROLE` für eine Datenbank namens `TESTDB`. Weitere Informationen finden Sie unter [rdsadmin.create\$1role](db2-sp-granting-revoking-privileges.md#db2-sp-create-role). 

   ```
   db2 "call rdsadmin.create_role(
       'TESTDB',
       'PROD_ROLE')"
   ```

1. Weisen Sie die Rolle dann einem Benutzer namens `PROD_USER` zu. `PROD_USER` erhält die Administratorberechtigung zur Zuweisung von Rollen. Weitere Informationen finden Sie unter [rdsadmin.grant\$1role](db2-sp-granting-revoking-privileges.md#db2-sp-grant-role). 

   ```
   db2 "call rdsadmin.grant_role(
       ?,
       'TESTDB',
       'PROD_ROLE',
       'USER PROD_USER',
       'Y')"
   ```

1. (Optional) Geben Sie zusätzliche Autorisierungen oder Berechtigungen ein. Im folgenden Beispiel wird einer Rolle namens `PROD_ROLE` die Berechtigung `DBADM` für die Datenbank `FUNDPROD` gewährt. Weitere Informationen finden Sie unter [rdsadmin.dbadm\$1grant](db2-sp-granting-revoking-privileges.md#db2-sp-dbadm-grant). 

   ```
   db2 "call rdsadmin.dbadm_grant(
       ?,
       'FUNDPROD',
       'DBADM',
       'ROLE PROD_ROLE')"
   ```

1. Beenden Sie Ihre Sitzung.

   ```
   db2 terminate
   ```

1. Stellen Sie mithilfe des Hauptbenutzernamens und Hauptpassworts für Ihre DB-Instance von RDS für Db2 eine Verbindung zur `TESTDB`-Datenbank her. Ersetzen Sie im folgenden Beispiel *master\$1username* und *master\$1password* durch Ihre eigenen Informationen.

   ```
   db2 connect to TESTDB user master_username using master_password
   ```

1. Fügen Sie der Rolle weitere Autorisierungen hinzu.

   ```
   db2 "grant connect, implicit_schema on database to role PROD_ROLE"
   ```

1. Gewähren Sie einer Gruppe die Rolle `PROD_ROLE`.

   ```
   db2 "grant role PROD_ROLE to group PRODGRP"
   ```

Benutzer, die der Gruppe `PRODGRP` angehören, können jetzt Aktionen wie das Herstellen einer Verbindung zur Datenbank `TESTDB`, das Erstellen von Tabellen oder das Erstellen von Schemas ausführen.

## Widerrufen der Datenbankautorisierung
<a name="db2-revoking-dbadmin-auth"></a>

Der Hauptbenutzer, der über eine `DBADM`-Autorisierung verfügt, kann einer Rolle, einem Benutzer oder einer Gruppe die Berechtigung `DBADM`, `ACCESSCTRL` oder `DATAACCESS` entziehen.

**So widerrufen Sie die Datenbankautorisierung**

1. Stellen Sie mithilfe des Hauptbenutzernamens und Hauptpassworts für Ihre DB-Instance von RDS für Db2 eine Verbindung zur `rdsadmin`-Datenbank her. Ersetzen Sie im folgenden Beispiel *master\$1username* und *master\$1password* durch Ihre eigenen Informationen.

   ```
   db2 connect to rdsadmin user master_username using master_password
   ```

1. Widerrufen Sie den Benutzerzugriff, indem Sie `rdsadmin.dbadm_revoke` aufrufen. Weitere Informationen finden Sie unter [rdsadmin.dbadm\$1revoke](db2-sp-granting-revoking-privileges.md#db2-sp-dbadm-revoke). 

   ```
   db2 "call rdsadmin.dbadm_revoke(
       ?,
       'database_name,
       'authorization',
       'grantee')"
   ```