Gespeicherte Prozeduren zum Gewähren und Widerrufen von Berechtigungen für RDS für Db2 - Amazon Relational Database Service

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.

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 user1, user2, GROUP group1, group2'. Ersetzen Sie die Namen durch Ihre Informationen.

Der folgende Eingabeparameter ist optional:

admin_option

Gibt an, ob der Berechtigungsempfänger ROLE über die DBADM-Autorisierung verfügt, um Rollen zuzuweisen. Der Datentyp ist char. Der Standardwert ist N.

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 user1, user2, GROUP group1, group2'. Ersetzen Sie die Namen durch Ihre Informationen.

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 user1, user2, GROUP group1, group2'. Ersetzen Sie die Namen durch Ihre Informationen.

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 user1, user2, GROUP group1, group2'. Ersetzen Sie die Namen durch Ihre Informationen.

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')"