Exécution de tâches système courantes pour Amazon RDS pour les instances de base de données DB2 - Amazon Relational Database Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Exécution de tâches système courantes pour Amazon RDS pour les instances de base de données DB2

Vous pouvez effectuer certaines tâches courantes d'administrateur de base de données liées au système sur vos instances de base de données Amazon RDS exécutant Db2. Pour offrir une expérience de service géré, Amazon RDS ne fournit pas l'accès shell aux instances de base de données et limite l'accès à certaines tables et procédures système qui requièrent des privilèges avancés.

Créer un point de terminaison de base de données personnalisé

Lorsque vous migrez vers Amazon RDS pour DB2, vous pouvez utiliser des URL de point de terminaison de base de données personnalisées afin de minimiser les modifications apportées à votre application. Par exemple, si vous l'utilisez db2.example.com comme enregistrement DNS actuel, vous pouvez l'ajouter à Amazon Route 53. Dans Route 53, vous pouvez utiliser des zones hébergées privées pour mapper le point de terminaison de votre base de données DNS actuel à un point de terminaison de base de données RDS pour DB2. Pour ajouter une personnalisation A ou un CNAME enregistrement pour un point de terminaison de base de données Amazon RDS, consultez la section Enregistrement et gestion de domaines à l'aide d'Amazon Route 53 dans le guide du développeur Amazon Route 53.

Note

Si vous ne parvenez pas à transférer votre domaine vers Route 53, vous pouvez utiliser votre fournisseur DNS pour créer un CNAME enregistrement pour l'URL du point de terminaison de base de données RDS pour DB2. Consultez la documentation de votre fournisseur DNS.

Octroi et révocation de privilèges

Les utilisateurs accèdent aux bases de données par le biais de l'appartenance à des groupes attachés aux bases de données.

Utilisez les procédures suivantes pour accorder et révoquer des privilèges afin de contrôler l'accès à votre base de données.

Ces procédures utilisent l'IBM Db2 CLPexécution sur une machine locale pour se connecter à une instance de base de données RDS pour DB2. Assurez-vous de cataloguer le nœud TCP/IP et la base de données pour vous connecter à votre instance de base de données RDS pour DB2 exécutée sur votre machine locale. Pour plus d’informations, consultez Connexion à votre instance de base de données Amazon RDS pour DB2 avec IBM Db2 CLP.

Accorder à un utilisateur l'accès à votre base de données

