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à.
Concedere privilegi SELECT o EXECUTE agli oggetti SYS
Solitamente si trasferiscono i privilegi utilizzando ruoli che possono contenere molti oggetti. Puoi concedere privilegi a un singolo oggetto utilizzando la procedura in Amazon RDS rdsadmin.rdsadmin_util.grant_sys_object. La procedura concede solo i privilegi già concessi all'utente master tramite un ruolo o una concessione diretta.
La procedura grant_sys_object include i seguenti parametri.
Importante
Per tutti i valori dei parametri, utilizzare maiuscole a meno che non sia stato creato l'utente con un identificatore con distinzione tra maiuscole e minuscole. Ad esempio, se esegui CREATE USER
myuser o CREATE USER MYUSER, il dizionario dati memorizza MYUSER. Tuttavia, se si utilizzano virgolette doppie in CREATE USER
"MyUser", il dizionario dati memorizza MyUser.
| Nome del parametro | Tipo di dati | Default | Campo obbligatorio | Descrizione |
|---|---|---|---|---|
|
|
varchar2 |
— |
Sì |
Il nome dell'oggetto per il quale concedere privilegi. L'oggetto può essere una directory, funzione, pacchetto, procedura, sequenza, tabella o visualizzazione. I nomi degli oggetti devono essere scritti allo stesso modo in cui appaiono in |
|
|
varchar2 |
— |
Sì |
Il nome dell'oggetto al quale concedere privilegi. L'oggetto può essere uno schema o un ruolo. |
|
|
varchar2 |
null |
Sì |
— |
|
|
booleano |
false |
No |
Impostato su |
L'esempio seguente concede certi privilegi su un oggetto denominato V_$SESSION a un utente denominato USER1.
begin rdsadmin.rdsadmin_util.grant_sys_object( p_obj_name => 'V_$SESSION', p_grantee => 'USER1', p_privilege => 'SELECT'); end; /
L'esempio seguente concede certi privilegi su un oggetto denominato V_$SESSION a un utente denominato USER1 con l'opzione concessione.
begin rdsadmin.rdsadmin_util.grant_sys_object( p_obj_name => 'V_$SESSION', p_grantee => 'USER1', p_privilege => 'SELECT', p_grant_option =>true); end; /
Per poter concedere privilegi per un oggetto, quei privilegi devono essere concessi all'account direttamente con l'opzione concessione o tramite un ruolo concesso utilizzando with admin option. Nel caso più comune, potresti voler concedere SELECT a una visualizzazione DBA concessa al ruolo SELECT_CATALOG_ROLE. Se quel ruolo non è già concesso direttamente all'utente utilizzando with admin option, non sarai in grado di trasferire il privilegio. Se disponi del privilegio DBA, puoi concedere il ruolo direttamente a un altro utente.
L'esempio seguente concede SELECT_CATALOG_ROLE e EXECUTE_CATALOG_ROLE a USER1. Siccome with
admin option viene utilizzato, USER1 può ora garantire l'accesso agli oggetti SYS che sono stati concessi a SELECT_CATALOG_ROLE.
GRANT SELECT_CATALOG_ROLE TOUSER1WITH ADMIN OPTION; GRANT EXECUTE_CATALOG_ROLE toUSER1WITH ADMIN OPTION;
Gli oggetti già concessi a PUBLIC non devono essere concessi nuovamente. Se utilizzi la procedura grant_sys_object per concedere nuovamente l'accesso, la chiamata di procedura va a buon fine.