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.
Benutzer erhalten Zugriff auf Datenbanken durch Mitgliedschaft in Gruppen, die Datenbanken zugeordnet sind.
Gehen Sie wie folgt vor, um Rechte zur Steuerung des Zugriffs auf Ihre Datenbank zu gewähren oder zu entziehen.
Diese Verfahren verwenden IBM Db2 CLP wird auf einem lokalen Computer ausgeführt, um eine Verbindung zu einer RDS for Db2-DB-Instance herzustellen. Stellen Sie sicher, dass Sie den TCPIP Knoten und die Datenbank katalogisieren, um eine Verbindung zu Ihrer RDS for Db2-DB-Instance herzustellen, die auf Ihrem lokalen Computer ausgeführt wird. Weitere Informationen finden Sie unter Herstellen einer Verbindung zu Ihrer Amazon RDS for Db2-DB-Instance mit IBM Db2 CLP.
Themen
Gewähren Sie einem Benutzer Zugriff auf Ihre Datenbank
Um einem Benutzer Zugriff auf Ihre Datenbank zu gewähren
-
Stellen Sie mithilfe des Master-Benutzernamens und des Master-Passworts RDS für Ihre DB2-DB-Instance eine Connect zur
rdsadmin
Datenbank her. Ersetzen Sie im folgenden Beispielmaster_username
undmaster_password
durch Ihre eigenen Informationen.db2 connect to rdsadmin user
master_username
usingmaster_password
Dieser Befehl erzeugt eine Ausgabe, die dem folgenden Beispiel ähnelt:
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 anrufen
rdsadmin.add_user
. 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 anrufen
rdsadmin.add_groups
. 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_alias
master_user
, undmaster_password
durch Ihre eigenen Informationen. Ersetzen Sie es auchusername
durch den Benutzernamen des Benutzers.db2 terminate db2 connect to
rds_database_alias
usermaster_user
usingmaster_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"Dieser Befehl erzeugt eine Ausgabe, die dem folgenden Beispiel ähnelt:
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
-
Weisen Sie der Gruppe
ROLE_NULLID_PACKAGES
,ROLE_PROCEDURES
zu der Sie den Benutzer hinzugefügt habenROLE_TABLESPACES
, die RDS für Db2 Rollen, und zu. Weitere Informationen finden Sie unter Standardrollen von Amazon RDS für Db2.Anmerkung
Wir erstellen RDS für Db2 DB-Instances im
RESTRICTIVE
Modus. Daher sind die Rollen RDSROLE_NULLID_PACKAGES
für Db2 undROLE_PROCEDURES
gewähren Ausführungsberechtigungen für Pakete fürROLE_TABLESPACES
NULLID
IBM Db2 CLP and Dynamic SQL. Diese Rollen gewähren auch Benutzerrechte für Tablespaces.-
Connect zu Ihrer Db2-Datenbank her. Ersetzen Sie im folgenden Beispiel
database_name
master_user
, undmaster_password
durch Ihre eigenen Informationen.db2 connect to
database_name
usermaster_user
usingmaster_password
-
Weisen Sie die Rolle einer Gruppe
ROLE_NULLED_PACKAGES
zu. Im folgenden Beispielgroup_name
ersetzen Sie sie durch den Namen der Gruppe, zu der Sie die Rolle hinzufügen möchten.db2 "grant role ROLE_NULLID_PACKAGES to group
group_name
" -
Weisen Sie derselben Gruppe die Rolle
ROLE_TABLESPACES
zu. Im folgenden Beispielgroup_name
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
" -
Weisen Sie derselben Gruppe die Rolle
ROLE_PROCEDURES
zu. Im folgenden Beispielgroup_name
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
"
-
-
Erteilen Sie der Gruppe
connect
bindadd
createtab
IMPLICIT_SCHEMA
, zu der Sie den Benutzer hinzugefügt haben, Berechtigungen. Ersetzen Sie im folgenden Beispielgroup_name
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
" -
Wiederholen Sie die Schritte 4 bis 6 für jede weitere Gruppe, der Sie den Benutzer hinzugefügt haben.
-
Testen Sie den Zugriff des Benutzers, indem Sie eine Verbindung als Benutzer herstellen, eine Tabelle erstellen, Werte in die Tabelle einfügen und Daten aus der Tabelle zurückgeben. Im folgenden Beispiel ersetzen Sie
rds_database_alias
username
, undpassword
durch den Namen der Datenbank sowie den Benutzernamen und das Passwort des Benutzers.db2 connect to
rds_database_alias
userusername
usingpassword
db2 "create table t1(c1 int not null)" db2 "insert into t1 values (1),(2),(3),(4)" db2 "select * from t1"
Das Passwort eines Benutzers ändern
So ändern Sie das Passwort eines Benutzers
-
Stellen Sie mithilfe des Master-Benutzernamens und des Master-Passworts RDS für Ihre DB2-DB-Instance eine Connect zur
rdsadmin
Datenbank her. Ersetzen Sie im folgenden Beispielmaster_username
undmaster_password
durch Ihre eigenen Informationen.db2 connect to rdsadmin user
master_username
usingmaster_password
-
Ändern Sie das Passwort, indem Sie anrufen
rdsadmin.change_password
. Weitere Informationen finden Sie unter rdsadmin.change_password.db2 "call rdsadmin.change_password( '
username
', 'new_password
')"
Hinzufügen von Gruppen zu einem Benutzer
Um einem Benutzer Gruppen hinzuzufügen
-
Stellen Sie mithilfe des Master-Benutzernamens und des Master-Passworts RDS für Ihre DB2-DB-Instance eine Connect zur
rdsadmin
Datenbank her. Ersetzen Sie im folgenden Beispielmaster_username
undmaster_password
durch Ihre eigenen Informationen.db2 connect to rdsadmin user
master_username
usingmaster_password
-
Fügen Sie einem Benutzer Gruppen hinzu, indem Sie anrufen
rdsadmin.add_groups
. Weitere Informationen finden Sie unter rdsadmin.add_groups.db2 "call rdsadmin.add_groups( '
username
', 'group_name
,group_name
')"
Gruppen von einem Benutzer entfernen
Um Gruppen von einem Benutzer zu entfernen
-
Stellen Sie mithilfe des Master-Benutzernamens und des Master-Passworts RDS für Ihre DB2-DB-Instance eine Connect zur
rdsadmin
Datenbank her. Ersetzen Sie im folgenden Beispielmaster_username
undmaster_password
durch Ihre eigenen Informationen.db2 connect to rdsadmin user
master_username
usingmaster_password
-
Entfernen Sie Gruppen, indem Sie anrufen
rdsadmin.remove_groups
. Weitere Informationen finden Sie unter rdsadmin.remove_groups.db2 "call rdsadmin.remove_groups( '
username
', 'group_name
,group_name
')"
Einen Benutzer entfernen
Um einen Benutzer aus der Autorisierungsliste zu entfernen
-
Stellen Sie mithilfe des Master-Benutzernamens und des Master-Passworts RDS für Ihre DB2-DB-Instance eine Connect zur
rdsadmin
Datenbank her. Ersetzen Sie im folgenden Beispielmaster_username
undmaster_password
durch Ihre eigenen Informationen.db2 connect to rdsadmin user
master_username
usingmaster_password
-
Entfernen Sie einen Benutzer aus Ihrer Autorisierungsliste, indem Sie anrufen
rdsadmin.remove_user
. Weitere Informationen finden Sie unter rdsadmin.remove_user.db2 "call rdsadmin.remove_user('
username
')"
Benutzer auflisten
Rufen Sie die rdsadmin.list_users
gespeicherte Prozedur auf, um Benutzer auf einer Autorisierungsliste aufzulisten. Weitere Informationen finden Sie unter rdsadmin.list_users.
db2 "call rdsadmin.list_users()"
Erstellen einer Rolle
Sie können die rdsadmin.create_role gespeicherte Prozedur verwenden, um eine Rolle zu erstellen.
So erstellen Sie eine Rolle
-
Connect zur
rdsadmin
Datenbank her. Ersetzen Sie im folgenden Beispielmaster_username
undmaster_password
durch Ihre Informationen.db2 connect to rdsadmin user
master_username
usingmaster_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
Eine Rolle gewähren
Sie können die rdsadmin.grant_role gespeicherte Prozedur verwenden, um einer Rolle, einem Benutzer oder einer Gruppe eine Rolle zuzuweisen.
Um eine Rolle zuzuweisen
-
Connect zur
rdsadmin
Datenbank her. Ersetzen Sie im folgenden Beispielmaster_username
undmaster_password
durch Ihre Informationen.db2 connect to rdsadmin user
master_username
usingmaster_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
Eine Rolle widerrufen
Sie können die rdsadmin.revoke_role gespeicherte Prozedur verwenden, um einer Rolle, einem Benutzer oder einer Gruppe eine Rolle zu entziehen.
Um eine Rolle zu widerrufen
-
Connect zur
rdsadmin
Datenbank her. Ersetzen Sie im folgenden Beispielmaster_username
undmaster_password
durch Ihre Informationen.db2 connect to rdsadmin user
master_username
usingmaster_password
-
Widerrufen Sie eine Rolle. Weitere Informationen finden Sie unter rdsadmin.revoke_role.
db2 "call rdsadmin.revoke_role( ?, '
database_name
', 'role_name
', 'grantee
')"
Eine Rolle löschen
Sie können die rdsadmin.drop_role gespeicherte Prozedur verwenden, um eine Rolle zu löschen.
Um eine Rolle zu löschen
-
Connect zur
rdsadmin
Datenbank her. Ersetzen Sie im folgenden Beispielmaster_username
undmaster_password
durch Ihre Informationen.db2 connect to rdsadmin user
master_username
usingmaster_password
-
Löschen Sie eine Rolle. Weitere Informationen finden Sie unter rdsadmin.drop_role.
db2 "call rdsadmin.drop_role( ?, '
database_name
', 'role_name
')"
Datenbankautorisierung gewähren
Der Masterbenutzer, der über eine DBADM
Autorisierung verfügt, kann einer Rolle DBADM
ACCESSCTRL
, einem Benutzer oder einer Gruppe eine DATAACCESS
Autorisierung erteilen oder eine Autorisierung erteilen.
Um eine Datenbankautorisierung zu erteilen
-
Stellen Sie mithilfe des Master-Benutzernamens und des Master-Passworts RDS für Ihre DB2-DB-Instance eine Connect zur
rdsadmin
Datenbank her. Ersetzen Sie im folgenden Beispielmaster_username
undmaster_password
durch Ihre eigenen Informationen.db2 connect to rdsadmin user
master_username
usingmaster_password
-
Gewähren Sie einem Benutzer Zugriff, indem Sie anrufen
rdsadmin.dbadm_grant
. 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 Erteilen der DBADM
Autorisierung für die Rolle, das Zuweisen der Rolle an einen Benutzer und das Erteilen der Rolle an eine Gruppe.
-
Stellen Sie mithilfe des Master-Benutzernamens und des Master-Passworts RDS für Ihre DB2-DB-Instance eine Connect zur
rdsadmin
Datenbank her. Ersetzen Sie im folgenden Beispielmaster_username
undmaster_password
durch Ihre eigenen Informationen.db2 connect to rdsadmin user
master_username
usingmaster_password
-
Erstellen Sie eine Rolle namens
PROD_ROLE
für eine Datenbank namensTESTDB
. Weitere Informationen finden Sie unter rdsadmin.create_role.db2 "call rdsadmin.create_role( 'TESTDB', 'PROD_ROLE')"
-
Weisen Sie die Rolle einem Benutzer mit dem Namen zu
PROD_USER
. ErPROD_USER
erhä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 Rechte ein. Im folgenden Beispiel wird einer Rolle, die
PROD_ROLE
nach einer Datenbank namens benannt ist,DBADM
Autorisierung erteiltFUNDPROD
. 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 Master-Benutzernamens und des Master-Passworts RDS für Ihre DB2-DB-Instance eine Connect zur
TESTDB
Datenbank her. Ersetzen Sie im folgenden Beispielmaster_username
undmaster_password
durch Ihre eigenen Informationen.db2 connect to TESTDB user
master_username
usingmaster_password
-
Fügen Sie der Rolle weitere Autorisierungen hinzu.
db2 "grant connect, implicit_schema on database to role PROD_ROLE"
-
Erteilen Sie
PROD_ROLE
die Rolle einer Gruppe.db2 "grant role PROD_ROLE to group PRODGRP"
Benutzer, die der Gruppe angehören, PRODGRP
können jetzt Aktionen wie das Herstellen einer Verbindung zur TESTDB
Datenbank, das Erstellen von Tabellen oder das Erstellen von Schemas ausführen.
Widerrufen der Datenbankautorisierung
Der Hauptbenutzer, der über eine DBADM
Autorisierung verfügt DBADM
ACCESSCTRL
, kann die DATAACCESS
Autorisierung einer Rolle, einem Benutzer oder einer Gruppe entziehen.
Um die Datenbankautorisierung zu widerrufen
-
Stellen Sie mithilfe des Master-Benutzernamens und des Master-Passworts RDS für Ihre DB2-DB-Instance eine Connect zur
rdsadmin
Datenbank her. Ersetzen Sie im folgenden Beispielmaster_username
undmaster_password
durch Ihre eigenen Informationen.db2 connect to rdsadmin user
master_username
usingmaster_password
-
Widerrufen Sie den Benutzerzugriff, indem Sie anrufen
rdsadmin.dbadm_revoke
. Weitere Informationen finden Sie unter rdsadmin.dbadm_revoke.db2 "call rdsadmin.dbadm_revoke( ?, '
database_name
, 'authorization
', 'grantee
')"