Pour autoriser un utilisateur à accéder à votre base de données
  1. Connectez-vous à la rdsadmin base de données à l'aide du nom d'utilisateur principal et du mot de passe principal de votre instance de base de données RDS pour DB2. Dans l'exemple suivant, remplacez master_username et master_password par vos propres informations.

    db2 connect to rdsadmin user master_username using master_password

    Cette commande produit une sortie similaire à l'exemple suivant :

    Database Connection Information Database server = DB2/LINUXX8664 11.5.8.0 SQL authorization ID = ADMIN Local database alias = RDSADMIN
  2. Ajoutez un utilisateur à votre liste d'autorisation en appelantrdsadmin.add_user. Pour plus d’informations, consultez rdsadmin.add_user.

    db2 "call rdsadmin.add_user( 'username', 'password', 'group_name,group_name')"
  3. (Facultatif) Ajoutez des groupes supplémentaires à l'utilisateur en appelantrdsadmin.add_groups. Pour plus d’informations, consultez rdsadmin.add_groups.

    db2 "call rdsadmin.add_groups( 'username', 'group_name,group_name')"
  4. Vérifiez les autorisations dont dispose l'utilisateur. Dans l'exemple suivant, remplacez rds_database_alias, master_user et master_password par vos propres informations. Remplacez également le nom d'utilisateur par le nom d'utilisateur de l'utilisateur.

    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"

    Cette commande produit une sortie similaire à l'exemple suivant :

    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. Accordez le RDS pour les rôles ROLE_NULLID_PACKAGES DB2 et ROLE_PROCEDURES au groupe auquel vous avez ajouté l'utilisateur. ROLE_TABLESPACES Pour plus d’informations, consultez Rôles par défaut RDS d'Amazon pour DB2.

    Note

    Nous créons des RDS pour les instances de base de données DB2 en RESTRICTIVE mode. Par conséquent, le RDS pour les rôles ROLE_NULLID_PACKAGES DB2 et ROLE_PROCEDURES accorde ROLE_TABLESPACES des privilèges d'exécution sur les NULLID packages pour IBM Db2 CLP et. Dynamic SQL Ces rôles accordent également des privilèges aux utilisateurs sur les tablespaces.

    1. Connectez-vous à votre base de données DB2. Dans l'exemple suivant, remplacez database_name, master_user et master_password par vos propres informations.

      db2 connect to database_name user master_user using master_password
    2. Accordez le rôle ROLE_NULLED_PACKAGES à un groupe. Dans l'exemple suivant, remplacez group_name par le nom du groupe auquel vous souhaitez ajouter le rôle.

      db2 "grant role ROLE_NULLID_PACKAGES to group group_name"
    3. Accordez le rôle ROLE_TABLESPACES au même groupe. Dans l'exemple suivant, remplacez group_name par le nom du groupe auquel vous souhaitez ajouter le rôle.

      db2 "grant role ROLE_TABLESPACES to group group_name"
    4. Accordez le rôle ROLE_PROCEDURES au même groupe. Dans l'exemple suivant, remplacez group_name par le nom du groupe auquel vous souhaitez ajouter le rôle.

      db2 "grant role ROLE_PROCEDURES to group group_name"
  6. Accordez connect bindaddcreatetab,, et des IMPLICIT_SCHEMA autorisations au groupe auquel vous avez ajouté l'utilisateur. Dans l'exemple suivant, remplacez group_name par le nom du deuxième groupe auquel vous avez ajouté l'utilisateur.

    db2 "grant usage on workload SYSDEFAULTUSERWORKLOAD to public" db2 "grant connect, bindadd, createtab, implicit_schema on database to group group_name"
  7. Répétez les étapes 4 à 6 pour chaque groupe supplémentaire auquel vous avez ajouté l'utilisateur.

  8. Testez l'accès de l'utilisateur en se connectant en tant qu'utilisateur, en créant une table, en insérant des valeurs dans la table et en renvoyant les données de la table. Dans l'exemple suivant, remplacez rds_database_alias, username et password par le nom de la base de données ainsi que le nom d'utilisateur et le mot de passe de l'utilisateur.

    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"

Modifier le mot de passe d'un utilisateur

Pour modifier le mot de passe d'un utilisateur
  1. Connectez-vous à la rdsadmin base de données à l'aide du nom d'utilisateur principal et du mot de passe principal de votre instance de base de données RDS pour DB2. Dans l'exemple suivant, remplacez master_username et master_password par vos propres informations.

    db2 connect to rdsadmin user master_username using master_password
  2. Changez le mot de passe en appelantrdsadmin.change_password. Pour plus d’informations, consultez rdsadmin.change_password.

    db2 "call rdsadmin.change_password( 'username', 'new_password')"

Ajouter des groupes à un utilisateur

Pour ajouter des groupes à un utilisateur
  1. Connectez-vous à la rdsadmin base de données à l'aide du nom d'utilisateur principal et du mot de passe principal de votre instance de base de données RDS pour DB2. Dans l'exemple suivant, remplacez master_username et master_password par vos propres informations.

    db2 connect to rdsadmin user master_username using master_password
  2. Ajoutez des groupes à un utilisateur en appelantrdsadmin.add_groups. Pour plus d’informations, consultez rdsadmin.add_groups.

    db2 "call rdsadmin.add_groups( 'username', 'group_name,group_name')"

Supprimer des groupes d'un utilisateur

Pour supprimer des groupes d'un utilisateur
  1. Connectez-vous à la rdsadmin base de données à l'aide du nom d'utilisateur principal et du mot de passe principal de votre instance de base de données RDS pour DB2. Dans l'exemple suivant, remplacez master_username et master_password par vos propres informations.

    db2 connect to rdsadmin user master_username using master_password
  2. Supprimez des groupes en appelantrdsadmin.remove_groups. Pour plus d’informations, consultez rdsadmin.remove_groups.

    db2 "call rdsadmin.remove_groups( 'username', 'group_name,group_name')"

