FirebirdSQL logo

Wer kann eine Rolle erstellen?

Die CREATE ROLE-Anweisung kann ausgeführt werden durch:

  • Administratoren

  • Benutzer mit dem Privileg CREATE ROLE, mit den folgenden Einschränkungen

    • Das Setzen von Systemprivilegien erfordert auch das Systemprivileg CREATE_PRIVILEGED_ROLES

Der Benutzer, der die CREATE ROLE-Anweisung ausführt, wird Eigentümer der Rolle.

CREATE ROLE-Beispiele

Erstellen einer Rolle namens SELLERS
CREATE ROLE SELLERS;
Erstellen einer Rolle SELECT_ALL mit dem Systemprivileg, aus einem beliebigen auswählbaren Objekt auszuwählen
CREATE ROLE SELECT_ALL
  SET SYSTEM PRIVILEGES TO SELECT_ANY_OBJECT_IN_DATABASE;

docnext count = 6

ALTER ROLE

Verwendet für

Ändern einer Rolle

Verfügbar in

DSQL

Syntax
ALTER ROLE rolename
 { SET SYSTEM PRIVILEGES TO <sys_privileges>
 | DROP SYSTEM PRIVILEGES
 | {SET | DROP} AUTO ADMIN MAPPING }

<sys_privileges> ::=
  !! Siehe auch [fblangref40-security-role-create-de] !!
Table 1. ALTER ROLE-Anweisungsparameter
Parameter Beschreibung

rolename

Rollenname;die Angabe von etwas anderem als RDB$ADMIN schlägt fehl

sys_privilege

Zu erteilendes Systemprivileg

ALTER ROLE kann verwendet werden, um einer Rolle Systemberechtigungen zu erteilen oder zu entziehen, oder die Fähigkeit für Windows-Administratoren zu aktivieren und zu deaktivieren, administrator-privilegien beim Anmelden automatisch anzunehmen.

Diese letzte Fähigkeit kann nur eine Rolle betreffen: die vom System generierte Rolle RDB$ADMIN, die in jeder Datenbank von ODS 11.2 oder höher vorhanden ist.

Einzelheiten zur automatischen Administratorzuordnung finden Sie unter AUTO ADMIN MAPPING.

Es ist nicht möglich, Systemprivilegien selektiv zu erteilen oder zu entziehen.Nur die Berechtigungen, die in der SET SYSTEM PRIVILEGES-Klausel aufgelistet sind, stehen der Rolle nach dem Commit zur Verfügung, und DROP SYSTEM PRIVILEGES entfernt alle Systemberechtigungen von dieser Rolle.

Wer kann eine Rolle ändern?

Die ALTER ROLE-Anweisung kann ausgeführt werden durch:

  • Administratoren

  • Benutzer mit dem Privileg ALTER ANY ROLE, mit den folgenden Einschränkungen

    • Das Setzen oder Löschen von Systemprivilegien erfordert auch das Systemprivileg CREATE_PRIVILEGED_ROLES

    • Das Setzen oder Löschen der automatischen Admin-Zuordnung erfordert auch das Systemprivileg CHANGE_MAPPING_RULES

ALTER ROLE-Beispiele

Löschen Sie alle Systemberechtigungen einer Rolle namens SELECT_ALL
ALTER ROLE SELLERS
  DROP SYSTEM PRIVILEGES;
Gewähren Sie einer Rolle SELECT_ALL das Systemprivileg, um aus einem beliebigen auswählbaren Objekt auszuwählen
ALTER ROLE SELECT_ALL
  SET SYSTEM PRIVILEGES TO SELECT_ANY_OBJECT_IN_DATABASE;

DROP ROLE

Verwendet für

Eine Rolle löschen

Verfügbar in

DSQL, ESQL

Syntax
DROP ROLE rolename

Die Anweisung DROP ROLE löscht eine bestehende Rolle.Es braucht nur ein einziges Argument, den Namen der Rolle.Nachdem die Rolle gelöscht wurde, wird allen Benutzern und Objekten, denen die Rolle gewährt wurde, der gesamte Satz von Berechtigungen entzogen.

Wer kann eine Rolle löschen?

Die DROP ROLE-Anweisung kann ausgeführt werden durch:

  • Administratoren

  • Der Besitzer der Rolle

  • Benutzer mit dem DROP ANY ROLE-Privileg

DROP ROLE-Beispiele

Löschen der Rolle SELLERS
DROP ROLE SELLERS;