Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Octroi SELECT de EXECUTE privilèges à SYS des objets
Généralement, vous transférez les privilèges en utilisant des rôles, qui peuvent contenir de nombreux objets. Pour accorder des privilèges à un seul objet, utilisez la RDS procédure Amazonrdsadmin.rdsadmin_util.grant_sys_object
. La procédure accorde uniquement les privilèges qui ont déjà été accordés à l'utilisateur principal par le biais d'un rôle ou d'une attribution directe.
La procédure grant_sys_object
possède les paramètres suivants.
Important
Pour toutes les valeurs de paramètre, utilisez les majuscules sauf si vous avez créé l'utilisateur avec un identifiant sensible à la casse. Par exemple, si vous exécutez CREATE USER
myuser
ou CREATE USER MYUSER
, le dictionnaire de données stocke MYUSER
. Toutefois, si vous utilisez des guillemets doubles dans CREATE USER
"MyUser"
, le dictionnaire de données stocke MyUser
.
Nom du paramètre | Type de données | Par défaut | Obligatoire | Description |
---|---|---|---|---|
|
varchar2 |
— |
Oui |
Nom de l'objet pour lequel des privilèges seront accordés. L'objet peut être un répertoire, une fonction, un package, une procédure, une séquence, une table ou une vue. Les noms d'objet doivent être orthographiés correctement lorsqu'ils apparaissent dans |
|
varchar2 |
— |
Oui |
Nom de l'objet auquel des privilèges seront accordés. L'objet peut être un schéma ou un rôle. |
|
varchar2 |
null |
Oui |
— |
|
booléen |
false |
Non |
Définissez ce paramètre sur |
L'exemple suivant accorde des privilèges select sur un objet nommé V_$SESSION
à un utilisateur nommé USER1
.
begin rdsadmin.rdsadmin_util.grant_sys_object( p_obj_name => '
V_$SESSION
', p_grantee => 'USER1
', p_privilege => 'SELECT
'); end; /
L'exemple suivant accorde des privilèges select sur un objet nommé V_$SESSION
à un utilisateur nommé USER1
avec l'option d'attribution.
begin rdsadmin.rdsadmin_util.grant_sys_object( p_obj_name => '
V_$SESSION
', p_grantee => 'USER1
', p_privilege => 'SELECT
', p_grant_option =>true
); end; /
Pour pouvoir attribuer des privilèges sur un objet, votre compte doit avoir ces privilèges directement attribués avec l'option appropriée ou via un rôle accordé avec with admin option
. Dans le cas le plus courant, vous souhaiterez peut-être accorder une autorisation SELECT
sur une DBA vue qui a été accordée au SELECT_CATALOG_ROLE
rôle. Si ce rôle n'est pas déjà directement attribué à votre utilisateur avec with admin option
, vous ne pouvez pas transférer le privilège. Si vous avez le DBA privilège, vous pouvez attribuer le rôle directement à un autre utilisateur.
L'exemple suivant accorde les rôles SELECT_CATALOG_ROLE
et EXECUTE_CATALOG_ROLE
à USER1
. Puisque le with
admin option
est utilisé, il USER1
peut désormais accorder l'accès aux SYS objets qui ont été accordés àSELECT_CATALOG_ROLE
.
GRANT SELECT_CATALOG_ROLE TO
USER1
WITH ADMIN OPTION; GRANT EXECUTE_CATALOG_ROLE toUSER1
WITH ADMIN OPTION;
Les objets déjà attribués à PUBLIC
n'ont pas besoin d'être réattribués. Si vous utilisez la procédure grant_sys_object
pour accorder de nouveau l'accès, l'appel de procédure réussit.