Supprimer un utilisateur

Pour supprimer un utilisateur de la liste d'autorisations
  1. Connectez-vous à la rdsadmin base de données à l'aide du nom d'utilisateur principal et du mot de passe principal de votre instance de base de données RDS pour DB2. Dans l'exemple suivant, remplacez master_username et master_password par vos propres informations.

    db2 connect to rdsadmin user master_username using master_password
  2. Supprimez un utilisateur de votre liste d'autorisation en appelantrdsadmin.remove_user. Pour plus d’informations, consultez rdsadmin.remove_user.

    db2 "call rdsadmin.remove_user('username')"

Lister les utilisateurs

Pour répertorier les utilisateurs sur une liste d'autorisation, appelez la procédure rdsadmin.list_users stockée. Pour plus d’informations, consultez rdsadmin.list_users.

db2 "call rdsadmin.list_users()"

Création d'un rôle

Vous pouvez utiliser la procédure rdsadmin.create_role stockée pour créer un rôle.

Pour créer un rôle
  1. Connectez-vous à la rdsadmin base de données. Dans l'exemple suivant, remplacez master_username et master_password par vos informations.

    db2 connect to rdsadmin user master_username using master_password
  2. Réglez Db2 pour qu'il affiche le contenu.

    db2 set serveroutput on
  3. Créez un rôle Pour plus d’informations, consultez rdsadmin.create_role.

    db2 "call rdsadmin.create_role( 'database_name', 'role_name')"
  4. Configurez Db2 pour qu'il ne produise pas de contenu.

    db2 set serveroutput off

Octroi d'un rôle

Vous pouvez utiliser la procédure rdsadmin.grant_role stockée pour attribuer un rôle à un rôle, à un utilisateur ou à un groupe.

Pour attribuer un rôle
  1. Connectez-vous à la rdsadmin base de données. Dans l'exemple suivant, remplacez master_username et master_password par vos informations.

    db2 connect to rdsadmin user master_username using master_password
  2. Réglez Db2 pour qu'il affiche le contenu.

    db2 set serveroutput on
  3. Attribuez un rôle. Pour plus d’informations, consultez rdsadmin.grant_role.

    db2 "call rdsadmin.grant_role( 'database_name', 'role_name', 'grantee', 'admin_option')"
  4. Configurez Db2 pour qu'il ne produise pas de contenu.

    db2 set serveroutput off

Révocation d'un rôle

Vous pouvez utiliser la procédure rdsadmin.revoke_role stockée pour révoquer le rôle d'un rôle, d'un utilisateur ou d'un groupe.

Pour révoquer un rôle
  1. Connectez-vous à la rdsadmin base de données. Dans l'exemple suivant, remplacez master_username et master_password par vos informations.

    db2 connect to rdsadmin user master_username using master_password
  2. Révoquer un rôle. Pour plus d’informations, consultez rdsadmin.revoke_role.

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

Octroi des autorisations de base

L'utilisateur principal, qui dispose DBADM d'une autorisation DBADMACCESSCTRL, peut accorder ou DATAACCESS autoriser un rôle, un utilisateur ou un groupe.

Pour accorder l'autorisation de base de données
  1. Connectez-vous à la rdsadmin base de données à l'aide du nom d'utilisateur principal et du mot de passe principal de votre instance de base de données RDS pour DB2. Dans l'exemple suivant, remplacez master_username et master_password par vos propres informations.

    db2 connect to rdsadmin user master_username using master_password
  2. Accordez l'accès à un utilisateur en appelantrdsadmin.dbadm_grant. Pour plus d’informations, consultez rdsadmin.dbadm_grant.

    db2 "call rdsadmin.dbadm_grant( ?, 'database_name, 'authorization', 'grantee')"

Exemple de cas d'utilisation

