... Rollen verwalten



Ähnliche Dokumente
INDEX. Öffentliche Ordner erstellen Seite 2. Offline verfügbar einrichten Seite 3. Berechtigungen setzen Seite 7. Öffentliche Ordner Offline

Die neue Datenraum-Center-Administration in. Brainloop Secure Dataroom Service Version 8.30

... Kontrolldatei administrieren

VIDA ADMIN KURZANLEITUNG

OP-LOG

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten

Step by Step Webserver unter Windows Server von Christian Bartl

Anleitung Captain Logfex 2013

Aktivieren von Onlinediensten im Volume Licensing Service Center

Anti-Botnet-Beratungszentrum. Windows XP in fünf Schritten absichern

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

S TAND N OVEMBE R 2012 HANDBUCH DUDLE.ELK-WUE.DE T E R M I N A B S P R A C H E N I N D E R L A N D E S K I R C H E

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

Mobilgeräteverwaltung

Lehrer: Einschreibemethoden

Tutorial: Wie nutze ich den Mobile BusinessManager?

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin

Kurzanleitung OOVS. Reseller Interface. Allgemein

VERWALTUNG. Postfächer, Autoresponder, Weiterleitungen, Aliases. Bachstraße 47, 3580 Mödring

Handbuch B4000+ Preset Manager

Kostenstellen verwalten. Tipps & Tricks

Zur Bestätigung wird je nach Anmeldung (Benutzer oder Administrator) eine Meldung angezeigt:

Aufrufen des Konfigurators über eine ISDN- Verbindung zur T-Eumex 628. Eine neue ISDN-Verbindung unter Windows XP einrichten

Brainloop Dox Häufig gestellte Fragen

Dokumentation für das Web-basierte Abkürzungsverzeichnis (Oracle mod_plsql / Apache)

Inhaltsverzeichnis Inhaltsverzeichnis

MSDE 2000 mit Service Pack 3a

M-net -Adressen einrichten - Apple iphone

SANDBOXIE konfigurieren

Einrichtung der Bankverbindung in der VR-NetWorld Software mit dem PIN/TAN-Verfahren (VR-Kennung)

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER

Anleitung für die Version von online 1. Schritt: Rufen Sie die Website auf...

Benutzerverwaltung Business- & Company-Paket

Hilfe bei Adobe Reader. Internet Explorer 8 und 9

Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge

Erstellen von Mailboxen

Einfache und effiziente Zusammenarbeit in der Cloud. EASY-PM Office Add-Ins Handbuch

Online-Prüfungs-ABC. ABC Vertriebsberatung GmbH Bahnhofstraße Neckargemünd

1 Einleitung. Lernziele. Symbolleiste für den Schnellzugriff anpassen. Notizenseiten drucken. eine Präsentation abwärtskompatibel speichern

Exchange Export. Mailbox Export

Seite 1 von 14. Cookie-Einstellungen verschiedener Browser


Erstellen eines Formulars

Adminer: Installationsanleitung

Installation und Sicherung von AdmiCash mit airbackup

6.1.2 Beispiel 118: Kennwort eines Benutzers ändern

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

Administration des Institut Shares

Wie kann ich meine Daten importieren? Wie kann ich meine Profile verwalten?

Übersicht... 2 Dateiupload... 3 Administratorfunktionen... 4

Berechtigungen im Kalender Anleitung für die Rechtevergabe im Outlook Kalender FHNW, Services, ICT

Das nachfolgende Konfigurationsbeispiel geht davon aus, dass Sie bereits ein IMAP Postfach eingerichtet haben!

Powerline Netzwerk SICHERHEITS EINSTELLUNGEN. ALL1683 USB Adapter. und. ALL1682 Ethernet bridge. ALLNET Powerline Configuration Utility

GEORG.NET Anbindung an Ihr ACTIVE-DIRECTORY

Anleitung zum Login. über die Mediteam- Homepage und zur Pflege von Praxisnachrichten

Anleitung für den Zugriff auf Mitgliederdateien der AG-KiM

KURZANLEITUNG CYBERDUCK MIT CLOUD OBJECT STORAGE

Kulturobjekte der Donau Das ContentManagementSystem (CMS)

(im Rahmen der Exchange-Server-Umstellung am )

Teamlike Administratorenhandbuch

Userguide: WLAN Nutzung an der FHH Hannover Fakultät V

Musterlösung für Schulen in Baden-Württemberg. Windows Basiskurs Windows-Musterlösung. Version 3. Stand:

Benutzeranleitung Superadmin Tool

System-Update Addendum

Wie richten Sie Ihr Web Paket bei Netpage24 ein

IAWWeb PDFManager. - Kurzanleitung -

Einführung Inhaltsverzeichnis

Einführung... 3 MS Exchange Server MS Exchange Server 2007 Jounraling für Mailboxdatabase... 6 MS Exchange Server 2007 Journaling für

Installieren von Microsoft Office Version 2.1

ReynaPro EOS manual. ReynaPro EOS Manual Reynaers Aluminium NV 1

