Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Concessione e revoca dei privilegi per Db2 RDS
Gli utenti ottengono l'accesso ai database tramite l'appartenenza a gruppi collegati ai database.
Utilizza le seguenti procedure per concedere e revocare i privilegi per controllare l'accesso al database.
Queste procedure utilizzano IBM Db2 CLP in esecuzione su un computer locale per connettersi a un'istanza DB RDS for Db2. Assicurati di catalogare il TCPIP nodo e il database per connetterti alla tua istanza DB RDS per Db2 in esecuzione sul tuo computer locale. Per ulteriori informazioni, consulta Connessione alla tua istanza database Amazon RDS for Db2 con IBM Db2 CLP.
Argomenti
Concedere a un utente l'accesso al database
Per concedere a un utente l'accesso al tuo database
-
Connect al
rdsadmin
database utilizzando il nome utente principale e la password principale per l'istanza database RDS for Db2. Nell'esempio seguente, sostituiscimaster_username
emaster_password
con le tue informazioni.db2 connect to rdsadmin user
master_username
usingmaster_password
Questo comando produce un output simile all'esempio seguente:
Database Connection Information Database server = DB2/LINUXX8664 11.5.8.0 SQL authorization ID = ADMIN Local database alias = RDSADMIN
-
Aggiungi un utente alla tua lista di autorizzazioni chiamando
rdsadmin.add_user
. Per ulteriori informazioni, consulta rdsadmin.add_user.db2 "call rdsadmin.add_user( '
username
', 'password
', 'group_name
,group_name
')" -
(Facoltativo) Aggiungi altri gruppi all'utente chiamando
rdsadmin.add_groups
. Per ulteriori informazioni, consulta rdsadmin.add_groups.db2 "call rdsadmin.add_groups( '
username
', 'group_name
,group_name
')" -
Conferma le autorità disponibili per l'utente. Nell'esempio seguente
rds_database_alias
master_user
, sostituisci emaster_password
con le tue informazioni. Inoltre,username
sostituiscilo con il nome utente dell'utente.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"Questo comando produce un output simile all'esempio seguente:
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
-
Concedi i ruoli RDS
ROLE_NULLID_PACKAGES
per Db2 eROLE_PROCEDURES
al gruppo a cui hai aggiunto l'utente.ROLE_TABLESPACES
Per ulteriori informazioni, consulta Ruoli predefiniti di Amazon RDS for Db2.Nota
Creiamo istanze DB RDS per Db2 in modalità.
RESTRICTIVE
Pertanto, RDS per i ruoli Db2 eROLE_NULLID_PACKAGES
ROLE_PROCEDURES
concediamoROLE_TABLESPACES
i privilegi di esecuzione sui pacchetti perNULLID
IBM Db2 CLP e Dynamic SQL. Questi ruoli concedono anche i privilegi utente sui tablespace.-
Connect al database Db2. Nell'esempio seguente
database_name
master_user
, sostituisci emaster_password
con le tue informazioni.db2 connect to
database_name
usermaster_user
usingmaster_password
-
Assegna il ruolo
ROLE_NULLED_PACKAGES
a un gruppo. Nell'esempio seguente, sostituiscilogroup_name
con il nome del gruppo a cui desideri aggiungere il ruolo.db2 "grant role ROLE_NULLID_PACKAGES to group
group_name
" -
Assegnate il ruolo
ROLE_TABLESPACES
allo stesso gruppo. Nell'esempio seguente, sostituiscilogroup_name
con il nome del gruppo a cui desideri aggiungere il ruolo.db2 "grant role ROLE_TABLESPACES to group
group_name
" -
Assegnate il ruolo
ROLE_PROCEDURES
allo stesso gruppo. Nell'esempio seguente, sostituiscilogroup_name
con il nome del gruppo a cui desideri aggiungere il ruolo.db2 "grant role ROLE_PROCEDURES to group
group_name
"
-
-
Concedi
connect
bindadd
,createtab
, eIMPLICIT_SCHEMA
autorità al gruppo a cui hai aggiunto l'utente. Nell'esempio seguente,group_name
sostituiscilo con il nome del secondo gruppo a cui hai aggiunto l'utente.db2 "grant usage on workload SYSDEFAULTUSERWORKLOAD to public" db2 "grant connect, bindadd, createtab, implicit_schema on database to group
group_name
" -
Ripeti i passaggi da 4 a 6 per ogni gruppo aggiuntivo a cui hai aggiunto l'utente.
-
Verifica l'accesso dell'utente connettendoti come utente, creando una tabella, inserendo valori nella tabella e restituendo dati dalla tabella. Nell'esempio seguente
rds_database_alias
username
, sostituisci epassword
con il nome del database e il nome utente e la password dell'utente.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"
Modifica della password di un utente
Per modificare la password di un utente
-
Connect al
rdsadmin
database utilizzando il nome utente principale e la password principale per l'istanza database RDS for Db2. Nell'esempio seguente, sostituiscimaster_username
emaster_password
con le tue informazioni.db2 connect to rdsadmin user
master_username
usingmaster_password
-
Cambia la password chiamando
rdsadmin.change_password
. Per ulteriori informazioni, consulta rdsadmin.change_password.db2 "call rdsadmin.change_password( '
username
', 'new_password
')"
Aggiungere gruppi a un utente
Per aggiungere gruppi a un utente
-
Connect al
rdsadmin
database utilizzando il nome utente principale e la password principale per l'istanza database RDS for Db2. Nell'esempio seguente, sostituiscimaster_username
emaster_password
con le tue informazioni.db2 connect to rdsadmin user
master_username
usingmaster_password
-
Aggiungi gruppi a un utente chiamando
rdsadmin.add_groups
. Per ulteriori informazioni, consulta rdsadmin.add_groups.db2 "call rdsadmin.add_groups( '
username
', 'group_name
,group_name
')"
Rimuovere gruppi da un utente
Per rimuovere gruppi da un utente
-
Connect al
rdsadmin
database utilizzando il nome utente principale e la password principale per l'istanza database RDS for Db2. Nell'esempio seguente, sostituiscimaster_username
emaster_password
con le tue informazioni.db2 connect to rdsadmin user
master_username
usingmaster_password
-
Rimuovi i gruppi chiamando
rdsadmin.remove_groups
. Per ulteriori informazioni, consulta rdsadmin.remove_groups.db2 "call rdsadmin.remove_groups( '
username
', 'group_name
,group_name
')"
Rimuovere un utente
Per rimuovere un utente dall'elenco di autorizzazioni
-
Connect al
rdsadmin
database utilizzando il nome utente principale e la password principale per l'istanza database RDS for Db2. Nell'esempio seguente, sostituiscimaster_username
emaster_password
con le tue informazioni.db2 connect to rdsadmin user
master_username
usingmaster_password
-
Rimuovi un utente dall'elenco di autorizzazioni chiamando
rdsadmin.remove_user
. Per ulteriori informazioni, consulta rdsadmin.remove_user.db2 "call rdsadmin.remove_user('
username
')"
Elencare gli utenti
Per elencare gli utenti in un elenco di autorizzazioni, richiama la rdsadmin.list_users
stored procedure. Per ulteriori informazioni, consulta rdsadmin.list_users.
db2 "call rdsadmin.list_users()"
Creazione di un ruolo
È possibile utilizzare la rdsadmin.create_role stored procedure per creare un ruolo.
Per creare un ruolo
-
Connect al
rdsadmin
database. Nell'esempio seguente, sostituiscimaster_username
emaster_password
con le tue informazioni.db2 connect to rdsadmin user
master_username
usingmaster_password
-
Imposta Db2 per l'output del contenuto.
db2 set serveroutput on
-
Creare un ruolo. Per ulteriori informazioni, consulta rdsadmin.create_role.
db2 "call rdsadmin.create_role( '
database_name
', 'role_name
')" -
Imposta Db2 in modo che non emetta contenuti.
db2 set serveroutput off
Concessione di un ruolo
È possibile utilizzare la rdsadmin.grant_role stored procedure per assegnare un ruolo a un ruolo, utente o gruppo.
Per assegnare un ruolo
-
Connect al
rdsadmin
database. Nell'esempio seguente, sostituiscimaster_username
emaster_password
con le tue informazioni.db2 connect to rdsadmin user
master_username
usingmaster_password
-
Imposta Db2 per l'output del contenuto.
db2 set serveroutput on
-
Assegna un ruolo. Per ulteriori informazioni, consulta rdsadmin.grant_role.
db2 "call rdsadmin.grant_role( '
database_name
', 'role_name
', 'grantee
', 'admin_option
')" -
Imposta Db2 in modo che non emetta contenuti.
db2 set serveroutput off
Revoca di un ruolo
È possibile utilizzare la rdsadmin.revoke_role stored procedure per revocare un ruolo da un ruolo, un utente o un gruppo.
Per revocare un ruolo
-
Connect al
rdsadmin
database. Nell'esempio seguente, sostituiscimaster_username
emaster_password
con le tue informazioni.db2 connect to rdsadmin user
master_username
usingmaster_password
-
Revoca un ruolo. Per ulteriori informazioni, consulta rdsadmin.revoke_role.
db2 "call rdsadmin.revoke_role( ?, '
database_name
', 'role_name
', 'grantee
')"
Eliminare un ruolo
È possibile utilizzare la rdsadmin.drop_role stored procedure per eliminare un ruolo.
Eliminare un ruolo
-
Connect al
rdsadmin
database. Nell'esempio seguente, sostituiscimaster_username
emaster_password
con le tue informazioni.db2 connect to rdsadmin user
master_username
usingmaster_password
-
Abbandona un ruolo. Per ulteriori informazioni, consulta rdsadmin.drop_role.
db2 "call rdsadmin.drop_role( ?, '
database_name
', 'role_name
')"
Concessione dell'autorizzazione al database
L'utente principale, che dispone dell'DBADM
autorizzazione, può concedere DBADM
o DATAACCESS
autorizzare un ruolo, un utente o un gruppo. ACCESSCTRL
Per concedere l'autorizzazione al database
-
Connect al
rdsadmin
database utilizzando il nome utente principale e la password principale per l'istanza database RDS for Db2. Nell'esempio seguente, sostituiscimaster_username
emaster_password
con le tue informazioni.db2 connect to rdsadmin user
master_username
usingmaster_password
-
Concedi l'accesso a un utente chiamando
rdsadmin.dbadm_grant
. Per ulteriori informazioni, consulta rdsadmin.dbadm_grant.db2 "call rdsadmin.dbadm_grant( ?, '
database_name
, 'authorization
', 'grantee
')"
Esempio di caso d'uso
La procedura seguente illustra come creare un ruolo, concedere DBADM
l'autorizzazione al ruolo, assegnare il ruolo a un utente e concedere il ruolo a un gruppo.
-
Connect al
rdsadmin
database utilizzando il nome utente principale e la password principale per l'istanza database RDS for Db2. Nell'esempio seguente, sostituiscimaster_username
emaster_password
con le tue informazioni.db2 connect to rdsadmin user
master_username
usingmaster_password
-
Crea un ruolo chiamato
PROD_ROLE
per un database chiamatoTESTDB
. Per ulteriori informazioni, consulta rdsadmin.create_role.db2 "call rdsadmin.create_role( 'TESTDB', 'PROD_ROLE')"
-
Assegna il ruolo a un utente chiamato
PROD_USER
.PROD_USER
Viene concessa l'autorizzazione di amministratore per assegnare ruoli. Per ulteriori informazioni, consulta rdsadmin.grant_role.db2 "call rdsadmin.grant_role( ?, 'TESTDB', 'PROD_ROLE', 'USER PROD_USER', 'Y')"
-
(Facoltativo) Fornisci autorizzazioni o privilegi aggiuntivi. L'esempio seguente concede
DBADM
l'autorizzazione a un ruolo denominato in basePROD_ROLE
a un database chiamato.FUNDPROD
Per ulteriori informazioni, consulta rdsadmin.dbadm_grant.db2 "call rdsadmin.dbadm_grant( ?, 'FUNDPROD', 'DBADM', 'ROLE PROD_ROLE')"
-
Termina la sessione.
db2 terminate
-
Connect al
TESTDB
database utilizzando il nome utente principale e la password principale per l'istanza database RDS for Db2. Nell'esempio seguente, sostituiscimaster_username
emaster_password
con le tue informazioni.db2 connect to TESTDB user
master_username
usingmaster_password
-
Aggiungi altre autorizzazioni al ruolo.
db2 "grant connect, implicit_schema on database to role PROD_ROLE"
-
Assegna il ruolo
PROD_ROLE
a un gruppo.db2 "grant role PROD_ROLE to group PRODGRP"
Gli utenti che appartengono al gruppo PRODGRP
possono ora eseguire azioni come la connessione al TESTDB
database, la creazione di tabelle o la creazione di schemi.
Revoca dell'autorizzazione al database
L'utente principale, che dispone dell'DBADM
autorizzazione, può revocare o revocare DBADM
DATAACCESS
l'autorizzazione a un ruolo, utente o gruppo. ACCESSCTRL
Per revocare l'autorizzazione del database
-
Connect al
rdsadmin
database utilizzando il nome utente principale e la password principale per l'istanza database RDS for Db2. Nell'esempio seguente, sostituiscimaster_username
emaster_password
con le tue informazioni.db2 connect to rdsadmin user
master_username
usingmaster_password
-
Revoca l'accesso utente chiamando.
rdsadmin.dbadm_revoke
Per ulteriori informazioni, consulta rdsadmin.dbadm_revoke.db2 "call rdsadmin.dbadm_revoke( ?, '
database_name
, 'authorization
', 'grantee
')"