La procédure suivante vous explique comment créer un rôle, accorder une DBADM autorisation au rôle, attribuer le rôle à un utilisateur et octroyer le rôle à un groupe.

  1. Connectez-vous à la rdsadmin base de données à l'aide du nom d'utilisateur principal et du mot de passe principal de votre instance de base de données RDS pour DB2. Dans l'exemple suivant, remplacez master_username et master_password par vos propres informations.

    db2 connect to rdsadmin user master_username using master_password
  2. Créez un rôle appelé PROD_ROLE pour une base de données appeléeTESTDB. Pour plus d’informations, consultez rdsadmin.create_role.

    db2 "call rdsadmin.create_role( 'TESTDB', 'PROD_ROLE')"
  3. Attribuez le rôle à un utilisateur appeléPROD_USER. L'administrateur PROD_USER est autorisé à attribuer des rôles. Pour plus d’informations, consultez rdsadmin.grant_role.

    db2 "call rdsadmin.grant_role( ?, 'TESTDB', 'PROD_ROLE', 'USER PROD_USER', 'Y')"
  4. (Facultatif) Fournissez des autorisations ou des privilèges supplémentaires. L'exemple suivant accorde DBADM l'autorisation à un rôle nommé PROD_ROLE d'après une base de données appeléeFUNDPROD. Pour plus d’informations, consultez rdsadmin.dbadm_grant.

    db2 "call rdsadmin.dbadm_grant( ?, 'FUNDPROD', 'DBADM', 'ROLE PROD_ROLE')"
  5. Mettez fin à votre session.

    db2 terminate
  6. Connectez-vous à la TESTDB base de données à l'aide du nom d'utilisateur principal et du mot de passe principal de votre instance de base de données RDS pour DB2. Dans l'exemple suivant, remplacez master_username et master_password par vos propres informations.

    db2 connect to TESTDB user master_username using master_password
  7. Ajoutez d'autres autorisations au rôle.

    db2 "grant connect, implicit_schema on database to role PROD_ROLE"
  8. Accordez le rôle PROD_ROLE à un groupe.

    db2 "grant role PROD_ROLE to group PRODGRP"

Les utilisateurs appartenant au groupe PRODGRP peuvent désormais effectuer des actions telles que la connexion à la TESTDB base de données, la création de tables ou la création de schémas.

Révocation de l'autorisation de base de données

L'utilisateur principal, qui dispose DBADM d'une autorisation, peut révoquer DBADM l'DATAACCESSautorisation d'un rôle, d'un utilisateur ou d'un groupe. ACCESSCTRL

Pour révoquer l'autorisation de base de données
  1. Connectez-vous à la rdsadmin base de données à l'aide du nom d'utilisateur principal et du mot de passe principal de votre instance de base de données RDS pour DB2. Dans l'exemple suivant, remplacez master_username et master_password par vos propres informations.

    db2 connect to rdsadmin user master_username using master_password
  2. Révoquez l'accès utilisateur en appelantrdsadmin.dbadm_revoke. Pour plus d’informations, consultez rdsadmin.dbadm_revoke.

    db2 "call rdsadmin.dbadm_revoke( ?, 'database_name, 'authorization', 'grantee')"

Connexion à l'instance de base de données RDS pour Db2 distante

Pour se connecter à l'instance de base de données RDS pour Db2 distante
  1. Exécutez une session côté client. IBM Db2 CLP Pour plus d'informations sur le catalogage de votre instance de base de données et de base de données RDS pour DB2, consultez. Connexion à votre instance de base de données Amazon RDS pour DB2 avec IBM Db2 CLP Notez le nom d'utilisateur principal et le mot de passe principal de votre instance de base de données RDS pour DB2.

  2. Connectez-vous à l'instance de base de données RDS pour DB2. Dans l'exemple suivant, remplacez node_name, master_username et master_password par le nom du nœud TCP/IP que vous avez catalogué, ainsi que par le nom d'utilisateur principal et le mot de passe principal de votre instance de base de données RDS pour DB2.

    db2 attach to node_name user master_username using master_password

Après vous être connecté à l'instance de base de données RDS pour Db2 distante, vous pouvez exécuter les commandes suivantes et d'autres get snapshot commandes. Pour plus d'informations, consultez GET SNAPSHOTla section commande dans la IBM Db2 documentation.

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