Inhalt. meliarts. 1. Allgemeine Informationen Administration Aufruf Das Kontextmenü Vorlagen...

Lernprogramm "Veröffentlichen von WMS- Services"

Benutzerkonto unter Windows 2000

Dem DSB stehen folgende Basisfunktionen zur Verfügung:

Mobile Banking App Bedienungsanleitung

Ihr Benutzerhandbuch für das IntelliWebs - Redaktionssystem

Version 1.0 [Wiederherstellung der Active Directory] Stand: Professionelle Datensicherung mit SafeUndSave.com. Beschreibung.

Information zum SQL Server: Installieren und deinstallieren. (Stand: September 2012)

Kleines Handbuch zur Fotogalerie der Pixel AG

Verbinden von IBM Informix mit Openoffice mittels JDBC

Handbuch. Anlegen von Vermittlern, Gruppen und Anwendern. 1. Auflage. (Stand: )

Um dies zu tun, öffnen Sie in den Systemeinstellungen das Kontrollfeld "Sharing". Auf dem Bildschirm sollte folgendes Fenster erscheinen:

Zugriff auf OWA Auf OWA kann über folgende URLs zugegriffen werden:

Warenwirtschaft Handbuch - Administration

KURZANLEITUNG CLOUD OBJECT STORAGE

Installation des Authorware Webplayers für den Internet Explorer unter Windows Vista

Anleitung zum erfassen von Last Minute Angeboten und Stellenangebote

Durchführung der Datenübernahme nach Reisekosten 2011

Faktura. IT.S FAIR Faktura. Handbuch. Dauner Str.12, D Mönchengladbach, Hotline: 0900/ (1,30 /Min)

Anleitung Inspector Webfex 2013

Installationsanleitung Webhost Windows Flex

SafeRun-Modus: Die Sichere Umgebung für die Ausführung von Programmen

Client-Systemanforderungen für Brainloop Secure Dataroom ab Version 8.30

NOXON Connect Bedienungsanleitung Manual

MailUtilities: Remote Deployment - Einführung

Diese Anleitung enthält Anweisungen, die nur durch erfahrene Anwender durchgeführt werden sollten!

1. fe.logon. 1.1 Konfigurationsprogramm SetLogonParams

WLAN mit WPA (wpa4fh)

Transkript:

19... Rollen verwalten

Lektion 19: Rollen verwalten Ziele Ziele Nach dieser Lektion sollten Sie Folgendes können: Rollen anlegen und ändern Verfügbarkeit von Rollen steuern Rollen löschen Vordefinierte Rollen verwenden Rollen-Informationen aus dem Data Dictionary ausgeben 19-2 Copyright Oracle Corporation, 1999. All rights reserved. 19-2 Oracle8i Datenbankadministration Teil I

Überblick Überblick Rollen Benutzer A B C Rollen HR_MGR HR_CLERK Privilegien SELECT ON EMP INSERT ON EMP CREATE TABLE CREATE SESSION UPDATE ON EMP 19-3 Copyright Oracle Corporation, 1999. All rights reserved. Was ist eine Rolle? Oracle bietet mit Rollen eine einfache und sichere Privilegienverwaltung. Rollen sind benannte Gruppen von zusammengehörenden Privilegien, die an andere Benutzer oder andere Rollen vergeben werden können. Sie vereinfachen die Verwaltung von Privilegien in der Datenbank. Eigenschaften von Rollen werden mit denselben Befehlen wie System-Privilegien an Benutzer vergeben und Benutzern entzogen können an Benutzer oder andere Rollen vergeben werden, außer sich selbst (auch nicht indirekt) können aus System- und Objekt-Privilegien bestehen können für jeden Benutzer, der die Rolle zugewiesen hat, aktiviert oder deaktiviert werden können Passwörter zum Aktivieren benötigen der Name einer Rolle muss innerhalb der bestehenden Benutzernamen und Rollennamen eindeutig sein haben keinen Eigentümer; gehören in kein Schema Rollen-Beschreibungen werden im Data Dictionary gespeichert Oracle8i Datenbankadministration Teil I 19-3

Lektion 19: Rollen verwalten Vorteile von Rollen Vereinfachte Vergabe von Privilegien Dynamische Privilegienverwaltung Selektive Verfügbarkeit von Privilegien Vergabe durch das Betriebssystem Kein kaskadierendes Entziehen von Privilegien Verbesserte Performance 19-4 Copyright Oracle Corporation, 1999. All rights reserved. Vergabe von Privilegien vereinfachen Verwenden Sie Rollen, um die Privilegienverwaltung zu vereinfachen. Sie müssen nicht immer wieder dieselben Privilegien an mehrere Benutzer vergeben, sondern vergeben die Privilegien an eine Rolle und vergeben dann die Rolle an die Benutzer. Dynamische Privilegienverwaltung Wenn die zu einer Rolle gehörenden Privilegien geändert werden, erhalten alle Benutzer, denen die Rolle zugewiesen wurde, automatisch und sofort die geänderten Privilegien. Selektive Verfügbarkeit von Privilegien Rollen können aktiviert und deaktiviert werden, um Privilegien temporär ein- oder auszuschalten. Mit dem Aktivieren einer Rolle können Sie auch überprüfen, ob diese Rolle an einen Benutzer vergeben wurde. Vergabe durch das Betriebssystem Sie können mit Befehlen oder Utilities des Betriebssystems Rollen an Benutzer in der Datenbank zuweisen. Kein kaskadierendes Entziehen von Privilegien Objekt-Privilegien können entzogen werden, ohne dass Privilegien kaskadierend entzogen werden. 19-4 Oracle8i Datenbankadministration Teil I

