Durchführung allgemeiner Systemaufgaben für Amazon RDS for Db2-DB-Instances - 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.

Durchführung allgemeiner Systemaufgaben für Amazon RDS for Db2-DB-Instances

Sie können bestimmte allgemeine Datenbankadministratoraufgaben im Zusammenhang mit dem System auf Ihren Amazon RDS-DB-Instances ausführen, auf denen Db2 ausgeführt wird. Um eine verwaltete Service-Erfahrung zu bieten, stellt Amazon RDS keinen Shell-Zugriff zu DB-Instances bereit und beschränkt den Zugriff auf bestimmte Systemprozeduren und -tabellen, die erweiterte Sonderrechte erfordern.

Einen benutzerdefinierten Datenbank-Endpunkt erstellen

Wenn Sie zu Amazon RDS for Db2 migrieren, können Sie benutzerdefinierte Datenbank-Endpunkt-URLs verwenden, um Änderungen an Ihrer Anwendung zu minimieren. Wenn Sie db2.example.com beispielsweise Ihren aktuellen DNS-Eintrag verwenden, können Sie ihn zu Amazon Route 53 hinzufügen. In Route 53 können Sie private gehostete Zonen verwenden, um Ihren aktuellen DNS-Datenbankendpunkt einem RDS for Db2-Datenbankendpunkt zuzuordnen. Informationen zum Hinzufügen eines benutzerdefinierten CNAME Datensatzes A oder Datensatzes für einen Amazon RDS-Datenbank-Endpunkt finden Sie unter Registrierung und Verwaltung von Domains mithilfe von Amazon Route 53 im Amazon Route 53-Entwicklerhandbuch.

Anmerkung

Wenn Sie Ihre Domain nicht auf Route 53 übertragen können, können Sie Ihren DNS-Anbieter verwenden, um einen CNAME Eintrag für die RDS for Db2-Datenbank-Endpunkt-URL zu erstellen. Schlagen Sie in der Dokumentation Ihres DNS-Anbieters nach.

Erteilen und Widerrufen von Rechten

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.

Bei diesen Verfahren wird die IBM Db2 CLP Ausführung auf einem lokalen Computer verwendet, um eine Verbindung zu einer RDS for Db2-DB-Instance herzustellen. Achten Sie darauf, den TCPIP-Knoten und die Datenbank zu 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.

Gewähren Sie einem Benutzer Zugriff auf Ihre Datenbank

