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 SELECT o EXECUTE privilegi agli oggetti SYS
Solitamente si trasferiscono i privilegi utilizzando ruoli che possono contenere molti oggetti. Per concedere privilegi a un singolo oggetto, utilizza la RDS procedura rdsadmin.rdsadmin_util.grant_sys_object
Amazon. 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 SELECT
concedere una DBA visualizzazione che è stata concessa al SELECT_CATALOG_ROLE
ruolo. Se quel ruolo non è già concesso direttamente all'utente utilizzando with admin option
, non sarai in grado di trasferire il privilegio. Se disponi del DBA privilegio, puoi concedere il ruolo direttamente a un altro utente.
L'esempio seguente concede SELECT_CATALOG_ROLE
e EXECUTE_CATALOG_ROLE
a USER1
. Poiché with
admin option
viene utilizzato, ora è USER1
possibile concedere l'accesso agli SYS oggetti a cui è stato concesso. SELECT_CATALOG_ROLE
GRANT SELECT_CATALOG_ROLE TO
USER1
WITH ADMIN OPTION; GRANT EXECUTE_CATALOG_ROLE toUSER1
WITH 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.