Überblick Verbesserte Performance Wenn Rollen deaktiviert werden, müssen weniger Privilegien beim Ausführen einer Anweisung überprüft werden. Die Verwendung von Rollen verringert die Anzahl der Grant-Einträge, die im Data Dictionary gespeichert sind. Oracle8i Datenbankadministration Teil I 19-5

Lektion 19: Rollen verwalten Rollen anlegen und ändern Rollen anlegen CREATE ROLE sales_clerk; CREATE ROLE hr_clerk IDENTIFIED BY bonus; CREATE ROLE hr_manager IDENTIFIED EXTERNALLY; 19-5 Copyright Oracle Corporation, 1999. All rights reserved. Syntax Mit dem folgenden Befehl legen Sie eine Rolle an CREATE ROLE role [NOT IDENTIFIED IDENTIFIED {BY password EXTERNALLY }] mit: role Name der Rolle NOT IDENTIFIED es wird keine Überprüfung durchgeführt, wenn die Rolle aktiviert wird IDENTIFIED es wird eine Überprüfung durchgeführt, wenn die Rolle aktiviert wird BY password Passwort, das der Benutzer zum Aktivieren der Rolle eingeben muss EXTERNALLY der Benutzer wird beim Aktivieren der Rolle von einem externen Service überprüft (Betriebssystem oder Service eines Dritt- Anbieters) 19-6 Oracle8i Datenbankadministration Teil I

Rollen anlegen und ändern So legen Sie mit dem Oracle Enterprise Manager eine Rolle an 1 Starten Sie den Security Manager und melden Sie sich direkt bei der Datenbank an: Start >Programs >Oracle - EMV2 Home >DBA Management Pack >Security Manager 2 Geben Sie die Anmelde-Informationen ein und klicken Sie OK. 3 Wählen Sie den Ordner Roles. Wählen Sie Create aus dem Kontext-Menü, das Sie mit der rechten Maustaste anzeigen. 4 Geben Sie den Namen der Rolle ein und wählen Sie die Identifizierungsmethode. 5 Optional können Sie Rollen und Privilegien an die neue Rolle vergeben, indem Sie die Register Roles, System Privileges oder Object Privileges anklicken (wurde in einer früheren Lektion bereits behandelt). 6 Klicken Sie Create. Hinweis: Der Befehl CREATE ROLE IDENTIFIED GLOBALLY legt fest, dass die Überprüfung von Rollen vom Oracle Security Server durchgeführt wird. Der Oracle Security Server ist ein Sicherheits-Produkt, mit dem Sie Rollen und Benutzer in einer verteilten Umgebung von Oracle zentral einrichten können. Benutzer und Rollen, die mit dem Oracle Security Server definiert werden, können übergreifend über mehrere Datenbanken verwendet werden. Diese Benutzer und Rollen werden globale Benutzer bzw. globale Rollen genannt. Weitere Informationen finden Sie im Handbuch Oracle8i Server Distributed Database Systems. Oracle8i Datenbankadministration Teil I 19-7

Lektion 19: Rollen verwalten Vordefinierte Rollen verwenden Rollen-Name Beschreibung CONNECT, Diese beiden Rollen werden für RESOURCE Abwärtskompatibilität angeboten. DBA Alle System-Privilegien mit WITH ADMIN OPTION EXP_FULL_DATABASE Privilegien zum Exportieren der Datenbank IMP_FULL_DATABASE Privilegien zum Importieren der Datenbank DELETE_CATALOG_ROLE DELETE-Privilegien auf Data Dictionary-Tabellen EXECUTE_CATALOG_ROLE EXECUTE-Privilegien auf Data Dictionary Packages SELECT_CATALOG_ROLE SELECT-Privilegien auf Data Dictionary-Tabellen 19-6 Copyright Oracle Corporation, 1999. All rights reserved. Vordefinierte Rollen Die aufgeführten Rollen sind automatisch für Oracle Datenbanken definiert. Die Rollen CONNECT und RESOURCE werden zur Abwärtskompatibilität zu früheren Versionen von Oracle angeboten. Sie können auf die gleiche Weise geändert werden, wie die anderen Rollen einer Oracle Datenbank. Die Rollen EXP_FULL_DATABASE und IMP_FULL_DATABASE dienen der Vereinfachung beim Aufruf der Import- und Export-Utilities. Die Rollen DELETE_CATALOG_ROLE, EXECUTE_CATALOG_ROLE und SELECT_CATALOG_ROLE dienen dem Zugriff auf Data Dictionary-Views und Packages. Diese Rollen können an Benutzer vergeben werden, die nicht die Rolle DBA besitzen, aber Zugriff auf Views und Tabellen des Data Dictionary benötigen. Andere spezielle Rollen Der Oracle Server legt noch andere Rollen an, die Sie für die Administration der Datenbank autorisieren. Bei vielen Betriebssystemen werden diese Rollen OSOPER und OSDBA genannt. Diese Namen können auf Ihrem Betriebssystem anders lauten. Weitere Rollen werden von SQL-Skripts angelegt, die mit der Datenbank geliefert werden. Zum Beispiel werden die Rollen AQ_ADMINISTRATOR_ROLE und AQ_USER_ROLE durch das Skript dbmsaqad.sql angelegt. Diese Rollen werden von der Funktion Advanced Queuing verwendet. Andere spezielle Rollen (Fortsetzung) Hinweise Auf manchen Plattformen, wie Solaris, erhalten Privilegienempfänger der Rolle 19-8 Oracle8i Datenbankadministration Teil I

