Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Gewährung SELECT von EXECUTE Rechten für SYS Objekte
Im Normalfall werden Sonderrechte mithilfe von Rollen übertragen, die viele Objekte beinhalten können. Verwenden Sie das RDS Amazon-Verfahren, um einem einzelnen Objekt Berechtigungen zu gewährenrdsadmin.rdsadmin_util.grant_sys_object
. Die Prozedur gewährt nur Berechtigungen, die dem Masterbenutzer bereits über eine Rolle oder direkte Erteilung gewährt wurden.
Die Prozedur grant_sys_object
hat die folgenden Parameter.
Wichtig
Verwenden Sie für alle Parameterwerte Großbuchstaben, es sei denn, Sie haben den Benutzer mit einer Kennung mit bedeutsamer Groß- und Kleinschreibung erstellt. Wenn Sie z. B. CREATE USER
myuser
oder CREATE USER MYUSER
ausführen , wird im Datenwörterbuch MYUSER
gespeichert. Wenn Sie jedoch doppelte Anführungszeichen in CREATE USER
"MyUser"
verwenden, speichert das Datenwörterbuch MyUser
.
Parametername | Datentyp | Standard | Erforderlich | Beschreibung |
---|---|---|---|---|
|
varchar2 |
— |
Ja |
Der Name des Objekts dem die Sonderrechte erteilt werden sollen. Das Objekt kann ein Verzeichnis, eine Funktion, ein Paket, eine Prozedur, eine Sequenz, eine Tabelle oder eine Ansicht sein. Objektnamen müssen genauso angegeben werden, wie sie in sin |
|
varchar2 |
— |
Ja |
Der Name des Objekts, dem die Sonderrechte erteilt werden sollen. Das Objekt kann ein Schema oder eine Rolle sein. |
|
varchar2 |
Null |
Ja |
— |
|
Boolean |
false |
Nein |
Setzen Sie diesen Wert auf |
Im folgenden Beispiel werden einem Objekt mit dem Namen V_$SESSION
für einen Benutzer mit dem Namen USER1
ausgewählte Berechtigungen erteilt.
begin rdsadmin.rdsadmin_util.grant_sys_object( p_obj_name => '
V_$SESSION
', p_grantee => 'USER1
', p_privilege => 'SELECT
'); end; /
Im folgenden Beispiel werden einem Objekt mit dem Namen V_$SESSION
für einen Benutzer mit dem Namen USER1
mit der Erteilungsoption ausgewählte Berechtigungen erteilt.
begin rdsadmin.rdsadmin_util.grant_sys_object( p_obj_name => '
V_$SESSION
', p_grantee => 'USER1
', p_privilege => 'SELECT
', p_grant_option =>true
); end; /
Um Sonderrechte für ein Objekt erteilen zu können, muss Ihr Konto über diese Sonderrechte verfügen, die ihm entweder direkt, mithilfe der Genehmigungsoption oder einer Rolle mithilfe von erteilt wurde with admin option
. In den meisten Fällen möchten Sie die Gewährung möglicherweise für eine DBA Ansicht gewährenSELECT
, die der SELECT_CATALOG_ROLE
Rolle zugewiesen wurde. Wenn diese Rolle Ihrem Benutzer nicht bereits direkt mithilfe von with admin option
erteilt wurde, können Sie die Berechtigung nicht übertragen. Wenn Sie über die DBA entsprechende Berechtigung verfügen, können Sie die Rolle direkt einem anderen Benutzer zuweisen.
Im folgenden Beispiel wird die SELECT_CATALOG_ROLE
und EXECUTE_CATALOG_ROLE
an USER1
übertragen. Da der verwendet with
admin option
wird, USER1
kann jetzt Zugriff auf SYS Objekte gewährt werden, denen eine Genehmigung erteilt wurdeSELECT_CATALOG_ROLE
.
GRANT SELECT_CATALOG_ROLE TO
USER1
WITH ADMIN OPTION; GRANT EXECUTE_CATALOG_ROLE toUSER1
WITH ADMIN OPTION;
Objekte, die bereits an PUBLIC
erteilt wurden, müssen nicht erneut erteilt werden. Wenn Sie die Prozedur grant_sys_object
verwenden, um erneut Zugriffsrechte zu erteilen, ist der Prozeduraufruf erfolgreich.