Gewährung SELECT von EXECUTE Rechten für SYS Objekte - Amazon Relational Database Service

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

p_obj_name

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 DBA_OBJECTS. Die meisten Systemobjekte sind in Großbuchstaben definiert. Daher empfehlen wir Ihnen, zuerst diese Schreibweise zu verwenden.

p_grantee

varchar2

Ja

Der Name des Objekts, dem die Sonderrechte erteilt werden sollen. Das Objekt kann ein Schema oder eine Rolle sein.

p_privilege

varchar2

Null

Ja

p_grant_option

Boolean

false

Nein

Setzen Sie diesen Wert auf true, um ihn mit der Genehmigungsoption zu verwenden.

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