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 Erteilen und Widerrufen von Rechten für RDS for Db2
Die in diesem Thema beschriebenen integrierten gespeicherten Prozeduren verwalten Benutzer, Rollen, Gruppen und Autorisierungen für Amazon RDS for Db2-Datenbanken. Um diese Prozeduren auszuführen, muss der Masterbenutzer zuerst eine Verbindung zur rdsadmin
Datenbank herstellen.
Aufgaben, die diese gespeicherten Prozeduren verwenden, finden Sie unter Erteilen und Widerrufen von Rechten undAuthentifizierung einrichten Kerberos.
Informationen zu deren Syntax, Parametern, Verwendungshinweisen und Beispielen finden Sie in den folgenden integrierten gespeicherten Prozeduren.
Gespeicherte Prozeduren
rdsadmin.create_role
Erzeugt eine Rolle.
Syntax
db2 "call rdsadmin.create_role( '
database_name
', 'role_name
')"
Parameter
Die folgenden Parameter sind erforderlich:
database_name
-
Der Name der Datenbank, in 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
Hinweise zur Überprüfung des Status beim Erstellen einer Rolle finden Sie unterrdsadmin.get_task_status.
Beispiele
Im folgenden Beispiel wird eine Rolle namens MY_ROLE
Datenbank erstelltDB2DB
.
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 den eindeutigen Bezeichner 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 werden soll. 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 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 eigenen Informationen.user1
,user2
, GROUPgroup1
,group2
Der folgende Eingabeparameter ist optional:
admin_option
-
Gibt an, ob der Empfänger
DBADM
berechtigtROLE
ist, Rollen zuzuweisen. Der Datentyp istchar
. Der Standardwert istN
.
Nutzungshinweise
Hinweise zur Überprüfung des Status der Rollenzuweisung finden Sie unterrdsadmin.get_task_status.
Beispiele
Beispiel 1: Rolle, Benutzer und Gruppe zuweisen und Autorisierung erteilen
Im folgenden Beispiel wird der ROLE_TEST
aufgerufenen Rolle, dem TESTDB
aufgerufenen Benutzer und der role1
aufgerufenen Gruppe eine Rolle namens user1
Datenbank zugewiesen. group1
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: Eine Rolle zuweisen PUBLIC
und keine Autorisierung gewähren
Im folgenden Beispiel wird eine Rolle zugewiesen, die als Datenbank TESTDB
bezeichnet wirdROLE_TEST
. PUBLIC
ROLE_TEST
hat keine Administratorberechtigung zum Zuweisen von Rollen.
db2 "call rdsadmin.grant_role( ?, 'TESTDB', 'ROLE_TEST', 'PUBLIC')"
rdsadmin.revoke_role
Widerruft einer Rolle, einem Benutzer oder einer Gruppe eine Rolle.
Syntax
db2 "call rdsadmin.revoke_role( ?, '
database_name
', 'role_name
', 'grantee
')"
Parameter
Der folgende Ausgabeparameter ist erforderlich:
- ?
-
Eine Parametermarkierung, die den eindeutigen Bezeichner 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 werden soll. 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, für die die Autorisierung verloren gehen 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 eigenen Informationen.user1
,user2
, GROUPgroup1
,group2
Nutzungshinweise
Informationen zur Überprüfung des Status beim Widerrufen einer Rolle finden Sie unterrdsadmin.get_task_status.
Beispiele
Beispiel 1: Rolle, Benutzer und Gruppe entziehen
Im folgenden Beispiel wird der aufgerufenen Rolle, dem ROLE_TEST
TESTDB
aufgerufenen Benutzer und der role1
aufgerufenen Gruppe eine Rolle für die Datenbank entzogen. user1
group1
db2 "call rdsadmin.revoke_role( ?, 'TESTDB', 'ROLE_TEST', 'ROLE role1, USER user1, GROUP group1')"
Beispiel 2: Sperren der Rolle von PUBLIC
Das folgende Beispiel widerruft eine Rolle, die ROLE_TEST
für die Datenbank TESTDB
von aufgerufen wurde. PUBLIC
db2 "call rdsadmin.revoke_role( ?, 'TESTDB', 'ROLE_TEST', 'PUBLIC')"
rdsadmin.drop_role
Löscht eine Rolle.
Syntax
db2 "call rdsadmin.drop_role( ?, '
database_name
', 'role_name
')"
Parameter
Der folgende Ausgabeparameter ist erforderlich:
- ?
-
Eine Parametermarkierung, die den eindeutigen Bezeichner 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 werden soll. Der Datentyp ist
varchar
. role_name
-
Der Name der Rolle, die Sie löschen möchten. Der Datentyp ist
varchar
.
Nutzungshinweise
Hinweise zur Überprüfung des Status beim Löschen einer Rolle finden Sie unterrdsadmin.get_task_status.
Beispiele
Im folgenden Beispiel wird eine Rolle gelöscht, ROLE_TEST
die als Datenbank bezeichnet wirdTESTDB
.
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 Nutzername 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
. Die Standardeinstellung 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 per Anruf hinzufügen können, rdsadmin.add_user
beträgt 5.000.
Informationen zum Überprüfen des Status beim Hinzufügen eines Benutzers finden Sie unterrdsadmin.get_task_status.
Beispiele
Im folgenden Beispiel wird ein Benutzer mit dem Namen jorge_souza
und erstellt und der Benutzer wird den Gruppen mit dem 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 Nutzername eines Benutzers. Der Datentyp ist
varchar
. new_password
-
Ein neues Passwort für den Benutzer. Der Datentyp ist
varchar
.
Nutzungshinweise
Hinweise zur Überprüfung des Status einer Kennwortänderung finden Sie unterrdsadmin.get_task_status.
Beispiele
Im folgenden Beispiel wird das Passwort für geändertjorge_souza
.
db2 "call rdsadmin.change_password( 'jorge_souza', '*******')"
rdsadmin.list_users
Führt Benutzer in einer Autorisierungsliste auf.
Syntax
db2 "call rdsadmin.list_users()"
Nutzungshinweise
Hinweise zur Überprüfung des Status von Benutzerlisten finden Sie unterrdsadmin.get_task_status.
rdsadmin.remove_user
Entfernt den Benutzer aus der Autorisierungsliste.
Syntax
db2 "call rdsadmin.remove_user('
username
')"
Parameter
Der folgende Parameter ist erforderlich:
username
-
Der Nutzername eines Benutzers. Der Datentyp ist
varchar
.
Nutzungshinweise
Hinweise zur Überprüfung des Status beim Entfernen eines Benutzers finden Sie unterrdsadmin.get_task_status.
Beispiele
Im folgenden Beispiel wird jorge_souza
der Zugriff auf Datenbanken in RDS für Db2-DB-Instances verhindert.
db2 "call rdsadmin.remove_user('jorge_souza')"
rdsadmin.add_groups
Fügt einem Benutzer Gruppen hinzu.
Syntax
db2 "call rdsadmin.add_groups( '
username
', 'group_name
,group_name
')"
Parameter
Die folgenden Parameter sind erforderlich:
username
-
Der Nutzername 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. Informationen zur Überprüfung des Status beim Hinzufügen von Gruppen finden Sie unterrdsadmin.get_task_status.
Beispiele
Im folgenden Beispiel werden die b2b_sales
Gruppen direct_sales
und zum Benutzer hinzugefügtjorge_souza
.
db2 "call rdsadmin.add_groups( 'jorge_souza', 'direct_sales,b2b_sales')"
rdsadmin.remove_groups
Entfernt Gruppen aus einem Benutzer.
Syntax
db2 "call rdsadmin.remove_groups( '
username
', 'group_name
,group_name
')"
Parameter
Die folgenden Parameter sind erforderlich:
username
-
Der Nutzername 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 aus einem Benutzer entfernen, indem Sie die Gruppennamen durch Kommas trennen.
Informationen zur Überprüfung des Status beim Entfernen von Gruppen finden Sie unterrdsadmin.get_task_status.
Beispiele
Im folgenden Beispiel werden die b2b_sales
Gruppen direct_sales
und aus dem Benutzer entferntjorge_souza
.
db2 "call rdsadmin.remove_groups( 'jorge_souza', 'direct_sales,b2b_sales')"
rdsadmin.dbadm_grant
Erteilt einer Rolle DBADM
ACCESSCTRL
, einem Benutzer oder einer Gruppe eine DATAACCESS
Autorisierung oder Autorisierung.
Syntax
db2 "call rdsadmin.dbadm_grant( ?, '
database_name
', 'authorization
', 'grantee
')"
Parameter
Der folgende Ausgabeparameter ist erforderlich:
- ?
-
Eine Parametermarkierung, die den eindeutigen Bezeichner 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 werden soll. Der Datentyp ist
varchar
. authorization
-
Die Art der zu erteilenden 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 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 eigenen Informationen.user1
,user2
, GROUPgroup1
,group2
Nutzungshinweise
Die Rolle, um Zugriff zu erhalten, muss vorhanden sein.
Hinweise zur Überprüfung des Status der Gewährung von Datenbankadministratoren finden Sie unterrdsadmin.get_task_status.
Beispiele
Beispiel 1: Datenbankadministratorzugriff auf eine Rolle gewähren
Im folgenden Beispiel wird dem Datenbankadministrator Zugriff auf die TESTDB
nach der Rolle benannte Datenbank gewährtROLE_DBA
.
db2 "call rdsadmin.dbadm_grant( ?, 'TESTDB', 'DBADM', 'ROLE ROLE_DBA')"
Beispiel 2: Benutzern und Gruppen Datenbankadministratorzugriff gewähren
Im folgenden Beispiel wird dem Datenbankadministrator Zugriff auf die Datenbank mit dem Namen TESTDB
user1
und gewährtgroup1
.
db2 "call rdsadmin.dbadm_grant( ?, 'TESTDB', 'DBADM', 'USER user1, GROUP group1')"
Beispiel 3: Gewährung von Datenbankadministratorzugriff für mehrere Benutzer und Gruppen
Im folgenden Beispiel wird Datenbankadministratoren Zugriff auf die Datenbank mit dem Namen TESTDB
user1
, user2
group1
, und gewährtgroup2
.
db2 "call rdsadmin.dbadm_grant( ?, 'TESTDB', 'DBADM', 'USER user1, user2, GROUP group1, group2')"
rdsadmin.dbadm_revoke
Widerruft DBADM
ACCESSCTRL
, oder die DATAACCESS
Autorisierung 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 werden soll. Der Datentyp ist
varchar
. authorization
-
Die Art 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 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 eigenen Informationen.user1
,user2
, GROUPgroup1
,group2
Nutzungshinweise
Hinweise zur Überprüfung des Status des Widerrufs des Datenbankadministratorzugriffs finden Sie unterrdsadmin.get_task_status.
Beispiele
Beispiel 1: Widerrufen des Datenbankadministratorzugriffs für die Rolle
Im folgenden Beispiel wird der Datenbankadministratorzugriff auf die nach der Rolle benannte TESTDB
Datenbank widerrufen. ROLE_DBA
db2 "call rdsadmin.dbadm_revoke( ?, 'TESTDB', 'DBADM', 'ROLE ROLE_DBA')"
Beispiel 2: Widerrufen des Datenbankadministratorzugriffs für Benutzer und Gruppen
Im folgenden Beispiel wird dem Datenbankadministrator der Zugriff auf die Datenbank mit dem Namen TESTDB
und entzogen. user1
group1
db2 "call rdsadmin.dbadm_revoke( ?, 'TESTDB', 'DBADM', 'USER user1, GROUP group1')"
Beispiel 3: Widerrufen des Datenbankadministratorzugriffs für mehrere Benutzer und Gruppen
Im folgenden Beispiel wird der Datenbankadministratorzugriff auf die Datenbank mit dem Namen TESTDB
user1
, user2
group1
, und entzogen. group2
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 das SID
oder group_name
bereits in der Zuordnung vorhanden ist, schlägt diese gespeicherte Prozedur fehl.
Hinweise zum Ermitteln der SID für eine Gruppe finden Sie unterSchritt 8: Rufen Sie die Active Directory-Gruppen-SID ab in PowerShell.
Informationen zum Überprüfen des Status beim Erstellen einer Zuordnung finden Sie unterrdsadmin.get_task_status.
Beispiele
Im folgenden Beispiel wird eine SID einer Gruppe mit dem Namen zugeordnetmy_group
.
db2 "call rdsadmin.set_sid_group_mapping( ?, 'S-1-5-21-9146495592-531070549-834388463-513', 'my_group')"
rdsadmin.list_sid_group_mapping
Listet alle Sicherheits-ID (SID) und Active Directory-Gruppenzuordnungen auf, die auf der DB-Instance konfiguriert sind.
Syntax
db2 "call rdsadmin.list_sid_group_mapping()"
Nutzungshinweise
Hinweise zur Überprüfung des Status von Listenzuordnungen 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
Informationen zum Ermitteln der SID für eine Gruppe finden Sie unterSchritt 8: Rufen Sie die Active Directory-Gruppen-SID ab in PowerShell.
Informationen zur Überprüfung des Status beim Entfernen 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')"