Rollen im Vergleich zu Gruppen
Zugriffsrechte und Berechtigungen, die Gruppen erteilt sind, werden bei der Erstellung von Sichten, MQTs (Materialized Query Tables), SQL-Routinen, Triggern und Paketen mit statischem SQL nicht berücksichtigt. Diese Einschränkung kann durch die Verwendung von Rollen anstelle von Gruppen überwunden werden.
Rollen ermöglichen es Benutzern, Datenbankobjekte mit ihren Berechtigungen zu erstellen, die über Rollen angefordert werden, die vom Db2® -Datenbanksystem gesteuert werden. Gruppen und Benutzer werden außerhalb des DB2-Datenbanksystems, zum Beispiel durch das Betriebssystem oder einen LDAP-Server, gesteuert.
Beispiel für das Ersetzen von Gruppen durch Rollen
Das folgende Beispiel zeigt, wie Gruppen durch die Verwendung von Rollen ersetzt werden können.
| Gruppe | Mitglieder der Gruppe |
|---|---|
| DEVELOPER_G | BOB |
| TESTER_G | ALICE, TOM |
| SALES_G | ALICE, BOB |
- Der Sicherheitsadministrator erstellt die Rollen DEVELOPER, TESTER und SALES, die an Stelle der Gruppen
verwendet werden sollen.
CREATE ROLE DEVELOPER CREATE ROLE TESTER CREATE ROLE SALES - Der Sicherheitsadministrator erteilt Benutzern die Zugehörigkeit zu diesen Rollen (die Festlegung der
Mitgliedschaft von Benutzern in Gruppen lag in der Zuständigkeit des Systemadministrators):
GRANT ROLE DEVELOPER TO USER BOB GRANT ROLE TESTER TO USER ALICE, USER TOM GRANT ROLE SALES TO USER BOB, USER ALICE - Der Datenbankadministrator kann den Rollen ähnliche Zugriffsrechte oder Berechtigungen erteilen, wie sie
auch die Gruppen hatten. Beispiel:
Der Datenbankadministrator kann anschließend den Gruppen diese Zugriffsrechte entziehen und den Systemadministrator bitten, die Gruppen aus dem System zu entfernen.GRANT privilege ON object TO ROLE DEVELOPER
Beispiel für das Erstellen eines Triggers mit den durch eine Rolle erteilten Zugriffsrechten
Dieses Beispiel zeigt, dass der Benutzer BOB einen Trigger (TRG1) erfolgreich erstellen kann, wenn er das erforderliche Zugriffsrecht durch die Rolle DEVELOPER besitzt.
- Zunächst erstellt die Benutzerin ALICE die Tabelle WORKITEM:
CREATE TABLE WORKITEM (x int) - Anschließend wird das Zugriffsrecht ALTER zum Ändern der Tabelle der Benutzerin ALICE vom
Datenbankadministrator der Rolle DEVELOPER erteilt.
GRANT ALTER ON ALICE.WORKITEM TO ROLE DEVELOPER - Der Benutzer BOB kann den Trigger TRG1 erfolgreich erstellen, weil er die Zugehörigkeit
zur Rolle DEVELOPER besitzt.
CREATE TRIGGER TRG1 AFTER DELETE ON ALICE.WORKITEM FOR EACH STATEMENT MODE DB2SQL INSERT INTO ALICE.WORKITEM VALUES (1)
Hinweise
- Rollen, die Gruppen erteilt sind, werden nicht berücksichtigt.