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.
Gespeicherte Prozeduren zum Gewähren und Widerrufen von Berechtigungen für RDS für Db2
Mit den in diesem Thema beschrieben integrierten gespeicherten Prozeduren werden Benutzer, Rollen, Gruppen und Autorisierungen für Datenbanken von Amazon RDS für Db2 verwaltet. Um diese Prozeduren auszuführen, muss der Masterbenutzer zuerst eine Verbindung mit der Datenbank rdsadmin herstellen.
Aufgaben, die diese gespeicherten Prozeduren verwenden, finden Sie unter Gewähren und Widerrufen von Berechtigungen und Einrichten der Kerberos-Authentifizierung.
In den folgenden integrierten gespeicherten Prozeduren erhalten Sie Informationen zu deren Syntax, Parametern, Nutzungshinweisen und Beispielen.
Gespeicherte Prozeduren
rdsadmin.create_role
Erstellt eine Rolle.
Syntax
db2 "call rdsadmin.create_role( 'database_name', 'role_name')"
Parameter
Die folgenden Parameter sind erforderlich:
database_name-
Der Name der Datenbank, auf der der Befehl ausgeführt wird. Der Datentyp ist
varchar. role_name-
Der Name der Rolle, die Sie erstellen möchten. Der Datentyp ist
varchar.
Nutzungshinweise
Informationen zum Überprüfen des Erstellungsstatus einer Rolle finden Sie unter rdsadmin.get_task_status.
Beispiele
Im folgenden Beispiel wird eine Rolle mit dem Namen MY_ROLE für die Datenbank DB2DB erstellt.
db2 "call rdsadmin.create_role( 'DB2DB', 'MY_ROLE')"
rdsadmin.grant_role
Weist einer Rolle, einem Benutzer oder einer Gruppe eine Rolle zu.
Syntax
db2 "call rdsadmin.grant_role( ?, 'database_name', 'role_name', 'grantee', 'admin_option')"
Parameter
Der folgende Ausgabeparameter ist erforderlich:
- ?
-
Eine Parametermarkierung, die die eindeutige Kennung für die Aufgabe ausgibt. Dieser Parameter akzeptiert nur
?.
Die folgenden Eingabeparameter sind erforderlich:
database_name-
Der Name der Datenbank, auf der der Befehl ausgeführt wird. Der Datentyp ist
varchar. role_name-
Der Name der Rolle, die Sie erstellen möchten. Der Datentyp ist
varchar. grantee-
Die Rolle, der Benutzer oder die Gruppe, die bzw. der die Autorisierung erhalten soll. Der Datentyp ist
varchar. Zulässige Werte:ROLE,USER,GROUP,PUBLIC.Das Format muss ein Wert gefolgt von einem Namen sein. Trennen Sie mehrere Werte und Namen durch Kommas. Beispiel: '
USER'. Ersetzen Sie die Namen durch Ihre Informationen.user1,user2, GROUPgroup1,group2
Der folgende Eingabeparameter ist optional:
admin_option-
Gibt an, ob der Berechtigungsempfänger
ROLEüber dieDBADM-Autorisierung verfügt, um Rollen zuzuweisen. Der Datentyp istchar. Der Standardwert istN.
Nutzungshinweise
Informationen zum Überprüfen des Zuweisungsstatus einer Rolle finden Sie unter rdsadmin.get_task_status.
Beispiele
Beispiel 1: Zuweisen einer Rolle zu einer Rolle, Gruppe oder einem Benutzer und Gewähren der Autorisierung
Im folgenden Beispiel wird eine Rolle mit dem Namen ROLE_TEST für die Datenbank TESTDB der Rolle mit dem Namen role1, dem Benutzer mit dem Namen user1 und der Gruppe mit dem Namen group1 zugewiesen. ROLE_TEST erhält die Administratorberechtigung zum Zuweisen von Rollen.
db2 "call rdsadmin.grant_role( ?, 'TESTDB', 'ROLE_TEST', 'ROLE role1, USER user1, GROUP group1', 'Y')"
Beispiel 2: Zuweisen einer Rolle zu PUBLIC ohne Gewähren einer Autorisierung
Im folgenden Beispiel wird eine Rolle mit dem Namen ROLE_TEST für die Datenbank TESTDB PUBLICzugewiesen. ROLE_TEST erhält keine Administratorberechtigung zum Zuweisen von Rollen.
db2 "call rdsadmin.grant_role( ?, 'TESTDB', 'ROLE_TEST', 'PUBLIC')"
rdsadmin.revoke_role
Widerruft eine Rolle von einer Rolle, einem Benutzer oder einer Gruppe.
Syntax
db2 "call rdsadmin.revoke_role( ?, 'database_name', 'role_name', 'grantee')"
Parameter
Der folgende Ausgabeparameter ist erforderlich:
- ?
-
Eine Parametermarkierung, die die eindeutige Kennung für die Aufgabe ausgibt. Dieser Parameter akzeptiert nur „?“.
Die folgenden Eingabeparameter sind erforderlich:
database_name-
Der Name der Datenbank, auf der der Befehl ausgeführt wird. Der Datentyp ist
varchar. role_name-
Der Name der Rolle, die Sie widerrufen möchten. Der Datentyp ist
varchar. grantee-
Die Rolle, der Benutzer oder die Gruppe, die bzw. der die Autorisierung verlieren soll. Der Datentyp ist
varchar. Zulässige Werte:ROLE,USER,GROUP,PUBLIC.Das Format muss ein Wert gefolgt von einem Namen sein. Trennen Sie mehrere Werte und Namen durch Kommas. Beispiel: '
USER'. Ersetzen Sie die Namen durch Ihre Informationen.user1,user2, GROUPgroup1,group2
Nutzungshinweise
Informationen zum Überprüfen des Widerrufungsstatus einer Rolle finden Sie unter rdsadmin.get_task_status.
Beispiele
Beispiel 1: Widerrufen einer Rolle von einer Rolle, Gruppe oder einem Benutzer
Im folgenden Beispiel wird eine Rolle mit dem Namen ROLE_TEST für die Datenbank TESTDB von der Rolle mit dem Namen role1, dem Benutzer mit dem Namen user1 und der Gruppe mit dem Namen group1 widerrufen.
db2 "call rdsadmin.revoke_role( ?, 'TESTDB', 'ROLE_TEST', 'ROLE role1, USER user1, GROUP group1')"
Beispiel 2: Widerrufen einer Rolle von PUBLIC
Im folgenden Beispiel wird eine Rolle mit dem Namen ROLE_TEST für die Datenbank TESTDB von PUBLIC widerrufen.
db2 "call rdsadmin.revoke_role( ?, 'TESTDB', 'ROLE_TEST', 'PUBLIC')"
rdsadmin.drop_role
Entfernt eine Rolle.
Syntax
db2 "call rdsadmin.drop_role( ?, 'database_name', 'role_name')"
Parameter
Der folgende Ausgabeparameter ist erforderlich:
- ?
-
Eine Parametermarkierung, die die eindeutige Kennung für die Aufgabe ausgibt. Dieser Parameter akzeptiert nur „?“.
Die folgenden Eingabeparameter sind erforderlich:
database_name-
Der Name der Datenbank, auf der der Befehl ausgeführt wird. Der Datentyp ist
varchar. role_name-
Der Name der Rolle, die Sie löschen möchten. Der Datentyp ist
varchar.
Nutzungshinweise
Informationen zum Überprüfen des Löschstatus einer Rolle finden Sie unter rdsadmin.get_task_status.
Beispiele
Im folgenden Beispiel wird eine Rolle mit dem Namen ROLE_TEST für die Datenbank TESTDB gelöscht.
db2 "call rdsadmin.drop_role( ?, 'TESTDB', 'ROLE_TEST')"
rdsadmin.add_user
Fügt einen Benutzer zu einer Autorisierungsliste hinzu.
Syntax
db2 "call rdsadmin.add_user( 'username', 'password', 'group_name,group_name')"
Parameter
Die folgenden Parameter sind erforderlich:
username-
Der Benutzername eines Benutzers. Der Datentyp ist
varchar. password-
Das Passwort eines Benutzers. Der Datentyp ist
varchar.
Der folgende Parameter ist optional:
group_name-
Der Name einer Gruppe, zu der Sie den Benutzer hinzufügen möchten. Der Datentyp ist
varchar. Der Standardwert ist eine leere Zeichenfolge oder Null.
Nutzungshinweise
Sie können einen Benutzer zu einer oder mehreren Gruppen hinzufügen, indem Sie die Gruppennamen durch Kommas trennen.
Sie können eine Gruppe erstellen, wenn Sie einen neuen Benutzer erstellen, oder wenn Sie einem vorhandenen Benutzer eine Gruppe hinzufügen. Sie können eine Gruppe nicht alleine erstellen.
Anmerkung
Die maximale Anzahl von Benutzern, die Sie mithilfe des Aufrufs rdsadmin.add_user hinzufügen können, beträgt 5 000.
Weitere Informationen zum Überprüfen des Hinzufügungsstatus für einen Benutzer finden Sie unter rdsadmin.get_task_status.
Beispiele
Im folgenden Beispiel wird ein Benutzer mit dem Namen jorge_souza erstellt und den Gruppen mit den Namen sales und inside_sales zugewiesen.
db2 "call rdsadmin.add_user( 'jorge_souza', '*******', 'sales,inside_sales')"
rdsadmin.change_password
Ändert das Passwort eines Benutzers.
Syntax
db2 "call rdsadmin.change_password( 'username', 'new_password')"
Parameter
Die folgenden Parameter sind erforderlich:
username-
Der Benutzername eines Benutzers. Der Datentyp ist
varchar. new_password-
Ein neues Passwort für den Benutzer. Der Datentyp ist
varchar.
Nutzungshinweise
Weitere Informationen zum Überprüfen des Status der Passwortänderung finden Sie unter rdsadmin.get_task_status.
Beispiele
Im folgenden Beispiel wird das Passwort für jorge_souza geändert.
db2 "call rdsadmin.change_password( 'jorge_souza', '*******')"
rdsadmin.list_users
Führt Benutzer in einer Autorisierungsliste auf.
Syntax
db2 "call rdsadmin.list_users()"
Nutzungshinweise
Weitere Informationen zum Überprüfen des Auflistungsstatus für Benutzer finden Sie unter rdsadmin.get_task_status.
rdsadmin.remove_user
Entfernt Benutzer aus der Autorisierungsliste.
Syntax
db2 "call rdsadmin.remove_user('username')"
Parameter
Der folgende Parameter ist erforderlich:
username-
Der Benutzername eines Benutzers. Der Datentyp ist
varchar.
Nutzungshinweise
Weitere Informationen zum Überprüfen des Entfernungsstatus für einen Benutzer finden Sie unter rdsadmin.get_task_status.
Beispiele
Im folgenden Beispiel wird jorge_souza der Zugriff auf Datenbanken auf DB-Instances von RDS für Db2 entzogen.
db2 "call rdsadmin.remove_user('jorge_souza')"
rdsadmin.add_groups
Fügt Gruppen zu einem Benutzer hinzu.
Syntax
db2 "call rdsadmin.add_groups( 'username', 'group_name,group_name')"
Parameter
Die folgenden Parameter sind erforderlich:
username-
Der Benutzername eines Benutzers. Der Datentyp ist
varchar. group_name-
Der Name einer Gruppe, zu der Sie den Benutzer hinzufügen möchten. Der Datentyp ist
varchar. Der Standardwert ist eine leere Zeichenfolge.
Nutzungshinweise
Sie können einem Benutzer eine oder mehrere Gruppen hinzufügen, indem Sie die Gruppennamen durch Kommas trennen. Weitere Informationen zum Überprüfen des Hinzufügungsstatus für Gruppen finden Sie unter rdsadmin.get_task_status.
Beispiele
Im folgenden Beispiel werden die Gruppen direct_sales und b2b_sales zum Benutzer jorge_souza hinzugefügt.
db2 "call rdsadmin.add_groups( 'jorge_souza', 'direct_sales,b2b_sales')"
rdsadmin.remove_groups
Entfernt Gruppen von einem Benutzer.
Syntax
db2 "call rdsadmin.remove_groups( 'username', 'group_name,group_name')"
Parameter
Die folgenden Parameter sind erforderlich:
username-
Der Benutzername eines Benutzers. Der Datentyp ist
varchar. group_name-
Der Name einer Gruppe, aus der Sie den Benutzer entfernen möchten. Der Datentyp ist
varchar.
Nutzungshinweise
Sie können eine oder mehrere Gruppen von einem Benutzer entfernen, indem Sie die Gruppennamen durch Kommas trennen.
Weitere Informationen zum Überprüfen des Entfernungsstatus für Gruppen finden Sie unter rdsadmin.get_task_status.
Beispiele
Im folgenden Beispiel werden die Gruppen direct_sales und b2b_sales vom Benutzer jorge_souza entfernt.
db2 "call rdsadmin.remove_groups( 'jorge_souza', 'direct_sales,b2b_sales')"
rdsadmin.dbadm_grant
Erteilt einer Rolle, einem Benutzer oder einer Gruppe die Autorisierung DBADM, ACCESSCTRL oder DATAACCESS.
Syntax
db2 "call rdsadmin.dbadm_grant( ?, 'database_name', 'authorization', 'grantee')"
Parameter
Der folgende Ausgabeparameter ist erforderlich:
- ?
-
Eine Parametermarkierung, die die eindeutige Kennung für die Aufgabe ausgibt. Dieser Parameter akzeptiert nur
?.
Die folgenden Eingabeparameter sind erforderlich:
database_name-
Der Name der Datenbank, auf der der Befehl ausgeführt wird. Der Datentyp ist
varchar. Autorisierung-
Der Typ der zu gewährenden Autorisierung. Der Datentyp ist
varchar. Zulässige Werte:DBADM,ACCESSCTRL,DATAACCESS.Trennen Sie mehrere Typen durch Kommas.
grantee-
Die Rolle, der Benutzer oder die Gruppe, die bzw. der die Autorisierung erhalten soll. Der Datentyp ist
varchar. Zulässige Werte:ROLE,USER,GROUP.Das Format muss ein Wert gefolgt von einem Namen sein. Trennen Sie mehrere Werte und Namen durch Kommas. Beispiel: '
USER'. Ersetzen Sie die Namen durch Ihre Informationen.user1,user2, GROUPgroup1,group2
Nutzungshinweise
Die Rolle, die Zugriff erhalten soll, muss vorhanden sein.
Informationen zum Überprüfen des Gewährungsstatus für den Datenbankadmin-Zugriff finden Sie unter rdsadmin.get_task_status.
Beispiele
Beispiel 1: Einer Rolle Datenbankadmin-Zugriff gewähren
Im folgenden Beispiel wird der Rolle ROLE_DBA Datenbankadmin-Zugriff auf die Datenbank mit dem Namen TESTDB gewährt.
db2 "call rdsadmin.dbadm_grant( ?, 'TESTDB', 'DBADM', 'ROLE ROLE_DBA')"
Beispiel 2: Benutzern und Gruppen Datenbankadmin-Zugriff gewähren
Im folgenden Beispiel wird user1 and group1 Datenbankadmin-Zugriff auf die Datenbank mit dem Namen TESTDB gewährt.
db2 "call rdsadmin.dbadm_grant( ?, 'TESTDB', 'DBADM', 'USER user1, GROUP group1')"
Beispiel 3: Mehreren Benutzern und Gruppen Datenbankadmin-Zugriff gewähren
Im folgenden Beispiel wird user1, user2, group1 und group2 Datenbankadmin-Zugriff auf die Datenbank mit dem Namen TESTDB gewährt.
db2 "call rdsadmin.dbadm_grant( ?, 'TESTDB', 'DBADM', 'USER user1, user2, GROUP group1, group2')"
rdsadmin.dbadm_revoke
Widerruft die Autorisierung DBADM, ACCESSCTRL oder DATAACCESS für eine Rolle, einen Benutzer oder eine Gruppe.
Syntax
db2 "call rdsadmin.dbadm_revoke( ?, 'database_name', 'authorization', 'grantee')"
Parameter
Der folgende Ausgabeparameter ist erforderlich:
- ?
-
Die eindeutige Kennung für die Aufgabe. Dieser Parameter akzeptiert nur
?.
Die folgenden Eingabeparameter sind erforderlich:
database_name-
Der Name der Datenbank, auf der der Befehl ausgeführt wird. Der Datentyp ist
varchar. authorization-
Der Typ der zu widerrufenden Autorisierung. Der Datentyp ist
varchar. Zulässige Werte:DBADM,ACCESSCTRL,DATAACCESS.Trennen Sie mehrere Typen durch Kommas.
grantee-
Die Rolle, der Benutzer oder die Gruppe, für die bzw. den die Autorisierung widerrufen werden soll. Der Datentyp ist
varchar. Zulässige Werte:ROLE,USER,GROUP.Das Format muss ein Wert gefolgt von einem Namen sein. Trennen Sie mehrere Werte und Namen durch Kommas. Beispiel: '
USER'. Ersetzen Sie die Namen durch Ihre Informationen.user1,user2, GROUPgroup1,group2
Nutzungshinweise
Informationen zum Überprüfen des Widerrufungsstatus für den Datenbankadmin-Zugriff finden Sie unter rdsadmin.get_task_status.
Beispiele
Beispiel 1: Widerrufen des Datenbankadmin-Zugriffs für eine Rolle
Im folgenden Beispiel wird für die Rolle ROLE_DBA der Datenbankadmin-Zugriff auf die Datenbank mit dem Namen TESTDB widerrufen.
db2 "call rdsadmin.dbadm_revoke( ?, 'TESTDB', 'DBADM', 'ROLE ROLE_DBA')"
Beispiel 2: Widerrufen des Datenbankadmin-Zugriffs für Benutzer und Gruppen
Im folgenden Beispiel wird für user1 und group1 der Datenbankadmin-Zugriff auf die Datenbank mit dem Namen TESTDB widerrufen.
db2 "call rdsadmin.dbadm_revoke( ?, 'TESTDB', 'DBADM', 'USER user1, GROUP group1')"
Beispiel 3: Widerrufen des Datenbankadmin-Zugriffs für mehrere Benutzer und Gruppen
Im folgenden Beispiel wird für user1, user2, group1 und group2 der Datenbankadmin-Zugriff auf die Datenbank mit dem Namen TESTDB widerrufen.
db2 "call rdsadmin.dbadm_revoke( ?, 'TESTDB', 'DBADM', 'USER user1, user2, GROUP group1, group2')"
rdsadmin.set_sid_group_mapping
Erstellt eine Zuordnung zwischen einer Sicherheits-ID (SID) und der entsprechenden Active Directory-Gruppe.
Syntax
db2 "call rdsadmin.set_sid_group_mapping( ?, 'SID', 'group_name')"
Parameter
Der folgende Ausgabeparameter ist erforderlich:
- ?
-
Eine Parametermarkierung, die eine Fehlermeldung ausgibt. Dieser Parameter akzeptiert nur
?.
Die folgenden Eingabeparameter sind erforderlich:
SID-
Die Sicherheits-ID (SID). Der Datentyp ist
varchar. group_name-
Der Name der Active Directory-Gruppe, die der SID zugeordnet werden soll. Der Datentyp ist
varchar.
Nutzungshinweise
Verwenden Sie diese gespeicherte Prozedur, um die Kerberos-Authentifizierung mit Active-Directory-Gruppen zu aktivieren. Wenn die SID oder der group_name bereits in der Zuordnung vorhanden ist, schlägt diese gespeicherte Prozedur fehl.
Weitere Informationen zur Ermittlung der SID für eine Gruppe finden Sie unter Schritt 8: Rufen Sie die Active Directory-Gruppen-SID ab in PowerShell.
Informationen zum Überprüfen des Erstellungsstatus einer Zuordnung finden Sie unter rdsadmin.get_task_status.
Beispiele
Im folgenden Beispiel wird einer Gruppe mit dem Namen my_group eine SID zugeordnet.
db2 "call rdsadmin.set_sid_group_mapping( ?, 'S-1-5-21-9146495592-531070549-834388463-513', 'my_group')"
rdsadmin.list_sid_group_mapping
Listet alle Zuordnungen von Sicherheits-IDs (SIDs) und Active-Directory-Gruppen auf, die auf der DB-Instance konfiguriert sind.
Syntax
db2 "call rdsadmin.list_sid_group_mapping()"
Nutzungshinweise
Weitere Informationen zum Überprüfen des Auflistungsstatus für Zuordnungen finden Sie unter rdsadmin.get_task_status.
rdsadmin.remove_sid_group_mapping
Entfernt eine Sicherheits-ID (SID) und die entsprechende Active-Directory-Gruppenzuordnung aus einer DB-Instance.
Syntax
db2 "call rdsadmin.remove_sid_group_mapping( ?, 'SID')"
Parameter
Der folgende Ausgabeparameter ist erforderlich:
- ?
-
Eine Parametermarkierung, die eine Fehlermeldung ausgibt. Dieser Parameter akzeptiert nur
?.
Der folgende Eingabeparameter ist erforderlich:
SID-
Die Sicherheits-ID (SID). Der Datentyp ist
varchar.
Nutzungshinweise
Weitere Informationen zur Ermittlung der SID für eine Gruppe finden Sie unter Schritt 8: Rufen Sie die Active Directory-Gruppen-SID ab in PowerShell.
Weitere Informationen zum Überprüfen des Entfernungsstatus von Zuordnungen finden Sie unter rdsadmin.get_task_status.
Beispiele
Im folgenden Beispiel wird eine SID-Zuordnung aus der Gruppe entfernt, der sie zugeordnet wurde.
db2 "call rdsadmin.remove_sid_group_mapping( ?, 'S-1-5-21-9146495592-531070549-834388463-513')"