Concessione SELECT o EXECUTE privilegi agli oggetti SYS - Amazon Relational Database Service

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

p_obj_name

varchar2

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 DBA_OBJECTS. La maggior parte degli oggetti di sistema è scritta in maiuscolo, quindi consigliamo di provare prima il maiuscolo.

p_grantee

varchar2

Il nome dell'oggetto al quale concedere privilegi. L'oggetto può essere uno schema o un ruolo.

p_privilege

varchar2

null

p_grant_option

booleano

false

No

Impostato su true per utilizzare l'opzione concessione.

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 to USER1 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.