Rollen anlegen und ändern RESOURCE explizit auch das Privileg UNLIMITED TABLESPACE, obwohl dieses Privileg nicht der Rolle zugewiesen ist. Sie sollten sich nicht auf diese Rollen verlassen. Es wird empfohlen, dass Sie Ihre eigenen Rollen für die Datenbanksicherheit entwerfen. Diese Rollen werden eventuell von zukünftigen Oracle Server Versionen nicht automatisch angelegt. Oracle8i Datenbankadministration Teil I 19-9

Lektion 19: Rollen verwalten Rollen ändern ALTER ROLE sales_clerk IDENTIFIED BY commission; ALTER ROLE hr_clerk IDENTIFIED EXTERNALLY; ALTER ROLE hr_manager NOT IDENTIFIED; 19-7 Copyright Oracle Corporation, 1999. All rights reserved. Rollen ändern Für eine Rolle kann nur die Berechtigungsmethode geändert werden. Syntax Mit dem folgenden Befehl ändern Sie die Rolle: ALTER ROLE role {NOT IDENTIFIED IDENTIFIED {BY password EXTERNALLY }}; mit: role Name der Rolle NOT IDENTIFIED es wird keine Überprüfung durchgeführt, wenn die Rolle aktiviert wird IDENTIFIED es wird eine Überprüfung durchgeführt, wenn die Rolle aktiviert wird BY password Passwort, das der Benutzer zum Aktivieren der Rolle eingeben muss EXTERNALLY der Benutzer wird beim Aktivieren der Rolle von einem externen Service überprüft (Betriebssystem oder Service eines Dritt- Anbieters) So ändern Sie mit dem Oracle Enterprise Manager eine Rolle 1 Starten Sie den Security Manager und melden Sie sich direkt bei der Datenbank an: Start >Programs >Oracle - EMV2 Home >DBA Management Pack >Security Manager 19-10 Oracle8i Datenbankadministration Teil I

Rollen anlegen und ändern 2 Geben Sie die Anmelde-Informationen ein und klicken Sie OK. 3 Erweitern Sie den Ordner Roles. 4 Wählen Sie die Rolle. 5 Bestimmen Sie die Identifizierungsmethode. 6 Klicken Sie Apply. Oracle8i Datenbankadministration Teil I 19-11

Lektion 19: Rollen verwalten Rollen zuweisen Rollen zuweisen GRANT sales_clerk TO scott; GRANT hr_clerk, TO hr_manager; GRANT hr_manager TO scott WITH ADMIN OPTION; 19-8 Copyright Oracle Corporation, 1999. All rights reserved. Syntax Sie weisen einem Benutzer ein Rolle mit dem gleichen Befehl zu, mit dem ein System- Privileg an einen Benutzer vergeben wird: GRANT role [, role ]... TO {user role PUBLIC} [, {user role PUBLIC} ]... [WITH ADMIN OPTION] mit: role Rolle, die vergeben wird oder Rolle, die die zu vergebende Rolle erhält user Benutzer, der die Rolle erhält role Rolle, die die Rolle erhält PUBLIC vergibt die Rolle an alle Benutzer WITH ADMIN OPTION erlaubt dem Berechtigungsempfänger, die Rolle an andere Benutzer oder Rollen weiterzugeben. Wenn Sie eine Rolle mit dieser Option vergeben, kann der Berechtigungsempfänger die Rollen an andere Benutzer vergeben und sie entziehen, ändern oder löschen. 19-12 Oracle8i Datenbankadministration Teil I

