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 RDS per Db2
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 database RDS per Db2. Assicurati di catalogare il nodo TCPIP e il database per connetterti all’istanza database RDS per Db2 in esecuzione sul tuo computer locale. Per ulteriori informazioni, consulta Connessione a un’istanza database Amazon RDS per Db2 con IBM Db2 CLP.
Argomenti
Concessione dell’accesso al database a un utente
Per concedere a un utente l’accesso al tuo database
-
Connettiti al database
rdsadminutilizzando il nome utente e la password principali dell’istanza database RDS per Db2. Nell'esempio seguente, sostituiscimaster_usernameemaster_passwordcon le tue informazioni.db2 connect to rdsadmin usermaster_usernameusingmaster_passwordQuesto comando genera 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 all’elenco 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_aliasmaster_user, sostituisci emaster_passwordcon le tue informazioni. Inoltre,usernamesostituiscilo con il nome utente dell'utente.db2 terminate db2 connect tords_database_aliasusermaster_userusingmaster_passworddb2 "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 genera 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
ROLE_NULLID_PACKAGES,ROLE_TABLESPACESeROLE_PROCEDURESdi RDS per Db2 al gruppo a cui hai aggiunto l’utente. Per ulteriori informazioni, consulta Ruoli predefiniti di Amazon RDS per Db2.Nota
Le istanze database RDS per Db2 vengono create in modalità
RESTRICTIVE. Pertanto, i ruoliROLE_NULLID_PACKAGES,ROLE_TABLESPACESeROLE_PROCEDURESdi RDS per Db2 concedono privilegi di esecuzione sui pacchettiNULLIDper IBM Db2 CLP e Dynamic SQL. Questi ruoli concedono anche privilegi utente sui tablespace.-
Connettiti al tuo database Db2. Nell'esempio seguente
database_namemaster_user, sostituisci emaster_passwordcon le tue informazioni.db2 connect todatabase_nameusermaster_userusingmaster_password -
Assegna il ruolo
ROLE_NULLED_PACKAGESa un gruppo. Nell'esempio seguente, sostituiscilogroup_namecon il nome del gruppo a cui desideri aggiungere il ruolo.db2 "grant role ROLE_NULLID_PACKAGES to groupgroup_name" -
Assegna il ruolo
ROLE_TABLESPACESallo stesso gruppo. Nell'esempio seguente, sostituiscilogroup_namecon il nome del gruppo a cui desideri aggiungere il ruolo.db2 "grant role ROLE_TABLESPACES to groupgroup_name" -
Assegna il ruolo
ROLE_PROCEDURESallo stesso gruppo. Nell'esempio seguente, sostituiscilogroup_namecon il nome del gruppo a cui desideri aggiungere il ruolo.db2 "grant role ROLE_PROCEDURES to groupgroup_name"
-
-
Concedi le autorità
connect,bindadd,createtabeIMPLICIT_SCHEMAal gruppo a cui hai aggiunto l’utente. Nell'esempio seguente,group_namesostituiscilo 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 groupgroup_name" -
Ripeti i passaggi da 4 a 6 per ogni gruppo aggiuntivo a cui hai aggiunto l’utente.
-
Testa l’accesso dell’utente connettendoti come tale utente, creando una tabella, inserendo valori nella tabella e restituendo dati dalla tabella. Nell'esempio seguente, sostituisci
rds_database_aliasusername, epasswordcon il nome del database e il nome utente e la password dell'utente.db2 connect tords_database_aliasuserusernameusingpassworddb2 "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 cambiare la password di un utente
-
Connettiti al database
rdsadminutilizzando il nome utente e la password principali dell’istanza database RDS per Db2. Nell'esempio seguente, sostituiscimaster_usernameemaster_passwordcon le tue informazioni.db2 connect to rdsadmin usermaster_usernameusingmaster_password -
Cambia la password chiamando
rdsadmin.change_password. Per ulteriori informazioni, consulta rdsadmin.change_password.db2 "call rdsadmin.change_password( 'username', 'new_password')"
Aggiunta di gruppi a un utente
Per aggiungere gruppi a un utente
-
Connettiti al database
rdsadminutilizzando il nome utente e la password principali dell’istanza database RDS per Db2. Nell'esempio seguente, sostituiscimaster_usernameemaster_passwordcon le tue informazioni.db2 connect to rdsadmin usermaster_usernameusingmaster_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')"
Rimozione di gruppi da un utente
Per rimuovere gruppi da un utente
-
Connettiti al database
rdsadminutilizzando il nome utente e la password principali dell’istanza database RDS per Db2. Nell'esempio seguente, sostituiscimaster_usernameemaster_passwordcon le tue informazioni.db2 connect to rdsadmin usermaster_usernameusingmaster_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')"
Rimozione di un utente
Per rimuovere un utente dall’elenco di autorizzazioni
-
Connettiti al database
rdsadminutilizzando il nome utente e la password principali dell’istanza database RDS per Db2. Nell'esempio seguente, sostituiscimaster_usernameemaster_passwordcon le tue informazioni.db2 connect to rdsadmin usermaster_usernameusingmaster_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, chiama la stored procedure rdsadmin.list_users. Per ulteriori informazioni, consulta rdsadmin.list_users.
db2 "call rdsadmin.list_users()"
Creazione di un ruolo
È possibile utilizzare la stored procedure rdsadmin.create_role per creare un ruolo.
Per creare un ruolo
-
Connettiti al database
rdsadmin. Nell'esempio seguente, sostituiscimaster_usernameemaster_passwordcon le tue informazioni.db2 connect to rdsadmin usermaster_usernameusingmaster_password -
Imposta Db2 in modo che restituisca il contenuto come output.
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 restituisca il contenuto come output.
db2 set serveroutput off
Concessione di un ruolo
È possibile utilizzare la stored procedure rdsadmin.grant_role per assegnare un ruolo a un ruolo, utente o gruppo.
Per assegnare un ruolo
-
Connettiti al database
rdsadmin. Nell'esempio seguente, sostituiscimaster_usernameemaster_passwordcon le tue informazioni.db2 connect to rdsadmin usermaster_usernameusingmaster_password -
Imposta Db2 in modo che restituisca il contenuto come output.
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 restituisca il contenuto come output.
db2 set serveroutput off
Revoca di un ruolo
È possibile utilizzare la stored procedure rdsadmin.revoke_role per revocare un ruolo da un ruolo, utente o gruppo.
Per revocare un ruolo
-
Connettiti al database
rdsadmin. Nell'esempio seguente, sostituiscimaster_usernameemaster_passwordcon le tue informazioni.db2 connect to rdsadmin usermaster_usernameusingmaster_password -
Revoca un ruolo. Per ulteriori informazioni, consulta rdsadmin.revoke_role.
db2 "call rdsadmin.revoke_role( ?, 'database_name', 'role_name', 'grantee')"
Eliminazione di un ruolo
È possibile utilizzare la stored procedure rdsadmin.drop_role per eliminare un ruolo.
Per eliminare un ruolo
-
Connettiti al database
rdsadmin. Nell'esempio seguente, sostituiscimaster_usernameemaster_passwordcon le tue informazioni.db2 connect to rdsadmin usermaster_usernameusingmaster_password -
Elimina un ruolo. Per ulteriori informazioni, consulta rdsadmin.drop_role.
db2 "call rdsadmin.drop_role( ?, 'database_name', 'role_name')"
Concessione dell’autorizzazione per il database
L’utente principale, che dispone dell’autorizzazione DBADM, può concedere l’autorizzazione DBADM, ACCESSCTRL o DATAACCESS a un ruolo, utente o gruppo.
Per concedere l’autorizzazione per il database
-
Connettiti al database
rdsadminutilizzando il nome utente e la password principali dell’istanza database RDS per Db2. Nell'esempio seguente, sostituiscimaster_usernameemaster_passwordcon le tue informazioni.db2 connect to rdsadmin usermaster_usernameusingmaster_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 l’autorizzazione DBADM al ruolo, assegnare il ruolo a un utente e concedere il ruolo a un gruppo.
-
Connettiti al database
rdsadminutilizzando il nome utente e la password principali dell’istanza database RDS per Db2. Nell'esempio seguente, sostituiscimaster_usernameemaster_passwordcon le tue informazioni.db2 connect to rdsadmin usermaster_usernameusingmaster_password -
Crea un ruolo denominato
PROD_ROLEper un database denominatoTESTDB. Per ulteriori informazioni, consulta rdsadmin.create_role.db2 "call rdsadmin.create_role( 'TESTDB', 'PROD_ROLE')" -
Assegna il ruolo a un utente denominato
PROD_USER. All’utentePROD_USERviene concessa l’autorizzazione di amministrazione per assegnare ruoli. Per ulteriori informazioni, consulta rdsadmin.grant_role.db2 "call rdsadmin.grant_role( ?, 'TESTDB', 'PROD_ROLE', 'USER PROD_USER', 'Y')" -
(Facoltativo) Fornisci ulteriori autorizzazioni o privilegi. Nell’esempio seguente viene concessa l’autorizzazione
DBADMa un ruolo denominatoPROD_ROLEper un database denominatoFUNDPROD. Per ulteriori informazioni, consulta rdsadmin.dbadm_grant.db2 "call rdsadmin.dbadm_grant( ?, 'FUNDPROD', 'DBADM', 'ROLE PROD_ROLE')" -
Termina la sessione.
db2 terminate -
Connettiti al database
TESTDButilizzando il nome utente e la password principali dell’istanza database RDS per Db2. Nell'esempio seguente, sostituiscimaster_usernameemaster_passwordcon le tue informazioni.db2 connect to TESTDB usermaster_usernameusingmaster_password -
Aggiungi altre autorizzazioni al ruolo.
db2 "grant connect, implicit_schema on database to role PROD_ROLE" -
Assegna il ruolo
PROD_ROLEa 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 database TESTDB, la creazione di tabelle o la creazione di schemi.
Revoca dell’autorizzazione per il database
L’utente principale, che dispone dell’autorizzazione DBADM, può revocare l’autorizzazione DBADM, ACCESSCTRL o DATAACCESS a un ruolo, utente o gruppo.
Per revocare l’autorizzazione per il database
-
Connettiti al database
rdsadminutilizzando il nome utente e la password principali dell’istanza database RDS per Db2. Nell'esempio seguente, sostituiscimaster_usernameemaster_passwordcon le tue informazioni.db2 connect to rdsadmin usermaster_usernameusingmaster_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')"