Um einem Benutzer Zugriff auf Ihre Datenbank zu gewähren
  1. Stellen Sie mithilfe des Master-Benutzernamens und des Master-Passworts für Ihre RDS for Db2-DB-Instance eine Connect zur rdsadmin Datenbank her. Ersetzen Sie im folgenden Beispiel master_username und master_password durch Ihre eigenen Informationen.

    db2 connect to rdsadmin user master_username using master_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
  2. Fügen Sie Ihrer Autorisierungsliste einen Benutzer hinzu, indem Sie anrufenrdsadmin.add_user. Weitere Informationen finden Sie unter rdsadmin.add_user.

    db2 "call rdsadmin.add_user( 'username', 'password', 'group_name,group_name')"
  3. (Optional) Fügen Sie dem Benutzer weitere Gruppen hinzu, indem Sie anrufenrdsadmin.add_groups. Weitere Informationen finden Sie unter rdsadmin.add_groups.

    db2 "call rdsadmin.add_groups( 'username', 'group_name,group_name')"
  4. Bestätigen Sie die Berechtigungen, die dem Benutzer zur Verfügung stehen. Ersetzen Sie im folgenden Beispiel rds_database_alias, master_user und master_password durch Ihre eigenen Informationen. Ersetzen Sie außerdem den Benutzernamen durch den Benutzernamen des Benutzers.

    db2 terminate db2 connect to rds_database_alias user master_user using master_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
  5. Erteilen Sie der GruppeROLE_NULLID_PACKAGES, ROLE_PROCEDURES zu der Sie den Benutzer hinzugefügt habenROLE_TABLESPACES, die Rollen RDS für Db2 und. 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 übernimmt der RDS für Db2 die Rollen ROLE_NULLID_PACKAGESROLE_TABLESPACES, und ROLE_PROCEDURES gewährt Ausführungsberechtigungen für NULLID Pakete für IBM Db2 CLP und. Dynamic SQL Diese Rollen gewähren auch Benutzerrechte für Tablespaces.

    1. Connect zu Ihrer Db2-Datenbank her. Ersetzen Sie im folgenden Beispiel database_name, master_user und master_password durch Ihre eigenen Informationen.

      db2 connect to database_name user master_user using master_password
    2. Erteilen Sie die Rolle einer Gruppe. ROLE_NULLED_PACKAGES Ersetzen Sie im folgenden Beispiel group_name durch den Namen der Gruppe, zu der Sie die Rolle hinzufügen möchten.

      db2 "grant role ROLE_NULLID_PACKAGES to group group_name"
    3. Weisen Sie derselben Gruppe die Rolle ROLE_TABLESPACES zu. Ersetzen Sie im folgenden Beispiel group_name durch den Namen der Gruppe, zu der Sie die Rolle hinzufügen möchten.

      db2 "grant role ROLE_TABLESPACES to group group_name"
    4. Weisen Sie derselben Gruppe die Rolle ROLE_PROCEDURES zu. Ersetzen Sie im folgenden Beispiel group_name durch den Namen der Gruppe, zu der Sie die Rolle hinzufügen möchten.

      db2 "grant role ROLE_PROCEDURES to group group_name"
  6. Gewähren Sie der Gruppe connect bindaddcreatetab, zu IMPLICIT_SCHEMA der Sie den Benutzer hinzugefügt haben, Berechtigungen, und Berechtigungen. Ersetzen Sie im folgenden Beispiel group_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"
  7. Wiederholen Sie die Schritte 4 bis 6 für jede weitere Gruppe, zu der Sie den Benutzer hinzugefügt haben.

  8. 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. Ersetzen Sie im folgenden Beispiel rds_database_alias, username und password durch den Namen der Datenbank und den Benutzernamen und das Passwort des Benutzers.

    db2 connect to rds_database_alias user username using password 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
  1. Stellen Sie mithilfe des Master-Benutzernamens und des Master-Passworts für Ihre RDS for Db2-DB-Instance eine Connect zur rdsadmin Datenbank her. Ersetzen Sie im folgenden Beispiel master_username und master_password durch Ihre eigenen Informationen.

    db2 connect to rdsadmin user master_username using master_password
  2. Ä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
  1. Stellen Sie mithilfe des Master-Benutzernamens und des Master-Passworts für Ihre RDS for Db2-DB-Instance eine Connect zur rdsadmin Datenbank her. Ersetzen Sie im folgenden Beispiel master_username und master_password durch Ihre eigenen Informationen.

    db2 connect to rdsadmin user master_username using master_password
  2. 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
  1. Stellen Sie mithilfe des Master-Benutzernamens und des Master-Passworts für Ihre RDS for Db2-DB-Instance eine Connect zur rdsadmin Datenbank her. Ersetzen Sie im folgenden Beispiel master_username und master_password durch Ihre eigenen Informationen.

    db2 connect to rdsadmin user master_username using master_password
  2. 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
  1. Stellen Sie mithilfe des Master-Benutzernamens und des Master-Passworts für Ihre RDS for Db2-DB-Instance eine Connect zur rdsadmin Datenbank her. Ersetzen Sie im folgenden Beispiel master_username und master_password durch Ihre eigenen Informationen.

    db2 connect to rdsadmin user master_username using master_password
  2. 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
  1. Connect zur rdsadmin Datenbank her. Ersetzen Sie im folgenden Beispiel master_username und master_password durch Ihre Informationen.

    db2 connect to rdsadmin user master_username using master_password
  2. Stellen Sie Db2 für die Ausgabe von Inhalten ein.

    db2 set serveroutput on
  3. Erstellen Sie eine Rolle. Weitere Informationen finden Sie unter rdsadmin.create_role.

    db2 "call rdsadmin.create_role( 'database_name', 'role_name')"
  4. 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
  1. Connect zur rdsadmin Datenbank her. Ersetzen Sie im folgenden Beispiel master_username und master_password durch Ihre Informationen.

    db2 connect to rdsadmin user master_username using master_password
  2. Stellen Sie Db2 für die Ausgabe von Inhalten ein.

    db2 set serveroutput on
  3. 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')"
  4. 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
  1. Connect zur rdsadmin Datenbank her. Ersetzen Sie im folgenden Beispiel master_username und master_password durch Ihre Informationen.

    db2 connect to rdsadmin user master_username using master_password
  2. Widerrufen Sie eine Rolle. Weitere Informationen finden Sie unter rdsadmin.revoke_role.

    db2 "call rdsadmin.revoke_role( ?, 'database_name', 'role_name', 'grantee')"