Rollen zuweisen Dem Benutzer, der eine Rolle anlegt, wird implizit die Rolle mit ADMIN OPTION zugewiesen. Ein Benutzer, der eine Rolle nicht mit ADMIN OPTION erhalten hat, benötigt das System-Privileg GRANT ANY ROLE, um Rollen an andere Benutzerr zu vergeben und sie zu entziehen. So weisen Sie mit dem Oracle Enterprise Manager eine Rolle zu 1 Starten Sie den Security Manager und melden Sie sich direkt bei der Datenbank an Start >Programs >Oracle - EMV2 Home >DBA Management Pack >Security Manager 2 Geben Sie die Anmelde-Informationen ein und klicken Sie Ok. 3 Erweitern Sie die Ordner Users oder Roles. 4 Wählen Sie den Benutzer oder die Rolle. 5 Wählen Sie das Register Role oder System Privileges. 6 Wählen Sie die Rolle, die vergeben werden soll. 7 Klicken Sie auf den Pfeil nach unten, um die Rolle zur Liste der vergebenen Rollen hinzuzufügen. 8 Sie können, wenn nötig, weitere Rollen hinzufügen. 9 Klicken Sie Apply. Oracle8i Datenbankadministration Teil I 19-13

Lektion 19: Rollen verwalten Verfügbarkeit von Rollen steuern Default-Rollen einrichten ALTER USER scott DEFAULT ROLE hr_clerk, sales_clerk; ALTER USER scott DEFAULT ROLE ALL; ALTER USER scott DEFAULT ROLE ALL EXCEPT hr_clerk; ALTER USER scott DEFAULT ROLE NONE; 19-9 Copyright Oracle Corporation, 1999. All rights reserved. Default-Rollen Einem Benutzer können viele Rollen zugewiesen sein. Eine Default-Rolle ist eine Untermenge dieser Rollen, die automatisch eingeschaltet ist, wenn sich der Benutzer anmeldet. Defaultmäßig werden beim Anmelden alle Rollen eingeschaltet, die dem Benutzer zugewiesen sind. Mit dem Befehl ALTER USER begrenzen Sie die Default- Rollen für einen Benutzer. Syntax Mit folgendem Befehl weisen Sie einem Benutzer Default-Rollen zu: ALTER USER user DEFAULT ROLE {role [,role]... ALL [EXCEPT role [,role]... ] NONE} mit: user Name des Benutzers, an den die Rolle vergeben wird role Default-Rolle für den Benutzer ALL außer den in der Klausel EXCEPT angegebenen Rollen werden alle an den Benutzer vergebenen Rollen Default- Rollen. ALL ist der Defaultwert. EXCEPT legt fest, dass die folgenden Rollen nicht Default-Rollen werden 19-14 Oracle8i Datenbankadministration Teil I

Verfügbarkeit von Rollen steuern Syntax (Fortsetzung) NONE der Benutzer hat keine Default-Rolle. Die einzigen Privilegien, die der Benutzer nach dem Anmelden besitzt, sind die ihm direkt zugeordneten Privilegien. Da die Rollen vergeben sein müssen, bevor sie als Default definiert werden können, können Sie die Default-Rolle nicht mit dem Befehl CREATE USER setzen. Bei Rollen, die mit einem Passwort authentisiert werden, wird das Passwort nicht benötigt, wenn die Rolle eine Default-Rolle ist. So weisen Sie mit dem Oracle Enterprise Manager Default-Rollen zu 1 Starten Sie den Security Manager und melden Sie sich direkt bei der Datenbank an: Start >Programs >Oracle - EMV2 Home >DBA Management Pack >Security Manager 2 Geben Sie die Anmelde-Informationen ein und klicken Sie OK. 3 Erweitern Sie den Ordner Users. 4 Wählen Sie den Benutzer. 5 Wählen Sie das Register Role. 6 Wählen Sie die Default-Rollen in der Spalte Default aus. 7 Klicken Sie Apply. Oracle8i Datenbankadministration Teil I 19-15

Lektion 19: Rollen verwalten Rollen aktivieren und deaktivieren Deaktivieren Sie eine Rolle, um die Rollen einen Benutzer temporär zu entziehen. Aktivieren Sie eine Rolle, um sie temporär zu vergeben. Der Befehl SET ROLE aktiviert und deaktiviert Rollen. Default-Rollen für Benutzer werden beim Anmelden aktiviert. Ein Passwort kann für das Aktivieren einer Rolle erforderlich sein. 19-10 Copyright Oracle Corporation, 1999. All rights reserved. Rollen aktivieren und deaktivieren ssie können Rollen aktivieren und deaktivieren, um temporär die mit den Rollen verbundenen Privilegien verfügbar zu machen oder sie einzuschränken. Eine Rolle muss zuerst an einen Benutzer vergeben sein, bevor sie aktiviert werden kann. Wenn eine Rolle aktiviert ist, kann der Benutzer die Privilegien verwenden, die an die Rolle vergeben sind. Wenn eine Rolle deaktiviert ist, kann der Benutzer die an die Rolle vergebenen Privilegien nicht verwenden, außer das Privileg wurde an den Benutzer direkt vergeben oder an eine andere aktivierte Rolle des Benutzers. Rollen werden für eine Session aktiviert. Bei der nächsten Session sind die Default-Rollen wieder die aktiven Rollen des Benutzers. Rollen zum Aktivieren angeben Der Befehl SET ROLE und die Prozedur DBMS_SESSION.SET_ROLE aktivieren alle im Befehl angegebenen Rollen und deaktivieren alle anderen Rollen. Rollen können von jedem Werkzeug oder Programm aktiviert werden, das PL/SQL-Befehle erlaubt; eine Rolle kann jedoch in einer gespeicherten Prozedur nicht aktiviert werden. Mit dem Befehl ALTER USER...DEFAULT ROLE können Sie die Rollen angeben, die für einen Benutzer beim Anmelden aktiviert werden. Alle anderen Rollen sind deaktiviert. Ein Passwort kann für das Aktivieren einer Rolle erforderlich sein. Das Passwort muss im Befehl SET ROLE angegeben werden, um die Rolle zu aktivieren. Default-Rollen eines Benutzers benötigen kein Passwort; sie werden beim Anmelden aktiviert, genauso wie Rollen ohne Passwort. 19-16 Oracle8i Datenbankadministration Teil I

