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.
Rubriques
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.
Rubriques
- Accorder à un utilisateur l'accès à votre base de données
- Modifier le mot de passe d'un utilisateur
- Ajouter des groupes à un utilisateur
- Supprimer des groupes d'un utilisateur
- Supprimer un utilisateur
- Lister les utilisateurs
- Création d'un rôle
- Octroi d'un rôle
- Révocation d'un rôle
- Octroi des autorisations de base
- Révocation de l'autorisation de base de données
Accorder à un utilisateur l'accès à votre base de données
Pour autoriser un utilisateur à accéder à votre base de données
-
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, remplacezmaster_username et
par vos propres informations.master_password
db2 connect to rdsadmin user
master_username
usingmaster_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
-
Ajoutez un utilisateur à votre liste d'autorisation en appelant
rdsadmin.add_user
. Pour plus d’informations, consultez rdsadmin.add_user.db2 "call rdsadmin.add_user( '
username
', 'password
', 'group_name
,group_name
')" -
(Facultatif) Ajoutez des groupes supplémentaires à l'utilisateur en appelant
rdsadmin.add_groups
. Pour plus d’informations, consultez rdsadmin.add_groups.db2 "call rdsadmin.add_groups( '
username
', 'group_name
,group_name
')" -
Vérifiez les autorisations dont dispose l'utilisateur.
Dans l'exemple suivant, remplacez
Remplacez également lerds_database_alias,
par vos propres informations.master_user et master_password
nom d'utilisateur
par le nom d'utilisateur de l'utilisateur.db2 terminate db2 connect to
rds_database_alias
usermaster_user
usingmaster_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
-
Accordez le RDS pour les rôles
ROLE_NULLID_PACKAGES
DB2 etROLE_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ôlesROLE_NULLID_PACKAGES
DB2 etROLE_PROCEDURES
accordeROLE_TABLESPACES
des privilèges d'exécution sur lesNULLID
packages pour IBM Db2 CLP et. Dynamic SQL Ces rôles accordent également des privilèges aux utilisateurs sur les tablespaces.-
Connectez-vous à votre base de données DB2. Dans l'exemple suivant, remplacez
database_name, master_user
et
par vos propres informations.master_password
db2 connect to
database_name
usermaster_user
usingmaster_password
-
Accordez le rôle
ROLE_NULLED_PACKAGES
à un groupe. Dans l'exemple suivant, remplacezgroup_name
par le nom du groupe auquel vous souhaitez ajouter le rôle.db2 "grant role ROLE_NULLID_PACKAGES to group
group_name
" -
Accordez le rôle
ROLE_TABLESPACES
au même groupe. Dans l'exemple suivant, remplacezgroup_name
par le nom du groupe auquel vous souhaitez ajouter le rôle.db2 "grant role ROLE_TABLESPACES to group
group_name
" -
Accordez le rôle
ROLE_PROCEDURES
au même groupe. Dans l'exemple suivant, remplacezgroup_name
par le nom du groupe auquel vous souhaitez ajouter le rôle.db2 "grant role ROLE_PROCEDURES to group
group_name
"
-
-
Accordez
connect
bindadd
createtab
,, et desIMPLICIT_SCHEMA
autorisations au groupe auquel vous avez ajouté l'utilisateur. Dans l'exemple suivant, remplacezgroup_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
" -
Répétez les étapes 4 à 6 pour chaque groupe supplémentaire auquel vous avez ajouté l'utilisateur.
-
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
etpassword
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
userusername
usingpassword
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
-
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, remplacezmaster_username et
par vos propres informations.master_password
db2 connect to rdsadmin user
master_username
usingmaster_password
-
Changez le mot de passe en appelant
rdsadmin.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
-
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, remplacezmaster_username et
par vos propres informations.master_password
db2 connect to rdsadmin user
master_username
usingmaster_password
-
Ajoutez des groupes à un utilisateur en appelant
rdsadmin.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
-
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, remplacezmaster_username et
par vos propres informations.master_password
db2 connect to rdsadmin user
master_username
usingmaster_password
-
Supprimez des groupes en appelant
rdsadmin.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
-
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, remplacezmaster_username et
par vos propres informations.master_password
db2 connect to rdsadmin user
master_username
usingmaster_password
-
Supprimez un utilisateur de votre liste d'autorisation en appelant
rdsadmin.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
-
Connectez-vous à la
rdsadmin
base de données. Dans l'exemple suivant, remplacezmaster_username et
par vos informations.master_password
db2 connect to rdsadmin user
master_username
usingmaster_password
-
Réglez Db2 pour qu'il affiche le contenu.
db2 set serveroutput on
-
Créez un rôle Pour plus d’informations, consultez rdsadmin.create_role.
db2 "call rdsadmin.create_role( '
database_name
', 'role_name
')" -
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
-
Connectez-vous à la
rdsadmin
base de données. Dans l'exemple suivant, remplacezmaster_username et
par vos informations.master_password
db2 connect to rdsadmin user
master_username
usingmaster_password
-
Réglez Db2 pour qu'il affiche le contenu.
db2 set serveroutput on
-
Attribuez un rôle. Pour plus d’informations, consultez rdsadmin.grant_role.
db2 "call rdsadmin.grant_role( '
database_name
', 'role_name
', 'grantee
', 'admin_option
')" -
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
-
Connectez-vous à la
rdsadmin
base de données. Dans l'exemple suivant, remplacezmaster_username et
par vos informations.master_password
db2 connect to rdsadmin user
master_username
usingmaster_password
-
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 DBADM
ACCESSCTRL
, peut accorder ou DATAACCESS
autoriser un rôle, un utilisateur ou un groupe.
Pour accorder l'autorisation de base de données
-
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, remplacezmaster_username et
par vos propres informations.master_password
db2 connect to rdsadmin user
master_username
usingmaster_password
-
Accordez l'accès à un utilisateur en appelant
rdsadmin.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.
-
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, remplacezmaster_username et
par vos propres informations.master_password
db2 connect to rdsadmin user
master_username
usingmaster_password
-
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')"
-
Attribuez le rôle à un utilisateur appelé
PROD_USER
. L'administrateurPROD_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')"
-
(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')"
-
Mettez fin à votre session.
db2 terminate
-
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, remplacezmaster_username et
par vos propres informations.master_password
db2 connect to TESTDB user
master_username
usingmaster_password
-
Ajoutez d'autres autorisations au rôle.
db2 "grant connect, implicit_schema on database to role PROD_ROLE"
-
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'DATAACCESS
autorisation d'un rôle, d'un utilisateur ou d'un groupe. ACCESSCTRL
Pour révoquer l'autorisation de base de données
-
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, remplacezmaster_username et
par vos propres informations.master_password
db2 connect to rdsadmin user
master_username
usingmaster_password
-
Révoquez l'accès utilisateur en appelant
rdsadmin.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
-
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.
-
Connectez-vous à l'instance de base de données RDS pour DB2. Dans l'exemple suivant, remplacez
node_name,
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.master_username et
par le nom dumaster_password
db2 attach to
node_name
usermaster_username
usingmaster_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
db2 list applications db2 get snapshot for all databases db2 get snapshot for database manager db2 get snapshot for all applications