Datenbankautorisierung gewähren

Der Masterbenutzer, der über eine DBADM Autorisierung verfügt, kann einer Rolle DBADMACCESSCTRL, einem Benutzer oder einer Gruppe eine DATAACCESS Autorisierung erteilen oder eine Autorisierung erteilen.

Um eine Datenbankautorisierung zu erteilen
  1. Stellen Sie mithilfe des Master-Benutzernamens und des Master-Passworts für Ihre RDS for Db2-DB-Instance eine Connect zur rdsadmin Datenbank her. Ersetzen Sie im folgenden Beispiel master_username und master_password durch Ihre eigenen Informationen.

    db2 connect to rdsadmin user master_username using master_password
  2. 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.

  1. Stellen Sie mithilfe des Master-Benutzernamens und des Master-Passworts für Ihre RDS for Db2-DB-Instance eine Connect zur rdsadmin Datenbank her. Ersetzen Sie im folgenden Beispiel master_username und master_password durch Ihre eigenen Informationen.

    db2 connect to rdsadmin user master_username using master_password
  2. Erstellen Sie eine Rolle namens PROD_ROLE für eine Datenbank namens. TESTDB Weitere Informationen finden Sie unter rdsadmin.create_role.

    db2 "call rdsadmin.create_role( 'TESTDB', 'PROD_ROLE')"
  3. Weisen Sie die Rolle einem Benutzer mit dem Namen zuPROD_USER. Er PROD_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')"
  4. (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')"
  5. Beenden Sie Ihre Sitzung.

    db2 terminate
  6. Stellen Sie mithilfe des Master-Benutzernamens und des Master-Passworts für Ihre RDS for Db2-DB-Instance eine Connect zur TESTDB Datenbank her. Ersetzen Sie im folgenden Beispiel master_username und master_password durch Ihre eigenen Informationen.

    db2 connect to TESTDB user master_username using master_password
  7. Fügen Sie der Rolle weitere Autorisierungen hinzu.

    db2 "grant connect, implicit_schema on database to role PROD_ROLE"
  8. 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 DBADMACCESSCTRL, kann die DATAACCESS Autorisierung einer Rolle, einem Benutzer oder einer Gruppe entziehen.

Um die Datenbankautorisierung zu widerrufen
  1. Stellen Sie mithilfe des Master-Benutzernamens und des Master-Passworts für Ihre RDS for Db2-DB-Instance eine Connect zur rdsadmin Datenbank her. Ersetzen Sie im folgenden Beispiel master_username und master_password durch Ihre eigenen Informationen.

    db2 connect to rdsadmin user master_username using master_password
  2. 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')"

Verbindung zur Remote-DB-Instance RDS für DB2 herstellen

Um eine Verbindung zur Remote-RDS-Datenbankinstanz für DB2 herzustellen
  1. Führen Sie eine clientseitige Sitzung IBM Db2 CLP aus. Informationen zur Katalogisierung Ihrer RDS for Db2-DB-Instance und -Datenbank finden Sie unter. Herstellen einer Verbindung zu Ihrer Amazon RDS for Db2-DB-Instance mit IBM Db2 CLP Notieren Sie sich den Master-Benutzernamen und das Master-Passwort für Ihre RDS for Db2-DB-Instance.

  2. Stellen Sie eine Verbindung zur RDS for Db2-DB-Instance her. Ersetzen Sie im folgenden Beispiel node_name, master_username und master_password durch den TCPIP-Knotennamen, den Sie katalogisiert haben, sowie durch den Master-Benutzernamen und das Master-Passwort für Ihre RDS for Db2-DB-Instance.

    db2 attach to node_name user master_username using master_password

Nachdem Sie eine Verbindung zur Remote-DB-Instance RDS for Db2 hergestellt haben, können Sie die folgenden Befehle und andere Befehle ausführen. get snapshot Weitere Informationen finden Sie unter GET SNAPSHOTBefehl in der IBM Db2 Dokumentation.

db2 list applications db2 get snapshot for all databases db2 get snapshot for database manager db2 get snapshot for all applications