Verfügbarkeit von Rollen steuern Einschränkungen Eine Rolle kann nicht aus einer gespeicherten Prozedur aktiviert werden, da diese Aktion möglicherweise die Sicherheitsdomäne ändert (Menge von Privilegien), die den Aufruf der Prozedur erlaubt. In PL/SQL können also Rollen in anonymen Blöcken und Anwendungs-Prozeduren (z.b. Prozeduren von Oracle Forms) aktiviert und deaktiviert werden, aber nicht in gespeicherten Prozeduren. Wenn eine gespeicherte Prozedur den Befehl SET ROLE enthält, wird zur Laufzeit folgender Fehler erzeugt: ORA-06565: cannot execute SET ROLE from within stored procedure Oracle8i Datenbankadministration Teil I 19-17

Lektion 19: Rollen verwalten Rollen aktivieren und deaktivieren: Beispiele SET ROLE hr_clerk; SET ROLE sales_clerk IDENTIFIED BY commission; SET ROLE ALL EXCEPT sales_clerk; SET ROLE NONE; 19-11 Copyright Oracle Corporation, 1999. All rights reserved. Syntax Mit dem folgenden Befehl aktivieren oder deaktivieren Sie Rollen: SET ROLE {role [ IDENTIFIED BY PASSWORD ] [, role [ IDENTIFIED BY PASSWORD ]]... ALL [ EXCEPT role [, role ]...] NONE } Der Befehl SET ROLE schaltet alle anderen, an den Benutzer vergebenen Rollen aus. mit: role Name der Rolle IDENTIFIED BY password Passwort, das der Benutzer zum Aktivieren der Rolle eingeben muss ALL außer den in der Klausel EXCEPT angegebenen Rollen werden alle an den Benutzer vergebenen Rollen aktiviert. Sie können mit dieser Option keine Rollen mit Passwort aktivieren. EXCEPT role legt fest, dass die folgenden Rollen nicht aktiviert werden NONE keine an den Benutzer vergebene Rolle wird Default-Rolle. Nur Privilegien, die direkt an den Benutzer vergeben wurden, sind beim Anmelden aktiv. Die Option ALL ohne die Klausel EXCEPT funktioniert nur, wenn keine der zu aktivierenden Rollen ein Passwort besitzt. 19-18 Oracle8i Datenbankadministration Teil I

Verfügbarkeit von Rollen steuern Benutzern Rollen entziehen REVOKE sales_clerk FROM scott; REVOKE hr_manager FROM PUBLIC; 19-12 Copyright Oracle Corporation, 1999. All rights reserved. Syntax Sie entziehen eine Rollen einem Benutzer mit dem gleichen Befehl, mit dem ein System-Privileg einem Benutzer entzogen wird: REVOKE role [, role ]... FROM {user role PUBLIC} [, {user role PUBLIC} ]... mit: role Rolle, die entzogen wird oder Rolle, von der Rollen entzogen werden user Benutzer, dem die System-Privilegien oder Rollen entzogen werden PUBLIC entzieht das Privileg oder die Rolle allen Benutzern So entziehen Sie mit dem Oracle Enterprise Manager eine Rolle 1 Starten Sie den Security Manager und melden Sie sich direkt an der Datenbank an: Start >Programs >Oracle - EMV2 Home >DBA Management Pack >Security Manager 2 Geben Sie die Anmelde-Informationen ein und klicken Sie OK. 3 Erweitern Sie den Ordner Users oder Roles. 4 Wählen Sie den Benutzer oder die Rollen. 5 Wählen Sie das Register Roles oder System Privileges. 6 Wählen Sie unter Granted die Rollen, die Sie entziehen wollen. Oracle8i Datenbankadministration Teil I 19-19

Lektion 19: Rollen verwalten 7 Klicken Sie auf den Pfeil nach oben, um die Rolle aus der Liste der vergebenen Rollen zu entfernen. 8 Klicken Sie Apply. 19-20 Oracle8i Datenbankadministration Teil I

