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
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.
Themen
Gewähren von Benutzerzugriff auf Ihre Datenbank
So gewähren Sie einem Benutzer Zugriff auf Ihre Datenbank
-
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 Beispielmaster_usernameundmaster_passworddurch Ihre eigenen Informationen.db2 connect to rdsadmin usermaster_usernameusingmaster_passwordDie 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 -
Fügen Sie Ihrer Autorisierungsliste einen Benutzer hinzu, indem Sie
rdsadmin.add_useraufrufen. Weitere Informationen finden Sie unter rdsadmin.add_user.db2 "call rdsadmin.add_user( 'username', 'password', 'group_name,group_name')" -
(Optional) Fügen Sie dem Benutzer weitere Gruppen hinzu, indem Sie
rdsadmin.add_groupsaufrufen. Weitere Informationen finden Sie unter rdsadmin.add_groups.db2 "call rdsadmin.add_groups( 'username', 'group_name,group_name')" -
Bestätigen Sie die Berechtigungen, die dem Benutzer zur Verfügung stehen. Ersetzen Sie im folgenden Beispiel
rds_database_aliasmaster_user, undmaster_passworddurch Ihre eigenen Informationen. Ersetzen Sie es auchusernamedurch den Benutzernamen des Benutzers.db2 terminate db2 connect tords_database_aliasusermaster_userusingmaster_passworddb2 "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 -
Gewähren Sie der Gruppe, zu der Sie den Benutzer hinzugefügt haben, die Rollen
ROLE_NULLID_PACKAGES,ROLE_TABLESPACESundROLE_PROCEDURESvon RDS für Db2. Weitere Informationen finden Sie unter Standardrollen in Amazon RDS für Db2.Anmerkung
Wir erstellen DB-Instances von RDS für Db2 im
RESTRICTIVE-Modus. Daher gewähren die RollenROLE_NULLID_PACKAGES,ROLE_TABLESPACESundROLE_PROCEDURESvon RDS für Db2 Ausführungsberechtigungen fürNULLID-Pakete für IBM Db2 CLP und Dynamic SQL. Diese Rollen gewähren auch Benutzerberechtigungen für Tablespaces.-
Stellen Sie eine Verbindung zu Ihrer Db2-Datenbank her. Ersetzen Sie im folgenden Beispiel
database_namemaster_user, undmaster_passworddurch Ihre eigenen Informationen.db2 connect todatabase_nameusermaster_userusingmaster_password -
Gewähren Sie einer Gruppe die Rolle
ROLE_NULLED_PACKAGES. Ersetzen Sie im folgenden Beispielgroup_namedurch den Namen der Gruppe, zu der Sie die Rolle hinzufügen möchten.db2 "grant role ROLE_NULLID_PACKAGES to groupgroup_name" -
Gewähren Sie derselben Gruppe die Rolle
ROLE_TABLESPACES. Im folgenden Beispielgroup_nameersetzen Sie es durch den Namen der Gruppe, zu der Sie die Rolle hinzufügen möchten.db2 "grant role ROLE_TABLESPACES to groupgroup_name" -
Gewähren Sie derselben Gruppe die Rolle
ROLE_PROCEDURES. Im folgenden Beispielgroup_nameersetzen Sie es durch den Namen der Gruppe, zu der Sie die Rolle hinzufügen möchten.db2 "grant role ROLE_PROCEDURES to groupgroup_name"
-
-
Gewähren Sie der Gruppe, zu der Sie den Benutzer hinzugefügt haben, die Berechtigungen
connect,bindadd,createtabundIMPLICIT_SCHEMA. Im folgenden Beispielgroup_nameersetzen 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 groupgroup_name" -
Wiederholen Sie Schritt 4–6 für jede weitere Gruppe, zu der Sie den Benutzer hinzugefügt haben.
-
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_database_aliasusername, undpassworddurch den Namen der Datenbank sowie den Benutzernamen und das Passwort des Benutzers.db2 connect tords_database_aliasuserusernameusingpassworddb2 "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
So ändern Sie das Passwort eines Benutzers
-
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 Beispielmaster_usernameundmaster_passworddurch Ihre eigenen Informationen.db2 connect to rdsadmin usermaster_usernameusingmaster_password -
Ändern Sie das Passwort, indem Sie
rdsadmin.change_passwordaufrufen. Weitere Informationen finden Sie unter rdsadmin.change_password.db2 "call rdsadmin.change_password( 'username', 'new_password')"
Hinzufügen von Gruppen zu einem Benutzer
So fügen Sie Gruppen zu einem Benutzer hinzu
-
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 Beispielmaster_usernameundmaster_passworddurch Ihre eigenen Informationen.db2 connect to rdsadmin usermaster_usernameusingmaster_password -
Fügen Sie einem Benutzer Gruppen hinzu, indem Sie
rdsadmin.add_groupsaufrufen. Weitere Informationen finden Sie unter rdsadmin.add_groups.db2 "call rdsadmin.add_groups( 'username', 'group_name,group_name')"
Entfernen von Gruppen von einem Benutzer
So entfernen Sie Gruppen von einem Benutzer
-
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 Beispielmaster_usernameundmaster_passworddurch Ihre eigenen Informationen.db2 connect to rdsadmin usermaster_usernameusingmaster_password -
Entfernen Sie Gruppen, indem Sie
rdsadmin.remove_groupsaufrufen. Weitere Informationen finden Sie unter rdsadmin.remove_groups.db2 "call rdsadmin.remove_groups( 'username', 'group_name,group_name')"
Entfernen eines Benutzers
So entfernen Sie einen Benutzer aus der Autorisierungsliste
-
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 Beispielmaster_usernameundmaster_passworddurch Ihre eigenen Informationen.db2 connect to rdsadmin usermaster_usernameusingmaster_password -
Entfernen Sie einen Benutzer aus Ihrer Autorisierungsliste, indem Sie
rdsadmin.remove_useraufrufen. Weitere Informationen finden Sie unter rdsadmin.remove_user.db2 "call rdsadmin.remove_user('username')"
Auflisten von Benutzern
Rufen Sie die gespeicherte Prozedur rdsadmin.list_users auf, um Benutzer in einer Autorisierungsliste aufzulisten. Weitere Informationen finden Sie unter rdsadmin.list_users.
db2 "call rdsadmin.list_users()"
Erstellen einer Rolle
Sie können die gespeicherte Prozedur rdsadmin.create_role verwenden, um eine Rolle zu erstellen.
So erstellen Sie eine Rolle
-
Stellen Sie eine Verbindung zur Datenbank
rdsadminher. Ersetzen Sie im folgenden Beispielmaster_usernameundmaster_passworddurch Ihre Informationen.db2 connect to rdsadmin usermaster_usernameusingmaster_password -
Stellen Sie Db2 für die Ausgabe von Inhalten ein.
db2 set serveroutput on -
Erstellen Sie eine Rolle. Weitere Informationen finden Sie unter rdsadmin.create_role.
db2 "call rdsadmin.create_role( 'database_name', 'role_name')" -
Stellen Sie Db2 so ein, dass kein Inhalt ausgegeben wird.
db2 set serveroutput off
Gewähren einer Rolle
Sie können die gespeicherte Prozedur rdsadmin.grant_role verwenden, um einer Rolle, einem Benutzer oder einer Gruppe eine Rolle zuzuweisen.
So weisen Sie eine Rolle zu
-
Stellen Sie eine Verbindung zur Datenbank
rdsadminher. Ersetzen Sie im folgenden Beispielmaster_usernameundmaster_passworddurch Ihre Informationen.db2 connect to rdsadmin usermaster_usernameusingmaster_password -
Stellen Sie Db2 für die Ausgabe von Inhalten ein.
db2 set serveroutput on -
Weisen Sie eine Rolle zu. Weitere Informationen finden Sie unter rdsadmin.grant_role.
db2 "call rdsadmin.grant_role( 'database_name', 'role_name', 'grantee', 'admin_option')" -
Stellen Sie Db2 so ein, dass kein Inhalt ausgegeben wird.
db2 set serveroutput off
Widerrufen einer Rolle
Sie können die gespeicherte Prozedur rdsadmin.revoke_role verwenden, um eine Rolle für eine Rolle, einen Benutzer oder eine Gruppe zu widerrufen.
So widerrufen Sie eine Rolle
-
Stellen Sie eine Verbindung zur Datenbank
rdsadminher. Ersetzen Sie im folgenden Beispielmaster_usernameundmaster_passworddurch Ihre Informationen.db2 connect to rdsadmin usermaster_usernameusingmaster_password -
Widerrufen Sie eine Rolle. Weitere Informationen finden Sie unter rdsadmin.revoke_role.
db2 "call rdsadmin.revoke_role( ?, 'database_name', 'role_name', 'grantee')"
Entfernen einer Rolle
Sie können die gespeicherte Prozedur rdsadmin.drop_role verwenden, um eine Rolle zu entfernen.
So entfernen Sie eine Rolle
-
Stellen Sie eine Verbindung zur Datenbank
rdsadminher. Ersetzen Sie im folgenden Beispielmaster_usernameundmaster_passworddurch Ihre Informationen.db2 connect to rdsadmin usermaster_usernameusingmaster_password -
Entfernen Sie eine Rolle. Weitere Informationen finden Sie unter rdsadmin.drop_role.
db2 "call rdsadmin.drop_role( ?, 'database_name', 'role_name')"
Gewähren einer Datenbankautorisierung
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
-
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 Beispielmaster_usernameundmaster_passworddurch Ihre eigenen Informationen.db2 connect to rdsadmin usermaster_usernameusingmaster_password -
Gewähren Sie einem Benutzer Zugriff, indem Sie
rdsadmin.dbadm_grantaufrufen. Weitere Informationen finden Sie unter rdsadmin.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.
-
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 Beispielmaster_usernameundmaster_passworddurch Ihre eigenen Informationen.db2 connect to rdsadmin usermaster_usernameusingmaster_password -
Erstellen Sie eine Rolle namens
PROD_ROLEfür eine Datenbank namensTESTDB. Weitere Informationen finden Sie unter rdsadmin.create_role.db2 "call rdsadmin.create_role( 'TESTDB', 'PROD_ROLE')" -
Weisen Sie die Rolle dann einem Benutzer namens
PROD_USERzu.PROD_USERerhält die Administratorberechtigung zur Zuweisung von Rollen. Weitere Informationen finden Sie unter rdsadmin.grant_role.db2 "call rdsadmin.grant_role( ?, 'TESTDB', 'PROD_ROLE', 'USER PROD_USER', 'Y')" -
(Optional) Geben Sie zusätzliche Autorisierungen oder Berechtigungen ein. Im folgenden Beispiel wird einer Rolle namens
PROD_ROLEdie BerechtigungDBADMfür die DatenbankFUNDPRODgewährt. Weitere Informationen finden Sie unter rdsadmin.dbadm_grant.db2 "call rdsadmin.dbadm_grant( ?, 'FUNDPROD', 'DBADM', 'ROLE PROD_ROLE')" -
Beenden Sie Ihre Sitzung.
db2 terminate -
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 Beispielmaster_usernameundmaster_passworddurch Ihre eigenen Informationen.db2 connect to TESTDB usermaster_usernameusingmaster_password -
Fügen Sie der Rolle weitere Autorisierungen hinzu.
db2 "grant connect, implicit_schema on database to role PROD_ROLE" -
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
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
-
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 Beispielmaster_usernameundmaster_passworddurch Ihre eigenen Informationen.db2 connect to rdsadmin usermaster_usernameusingmaster_password -
Widerrufen Sie den Benutzerzugriff, indem Sie
rdsadmin.dbadm_revokeaufrufen. Weitere Informationen finden Sie unter rdsadmin.dbadm_revoke.db2 "call rdsadmin.dbadm_revoke( ?, 'database_name, 'authorization', 'grantee')"