Verfügbarkeit von Rollen steuern Rollen löschen DROP ROLE hr_manager; 19-13 Copyright Oracle Corporation, 1999. All rights reserved. Syntax Sie können mit dem folgenden Befehl eine Rolle aus der Datenbank entfernen: DROP ROLE role mit: role Rolle, die entfernt wird Wenn Sie eine Rolle löschen, entzieht der Oracle Server die Rolle allen Benutzern und Rollen, an die sie vergeben wurde und entfernt sie aus der Datenbank. Um eine Rolle löschen zu können, müssen Sie die Rolle mit ADMIN OPTION erhalten haben oder das System-Privileg DROP ANY ROLE besitzen. So entfernen Sie mit dem Oracle Enterprise Manager eine Rolle 1 Starten Sie den Security Manager und melden Sie sich direkt bei der Datenbank an: Start >Programs >Oracle - EMV2 Home >DBA Management Pack >Security Manager 2 Geben Sie die Anmelde-Informationen ein und klicken Sie OK. 3 Erweitern Sie den Ordner Roles. 4 Wählen Sie die Rolle. 5 Wählen Sie Object >Remove. 6 Bestätigen Sie die Dialogbox mit Yes. Oracle8i Datenbankadministration Teil I 19-21

Lektion 19: Rollen verwalten Richtlinien zum Anlegen von Rollen Benutzer Benutzer- Rollen HR_CLERK HR_MANAGER PAY_CLERK Anwendungs- Rollen BENEFITS PAYROLL Anwendungs- Privilegien Privilegien für BENEFITS Privilegien für PAYROLL 19-14 Copyright Oracle Corporation, 1999. All rights reserved. Richtlinien zum Anlegen von Rollen Da Rollen Privilegien für das Ausführen von Aufgaben enthalten, wird als Name der Rollen üblicherweise die Anwendungsaufgabe oder der Job-Titel verwendet. Das obige Beispiel verwendet sowohl Anwendungsaufgaben als auch Job-Titel für die Rollennamen. 1 Legen Sie eine Rolle für jede Anwendungsaufgabe an. Der Name der Anwendungsrolle entspricht einer Aufgabe der Anwendung, wie PAYROLL (Lohnliste). 2 Weisen Sie der Anwendungsrolle die nötigen Privilegien zu, um die Aufgaben der Anwendungsrolle ausführen zu können. 3 Legen Sie für jeden Benutzertyp eine Rolle an. Der Name der Benutzerrolle entspricht einem Job-Titel, wie PAY_CLERK (Lohnabrechnung). 4 Vergeben Sie an Benutzerrollen nur Anwendungsrollen, keine individuellen Privilegien. 5 Vergeben Sie Benutzer- und Anwendungsrollen an Benutzer. Wenn eine Änderung der Anwendung neue Privilegien erfordert, um die Aufgabe Lohnliste durchzuführen, muss der DBA die neuen Privilegien nur der Anwendungsrolle PAYROLL zuweisen. Alle Benutzer, die aktuell diese Aufgabe durchführen, erhalten die neuen Privilegien. 19-22 Oracle8i Datenbankadministration Teil I

Verfügbarkeit von Rollen steuern Richtlinien für die Verwendung von Passwörtern und Default-Rollen Passwort-geschützte Nicht-Default-Rolle Default-Rolle PAY_CLERK PAY_CLERK_RO INSERT-, UPDATE-, DELETE- und SELECT-Privilegien 19-15 Copyright Oracle Corporation, 1999. All rights reserved. SELECT-Privilegien Passwörter verwenden Passwörter bieten zusätzliche Sicherheit, wenn eine Rolle aktiviert wird. Zum Beispiel kann eine Anwendung von einem Benutzer ein Passwort verlangen, wenn die Rolle PAY_CLERK aktiviert wird, da diese Rolle zum Ausstellen von Schecks verwendet wird. Passwörter ermöglichen es, dass eine Rolle nur über eine Anwendung aktiviert wird. Diese Methode wird im obigen Beispiel gezeigt. Der DBA hat den Benutzern zwei Rollen zugewiesen, PAY_CLERK und PAY_CLERK_RO. An PAY_CLERK wurden alle Privilegien vergeben, die für die Lohnbuchhaltung benötigt werden. Die Rolle PAY_CLERK_RO (RO für Read-Only) besitzt nur die SELECT- Privilegien auf den Tabellen, die für die Lohnbuchhaltung nötig sind. Der Benutzer kann sich bei SQL*Plus anmelden, um Abfragen durchzuführen, aber er kann die Daten nicht verändern, da PAY_CLERK nicht die Default- Rolle ist und der Benutzer nicht das Passwort für PAY_CLERK kennt. Wenn sich der Benutzer bei der Lohn-Anwendung (payroll) anmeldet, aktiviert diese die Rolle PAY_CLERK mit dem Passwort, das im Programm codiert ist. Der Benutzer wird nicht zur Eingabe des Passworts aufgefordert. Oracle8i Datenbankadministration Teil I 19-23

Lektion 19: Rollen verwalten Informationen über die Rolle anzeigen Informationen über die Rolle anzeigen Rollen-View DBA_ROLES DBA_ROLE_PRIVS ROLE_ROLE_PRIVS DBA_SYS_PRIVS ROLE_SYS_PRIVS ROLE_TAB_PRIVS SESSION_ROLES Beschreibung Alle Rollen in der Datenbank An Benutzer und Rollen zugewiesene Rollen An Rollen zugewiesene Rollen An Benutzer und Rollen zugewiesene System-Privilegien An Rollen zugewiesene System- Privilegien An Rollen zugewiesene Tabellen- Privilegien Rollen, die für den Benutzer aktuell aktiviert sind 19-16 Copyright Oracle Corporation, 1999. All rights reserved. Informationen über die Rolle abfragen Viele der Data Dictionary-Views, die Informationen über Benutzer-Privilegien enthalten, enthalten auch Informationen über Rollen-Privilegien. SQL> SELECT role, password_required FROM dba_roles; ROLE PASSWORD ------------------------------ ----------- CONNECT NO RESOURCE NO DBA NO..... SELECT_CATALOG_ROLE NO EXECUTE_CATALOG_ROLE NO DELETE_CATALOG_ROLE NO IMP_FULL_DATABASE NO EXP_FULL_DATABASE NO SALES_CLERK YES HR_CLERK EXTERNAL 19-24 Oracle8i Datenbankadministration Teil I

Fein-abgestimmte Zugriffskontrolle Fein-abgestimmte Zugriffskontrolle Fein-abgestimmte Zugriffskontrolle Benutzer A B C Richtlinie HR_ACCESS SELECT INSERT ORDERS UPDATE 19-17 Copyright Oracle Corporation, 1999. All rights reserved. Was bedeutet fein-abgestimmte Zugriffskontrolle? Mit der fein-abgestimmten Zugriffskontrolle können Sie Sicherheits-Richtlinien (Policies) mit Funktionen implementieren; diese Sicherheits-Richtlinien weisen Sie dann Tabellen oder Views zu. Die Datenbank erzwingt automatisch die Einhaltung der Sicherheits-Richtlinien, egal wie auf die Daten zugegriffen wird. Sie können: verschiedene Richtlinien verwenden für SELECT, INSERT, UPDATE und DELETE Sicherheits-Richtlinien nur dann verwenden, wenn Sie sie benötigen; zum Beispiel für Abrechnungsinformationen mehr als eine Richtlinie für jede Tabelle verwenden Das PL/SQL-Package DBMS_RLS erlaubt Ihnen die Verwaltung von Sicherheits- Richtlinien. Mit diesem Package können Sie Richtlinien hinzufügen, löschen, aktivieren, deaktivieren und erneuern, die Sie erzeugt haben. Hinweis: Die Implementierung fein-abgestimmter Zugriffskontrolle wird nicht in diesem Kurs behandelt. Oracle8i Datenbankadministration Teil I 19-25

Lektion 19: Rollen verwalten Fein-abgestimmte Zugriffskontrolle: wie sie arbeitet Direkter oder indirekter Zugriff von Benutzern auf Objekte mit einer zugewiesenen Richtlinie (Policy) ruft automatisch die Richtlinie auf. Package der Richtlinie gibt ein Prädikat zurück (eine WHERE-Bedingung). Die Datenbank hängt dynamisch das Prädikat an die SQL-Anweisung an. 19-18 Copyright Oracle Corporation, 1999. All rights reserved. Wie arbeitet die fein-abgestimmte Zugriffskontrolle? Die Implementation der fein-abgestimmten Zugriffskontrolle geschieht durch dynamische Modifikation. Wenn ein Benutzer auf ein Objekt zugreift (direkt oder über eine Unterabfrage), das eine Sicherheits-Richtlinie zugewiesen hat, konsultiert das RDBMS automatisch das Package, das die Richtlinien für diese View oder Tabelle implementiert. Die Richtlinie gibt ein Prädikat (Zugriffsbedingung) zurück, das an die Abfrage angehängt wird. Die Anweisung wird dann geparst, optimiert und ausgeführt. Sind einer Tabelle mehrere Richtlinien zugewiesen, verbindet der Data Server die Prädikate, die jede Richtlinie zurückgibt, mit AND. Zum Beispiel können Sie eine Richtlinie für Abfragen und eine andere für alle anderen DML-Anweisungen (INSERT, UPDATE, DELETE) planen. 19-26 Oracle8i Datenbankadministration Teil I

Zusammenfassung Zusammenfassung Zusammenfassung In dieser Lektion sollten Sie Folgendes gelernt haben: Rollen anlegen Privilegien an Rollen zuweisen Rollen an Benutzer oder Rollen zuweisen Default-Rollen einrichten 19-19 Copyright Oracle Corporation, 1999. All rights reserved. Oracle8i Datenbankadministration Teil I 19-27

Lektion 19: Rollen verwalten Kurzreferenz Kontext Initialisierungsparameter Dynamische Performance-Views Data Dictionary-Views Befehle Prozeduren und Funktionen in Packages Referenz keine keine DBA_ROLES DBA_ROLE_PRIVS DBA_SYS_PRIVS ROLE_ROLE_PRIVS ROLE_SYS_PRIVS ROLE_TAB_PRIVS SESSION_ROLES CREATE_ROLE ALTER ROLE DROP ROLE SET ROLE ALTER USER... DEFAULT ROLES GRANT REVOKE DBMS_SESSION.SET_ROLE 19-28 Oracle8i Datenbankadministration Teil I