Benutzerverwaltung, Sichten und Datenintegrität



Ähnliche Dokumente
Benutzeranleitung Superadmin Tool

3.17 Zugriffskontrolle

Bedingungen über Werte Statische Integrität. CHECK-Klausel

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin

Benutzerverwaltung Business- & Company-Paket

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo.

FastViewer Remote Edition 2.X

Handbuch SyCOM Administration

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München

Installationsanleitung Webhost Windows Flex

Alle alltäglichen Aufgaben können auch über das Frontend durchgeführt werden, das in den anderen Anleitungen erläutert wird.

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

Adminer: Installationsanleitung

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten

Universität Duisburg-Essen Informationssysteme Prof. Dr.-Ing. N. Fuhr. Praktikum Datenbanken / DB2 Woche 8: Trigger, SQL-PL

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

Infinigate (Schweiz) AG. Secure Guest Access. - Handout -

Anbindung des eibport an das Internet

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

Bedienungsanleitung für den Online-Shop

Website freiburg-bahai.de

Benutzerverwaltung mit Zugriffsrechteverwaltung (optional)

Individuelle Formulare

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

Kurzanleitung OOVS. Reseller Interface. Allgemein

Anlegen eines SendAs/RecieveAs Benutzer unter Exchange 2003, 2007 und 2010

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

Unterabfragen (Subqueries)

Anleitung Redmine. Inhalt. Seite 1 von 11. Anleitung Redmine

Views in SQL. 2 Anlegen und Verwenden von Views 2

Externe Authentifizierung. Externe Authentifizierung IACBOX.COM. Version Deutsch

Installationsanleitung Webhost Linux Flex

SQL (Structured Query Language) Schemata Datentypen

Installationsanleitung Webhost Windows Compact

Aufklappelemente anlegen

NOXON Connect Bedienungsanleitung Manual

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

Sich einen eigenen Blog anzulegen, ist gar nicht so schwer. Es gibt verschiedene Anbieter. ist einer davon.

Arbeiten mit einem lokalen PostgreSQL-Server

Referenzielle Integrität SQL

Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage

Kleines Handbuch zur Fotogalerie der Pixel AG

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

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

Wie richten Sie Ihr Web Paket bei Netpage24 ein

NTT DATA Helpdesk Benutzerhandbuch

4. BEZIEHUNGEN ZWISCHEN TABELLEN

Professionelle Seminare im Bereich MS-Office

Administrator-Anleitung

Anlegen eines DLRG Accounts

Installationsanleitung Webhost Linux Compact

KURZANLEITUNG CLOUD OBJECT STORAGE

Warenwirtschaft Handbuch - Administration

Fachhochschule Kaiserslautern Labor Datenbanken mit MySQL SS2006 Versuch 1

Oracle: Abstrakte Datentypen:

FTP-Server einrichten mit automatischem Datenupload für

Hilfe zur Urlaubsplanung und Zeiterfassung

Dieser Text beschreibt die Neuerungen von DaNiS und die Vorgehensweise beim DaNiS-Update.

Ein Ausflug zu ACCESS

Wie halte ich Ordnung auf meiner Festplatte?

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

1. Einführung. 2. Die Mitarbeiterübersicht

Benutzerkonto unter Windows 2000

Lehrer: Einschreibemethoden

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

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken.

PHP - Projekt Personalverwaltung. Erstellt von James Schüpbach

HANDBUCH PHOENIX II - DOKUMENTENVERWALTUNG

Hilfedatei der Oden$-Börse Stand Juni 2014

Anleitung über den Umgang mit Schildern

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

Das Starten von Adami Vista CRM

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

Dokumentenverwaltung im Internet

Tragen Sie bitte im Anmeldefeld die Daten ein, die Sie von uns erhalten haben.

STRATO Mail Einrichtung Mozilla Thunderbird

KURZANLEITUNG CYBERDUCK MIT CLOUD OBJECT STORAGE

How to do? Projekte - Zeiterfassung

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

Schnelleinstieg BENUTZER

f Link Datenbank installieren und einrichten

Mail-Account Unimail mit der Einstellungen für Outlook Express 5.0

SAMMEL DEINE IDENTITÄTEN::: NINA FRANK :: :: WINTERSEMESTER 08 09

OP-LOG

ERSTELLEN VON INCENTIVES IM ZANOX NETZWERK

BENUTZERHANDBUCH für. Inhaltsverzeichnis. 1. Anmeldung. 2. Rangliste ansehen. 3. Platzreservierung. 4. Forderungen anzeigen

HILFE Bedienungsanleitung für die Administrationsseite Ihres Online-Shops

Leichte-Sprache-Bilder

Anleitung Redmine. Inhalt. Seite 1 von 11. Anleitung Redmine

Ihre Interessentendatensätze bei inobroker. 1. Interessentendatensätze

ecaros2 - Accountmanager

Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite.

HorstBox (DVA-G3342SD) Anleitung zur Einrichtung der Telefonie

Anwendungsbeispiele Buchhaltung

Outlook-Daten komplett sichern

Updatehinweise für die Version forma 5.5.5

Benutzung der Avid Liquid Edition Schnittplätze an der Universität Innsbruck

Kostenstellen verwalten. Tipps & Tricks

1 Mit einem Convision Videoserver über DSL oder ISDN Router ins Internet

Transkript:

Benutzerverwaltung, Sichten und Einige Vergleiche zwischen MySQL, Oracle und PostgreSQL OStR Michael Dienert, StR Ahmad Nessar Nazar 29. November und 30. November 2011 1 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Inhaltsverzeichnis 1 Benutzer- und Rechteverwaltung Benutzer und Rollen anlegen Rechtevergabe Rechteentzug 2 Sichtveränderung Sichtveränderung in PostgreSQL (RULEs) 3 Statische Integrität Dynamische Integrität durch Trigger 2 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Benutzer und Rollen anlegen Rechtevergabe Rechteentzug Benutzer und Rollen anlegen 3 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Benutzerverwaltung in PostgreSQL Benutzer und Rollen anlegen Rechtevergabe Rechteentzug Mit SQL:1999 können Zugriffsrechte nicht nur einzelnen Benutzern, sondern auch Rollen zugewiesen werden. Dabei sind Rollen als ein Überbegriff zu verstehen, unter dem sowohl Benutzer als auch Gruppen zusammengefasst werden. Eine Rolle kann wiederum Mitglied weiterer Rollen sein. Eine Rolle (oder einen Benutzer) anlegen CREATE ROLE ottbert WITH LOGIN ; Eine Rolle ändern ALTER ROLE ottbert WITH PASSWORD secret ; 4 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Benutzerverwaltung in PostgreSQL Benutzer und Rollen anlegen Rechtevergabe Rechteentzug Mit SQL:1999 können Zugriffsrechte nicht nur einzelnen Benutzern, sondern auch Rollen zugewiesen werden. Dabei sind Rollen als ein Überbegriff zu verstehen, unter dem sowohl Benutzer als auch Gruppen zusammengefasst werden. Eine Rolle kann wiederum Mitglied weiterer Rollen sein. Eine Rolle (oder einen Benutzer) anlegen CREATE ROLE ottbert WITH LOGIN ; Eine Rolle ändern ALTER ROLE ottbert WITH PASSWORD secret ; 4 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Benutzerverwaltung in PostgreSQL Benutzer und Rollen anlegen Rechtevergabe Rechteentzug Mit SQL:1999 können Zugriffsrechte nicht nur einzelnen Benutzern, sondern auch Rollen zugewiesen werden. Dabei sind Rollen als ein Überbegriff zu verstehen, unter dem sowohl Benutzer als auch Gruppen zusammengefasst werden. Eine Rolle kann wiederum Mitglied weiterer Rollen sein. Eine Rolle (oder einen Benutzer) anlegen CREATE ROLE ottbert WITH LOGIN ; Eine Rolle ändern ALTER ROLE ottbert WITH PASSWORD secret ; 4 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Benutzerverwaltung in PostgreSQL Benutzer und Rollen anlegen Rechtevergabe Rechteentzug Mit SQL:1999 können Zugriffsrechte nicht nur einzelnen Benutzern, sondern auch Rollen zugewiesen werden. Dabei sind Rollen als ein Überbegriff zu verstehen, unter dem sowohl Benutzer als auch Gruppen zusammengefasst werden. Eine Rolle kann wiederum Mitglied weiterer Rollen sein. Eine Rolle (oder einen Benutzer) anlegen CREATE ROLE ottbert WITH LOGIN ; Eine Rolle ändern ALTER ROLE ottbert WITH PASSWORD secret ; 4 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Benutzerverwaltung in PostgreSQL Benutzer und Rollen anlegen Rechtevergabe Rechteentzug Superuser mit Passwort und LOGIN-Option ALTER ROLE admin WITH SUPERUSER PASSWORD secret LOGIN ; Rolle darf weitere Rolle erstellen ALTER ROLE mitarbeiter WITH CREATEROLE ; Rolle als Gruppe (lehrer erbt alle Rechte von mitarbeiter) CREATE ROLE lehrer IN ROLE mitarbeiter ; 5 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Benutzerverwaltung in PostgreSQL Benutzer und Rollen anlegen Rechtevergabe Rechteentzug Superuser mit Passwort und LOGIN-Option ALTER ROLE admin WITH SUPERUSER PASSWORD secret LOGIN ; Rolle darf weitere Rolle erstellen ALTER ROLE mitarbeiter WITH CREATEROLE ; Rolle als Gruppe (lehrer erbt alle Rechte von mitarbeiter) CREATE ROLE lehrer IN ROLE mitarbeiter ; 5 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Benutzerverwaltung in PostgreSQL Benutzer und Rollen anlegen Rechtevergabe Rechteentzug Superuser mit Passwort und LOGIN-Option ALTER ROLE admin WITH SUPERUSER PASSWORD secret LOGIN ; Rolle darf weitere Rolle erstellen ALTER ROLE mitarbeiter WITH CREATEROLE ; Rolle als Gruppe (lehrer erbt alle Rechte von mitarbeiter) CREATE ROLE lehrer IN ROLE mitarbeiter ; 5 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Benutzerverwaltung in PostgreSQL Benutzer und Rollen anlegen Rechtevergabe Rechteentzug Superuser mit Passwort und LOGIN-Option ALTER ROLE admin WITH SUPERUSER PASSWORD secret LOGIN ; Rolle darf weitere Rolle erstellen ALTER ROLE mitarbeiter WITH CREATEROLE ; Rolle als Gruppe (lehrer erbt alle Rechte von mitarbeiter) CREATE ROLE lehrer IN ROLE mitarbeiter ; 5 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Benutzerverwaltung in PostgreSQL Benutzer und Rollen anlegen Rechtevergabe Rechteentzug In PostgreSQL dürfen Rollen nur dann gelöscht werden, wenn sie keine Datenbank-Objekte besitzen. Sollte eine zu löschendes Rolle Objekte wie z.b. Datenbanken, Tabellen usw. angelegt haben, so müssen diese vorher gelöscht werden. Rolle löschen DROP ROLE ottbert ; Nur existierende Rollen löschen DROP ROLE IF EXISTS ottbert ; 6 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Benutzerverwaltung in PostgreSQL Benutzer und Rollen anlegen Rechtevergabe Rechteentzug In PostgreSQL dürfen Rollen nur dann gelöscht werden, wenn sie keine Datenbank-Objekte besitzen. Sollte eine zu löschendes Rolle Objekte wie z.b. Datenbanken, Tabellen usw. angelegt haben, so müssen diese vorher gelöscht werden. Rolle löschen DROP ROLE ottbert ; Nur existierende Rollen löschen DROP ROLE IF EXISTS ottbert ; 6 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Benutzerverwaltung in PostgreSQL Benutzer und Rollen anlegen Rechtevergabe Rechteentzug In PostgreSQL dürfen Rollen nur dann gelöscht werden, wenn sie keine Datenbank-Objekte besitzen. Sollte eine zu löschendes Rolle Objekte wie z.b. Datenbanken, Tabellen usw. angelegt haben, so müssen diese vorher gelöscht werden. Rolle löschen DROP ROLE ottbert ; Nur existierende Rollen löschen DROP ROLE IF EXISTS ottbert ; 6 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Benutzerverwaltung in PostgreSQL Benutzer und Rollen anlegen Rechtevergabe Rechteentzug In PostgreSQL dürfen Rollen nur dann gelöscht werden, wenn sie keine Datenbank-Objekte besitzen. Sollte eine zu löschendes Rolle Objekte wie z.b. Datenbanken, Tabellen usw. angelegt haben, so müssen diese vorher gelöscht werden. Rolle löschen DROP ROLE ottbert ; Nur existierende Rollen löschen DROP ROLE IF EXISTS ottbert ; 6 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Benutzer und Rollen anlegen Rechtevergabe Rechteentzug Client-Authentifizierung in PostgreSQL Die Client-Authentifizierung von PostgreSQL kann über die Konfigurationsdatei pg hba.conf gesteuert werden: 7 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Benutzerverwaltung in MySQL Benutzer und Rollen anlegen Rechtevergabe Rechteentzug Einen Benutzer mit Passwort anlegen CREATE USER ottbert @ localhost IDENTIFIED BY secret ; Einen Benutzer umbenennen RENAME USER ottbert @ 127.0.0.1 TO otti @ 127.0.0.1 ; Nach unserem Kenntnisstand ist es derzeit nicht möglich, mit MySQL Benutzergruppen (ROLE) anzulegen! Damit sich ein Benutzer in der Datenbank anmelden kann, benötigt er das Leserecht für mindestens eine Tabelle in der Datenbank. 8 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Benutzerverwaltung in MySQL Benutzer und Rollen anlegen Rechtevergabe Rechteentzug Einen Benutzer mit Passwort anlegen CREATE USER ottbert @ localhost IDENTIFIED BY secret ; Einen Benutzer umbenennen RENAME USER ottbert @ 127.0.0.1 TO otti @ 127.0.0.1 ; Nach unserem Kenntnisstand ist es derzeit nicht möglich, mit MySQL Benutzergruppen (ROLE) anzulegen! Damit sich ein Benutzer in der Datenbank anmelden kann, benötigt er das Leserecht für mindestens eine Tabelle in der Datenbank. 8 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Benutzerverwaltung in MySQL Benutzer und Rollen anlegen Rechtevergabe Rechteentzug Einen Benutzer mit Passwort anlegen CREATE USER ottbert @ localhost IDENTIFIED BY secret ; Einen Benutzer umbenennen RENAME USER ottbert @ 127.0.0.1 TO otti @ 127.0.0.1 ; Nach unserem Kenntnisstand ist es derzeit nicht möglich, mit MySQL Benutzergruppen (ROLE) anzulegen! Damit sich ein Benutzer in der Datenbank anmelden kann, benötigt er das Leserecht für mindestens eine Tabelle in der Datenbank. 8 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Benutzerverwaltung in MySQL Benutzer und Rollen anlegen Rechtevergabe Rechteentzug Einen Benutzer mit Passwort anlegen CREATE USER ottbert @ localhost IDENTIFIED BY secret ; Einen Benutzer umbenennen RENAME USER ottbert @ 127.0.0.1 TO otti @ 127.0.0.1 ; Nach unserem Kenntnisstand ist es derzeit nicht möglich, mit MySQL Benutzergruppen (ROLE) anzulegen! Damit sich ein Benutzer in der Datenbank anmelden kann, benötigt er das Leserecht für mindestens eine Tabelle in der Datenbank. 8 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Benutzerverwaltung in MySQL Benutzer und Rollen anlegen Rechtevergabe Rechteentzug Das Passwort ändern SET PASSWORD FOR ottbert @ localhost = PASSWORD ( secret ); Einen Benutzer wieder entfernen DROP USER ottbert ; In MySQL können Benutzer entfernt werden, auch wenn sie Besitzer von Objekten sind. Ihre Objekte bleiben erhalten. 9 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Benutzerverwaltung in MySQL Benutzer und Rollen anlegen Rechtevergabe Rechteentzug Das Passwort ändern SET PASSWORD FOR ottbert @ localhost = PASSWORD ( secret ); Einen Benutzer wieder entfernen DROP USER ottbert ; In MySQL können Benutzer entfernt werden, auch wenn sie Besitzer von Objekten sind. Ihre Objekte bleiben erhalten. 9 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Benutzerverwaltung in MySQL Benutzer und Rollen anlegen Rechtevergabe Rechteentzug Das Passwort ändern SET PASSWORD FOR ottbert @ localhost = PASSWORD ( secret ); Einen Benutzer wieder entfernen DROP USER ottbert ; In MySQL können Benutzer entfernt werden, auch wenn sie Besitzer von Objekten sind. Ihre Objekte bleiben erhalten. 9 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Benutzerverwaltung in MySQL Benutzer und Rollen anlegen Rechtevergabe Rechteentzug Das Passwort ändern SET PASSWORD FOR ottbert @ localhost = PASSWORD ( secret ); Einen Benutzer wieder entfernen DROP USER ottbert ; In MySQL können Benutzer entfernt werden, auch wenn sie Besitzer von Objekten sind. Ihre Objekte bleiben erhalten. 9 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Client-Authentifizierung in MySQL Benutzer und Rollen anlegen Rechtevergabe Rechteentzug MySQL identifiziert Benutzer über Rechner- und Benutzernamen (user@host). Die user- und host-angaben werden getrennt in verschiedenen Systemtabellen der automatisch angelegten mysql-datenbank gespeichert: user-tabelle: Enthält allgemeine Zugriffsrechte für alle Datenbanken db-tabelle: Enthält die Rechte für einzelne Datenbanken host-tabelle: Enthält Rechte für ein host auf Datenbanken tables priv-tabelle: Enthält Rechte für einzelne Tabellen columns priv-tabelle: Enthält die Rechte für die Tabellenspalten 10 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Benutzerverwaltung in Oracle Benutzer und Rollen anlegen Rechtevergabe Rechteentzug CREATE USER ottbert IDENTIFIED BY " secret "; -- Benutzer umbennen ( nicht mit Oracle 10 g) ALTER USER ottbert RENAME TO otti ; -- Benutzer ( mit seinen Objekten ) loeschen DROP USER ottbert CASCADE ; Oracle erlaubt die Definition von Rollen, die mit Rechten versehen, existierenden Benutzern (Gruppen) zugeordnet werden können. Damit ein Benutzer sich anmelden kann, benötigt er das CREATE SESSION-Recht. Die Rolle DBA enthält die Rechte für einen Administrator. Mehr zu Oracle Authentifizierungspolicy siehe: http://docs.oracle.com/cd/b13789_01/network.101/ b10773/admnauth.htm#1006145 11 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Benutzerverwaltung in Oracle Benutzer und Rollen anlegen Rechtevergabe Rechteentzug CREATE USER ottbert IDENTIFIED BY " secret "; -- Benutzer umbennen ( nicht mit Oracle 10 g) ALTER USER ottbert RENAME TO otti ; -- Benutzer ( mit seinen Objekten ) loeschen DROP USER ottbert CASCADE ; Oracle erlaubt die Definition von Rollen, die mit Rechten versehen, existierenden Benutzern (Gruppen) zugeordnet werden können. Damit ein Benutzer sich anmelden kann, benötigt er das CREATE SESSION-Recht. Die Rolle DBA enthält die Rechte für einen Administrator. Mehr zu Oracle Authentifizierungspolicy siehe: http://docs.oracle.com/cd/b13789_01/network.101/ b10773/admnauth.htm#1006145 11 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Benutzerverwaltung in Oracle Benutzer und Rollen anlegen Rechtevergabe Rechteentzug CREATE USER ottbert IDENTIFIED BY " secret "; -- Benutzer umbennen ( nicht mit Oracle 10 g) ALTER USER ottbert RENAME TO otti ; -- Benutzer ( mit seinen Objekten ) loeschen DROP USER ottbert CASCADE ; Oracle erlaubt die Definition von Rollen, die mit Rechten versehen, existierenden Benutzern (Gruppen) zugeordnet werden können. Damit ein Benutzer sich anmelden kann, benötigt er das CREATE SESSION-Recht. Die Rolle DBA enthält die Rechte für einen Administrator. Mehr zu Oracle Authentifizierungspolicy siehe: http://docs.oracle.com/cd/b13789_01/network.101/ b10773/admnauth.htm#1006145 11 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Benutzer und Rollen anlegen Rechtevergabe Rechteentzug Rechtevergabe 12 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Rechtevergabe in SQL-Standard Benutzer und Rollen anlegen Rechtevergabe Rechteentzug In SQL-Standard kann zunächst nur der Eigentümer eines Objektes mit seinen Objekten arbeiten. Will er auch an andere Benutzer Rechte auf seine Objekte vergeben, muss er dazu den im Standard definierten GRANT-Befehl verwenden. Der Standard definiert zwei Formen der GRANT-Anweisung: GRANT < privliste > ON < objekt > TO < benutzerliste > PUBLIC [ WITH GRANT OPTION ]; GRANT < privliste > ALL ON TABLE < tabellenname > TO < benutzerliste > PUBLIC [ WITH GRANT OPTION ]; 13 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Rechtevergabe in SQL-Standard Benutzer und Rollen anlegen Rechtevergabe Rechteentzug In SQL-Standard kann zunächst nur der Eigentümer eines Objektes mit seinen Objekten arbeiten. Will er auch an andere Benutzer Rechte auf seine Objekte vergeben, muss er dazu den im Standard definierten GRANT-Befehl verwenden. Der Standard definiert zwei Formen der GRANT-Anweisung: GRANT < privliste > ON < objekt > TO < benutzerliste > PUBLIC [ WITH GRANT OPTION ]; GRANT < privliste > ALL ON TABLE < tabellenname > TO < benutzerliste > PUBLIC [ WITH GRANT OPTION ]; 13 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Rechtevergabe in SQL-Standard Benutzer und Rollen anlegen Rechtevergabe Rechteentzug In SQL-Standard kann zunächst nur der Eigentümer eines Objektes mit seinen Objekten arbeiten. Will er auch an andere Benutzer Rechte auf seine Objekte vergeben, muss er dazu den im Standard definierten GRANT-Befehl verwenden. Der Standard definiert zwei Formen der GRANT-Anweisung: GRANT < privliste > ON < objekt > TO < benutzerliste > PUBLIC [ WITH GRANT OPTION ]; GRANT < privliste > ALL ON TABLE < tabellenname > TO < benutzerliste > PUBLIC [ WITH GRANT OPTION ]; 13 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Rechtevergabe in SQL-Standard Benutzer und Rollen anlegen Rechtevergabe Rechteentzug In SQL-Standard kann zunächst nur der Eigentümer eines Objektes mit seinen Objekten arbeiten. Will er auch an andere Benutzer Rechte auf seine Objekte vergeben, muss er dazu den im Standard definierten GRANT-Befehl verwenden. Der Standard definiert zwei Formen der GRANT-Anweisung: GRANT < privliste > ON < objekt > TO < benutzerliste > PUBLIC [ WITH GRANT OPTION ]; GRANT < privliste > ALL ON TABLE < tabellenname > TO < benutzerliste > PUBLIC [ WITH GRANT OPTION ]; 13 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Rechtevergabe in SQL-Standard Benutzer und Rollen anlegen Rechtevergabe Rechteentzug Spezielle Rechte für besondere Objekte GRANT < privliste > ON < objekt > TO < benutzerliste > PUBLIC [ WITH GRANT OPTION ]; Beispiele für besondere Objekte: DOMAIN, CHARACTER SET, DATA TYPE,... Beispiele für spezielle Rechte: USAGE, UNDER, EXECUTE, TRIGGER... Die besonderen Objekte und deren Rechte sind extrem herstellerabhängig. Wir beschränken uns deshalb auf die Verwaltung von Rechten über Tabellen (und Sichten). 14 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Rechtevergabe in SQL-Standard Benutzer und Rollen anlegen Rechtevergabe Rechteentzug Spezielle Rechte für besondere Objekte GRANT < privliste > ON < objekt > TO < benutzerliste > PUBLIC [ WITH GRANT OPTION ]; Beispiele für besondere Objekte: DOMAIN, CHARACTER SET, DATA TYPE,... Beispiele für spezielle Rechte: USAGE, UNDER, EXECUTE, TRIGGER... Die besonderen Objekte und deren Rechte sind extrem herstellerabhängig. Wir beschränken uns deshalb auf die Verwaltung von Rechten über Tabellen (und Sichten). 14 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Rechtevergabe in SQL-Standard Benutzer und Rollen anlegen Rechtevergabe Rechteentzug Spezielle Rechte für besondere Objekte GRANT < privliste > ON < objekt > TO < benutzerliste > PUBLIC [ WITH GRANT OPTION ]; Beispiele für besondere Objekte: DOMAIN, CHARACTER SET, DATA TYPE,... Beispiele für spezielle Rechte: USAGE, UNDER, EXECUTE, TRIGGER... Die besonderen Objekte und deren Rechte sind extrem herstellerabhängig. Wir beschränken uns deshalb auf die Verwaltung von Rechten über Tabellen (und Sichten). 14 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Rechtevergabe in SQL-Standard Benutzer und Rollen anlegen Rechtevergabe Rechteentzug Spezielle Rechte für besondere Objekte GRANT < privliste > ON < objekt > TO < benutzerliste > PUBLIC [ WITH GRANT OPTION ]; Beispiele für besondere Objekte: DOMAIN, CHARACTER SET, DATA TYPE,... Beispiele für spezielle Rechte: USAGE, UNDER, EXECUTE, TRIGGER... Die besonderen Objekte und deren Rechte sind extrem herstellerabhängig. Wir beschränken uns deshalb auf die Verwaltung von Rechten über Tabellen (und Sichten). 14 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Rechtevergabe in SQL-Standard Benutzer und Rollen anlegen Rechtevergabe Rechteentzug Spezielle Rechte für besondere Objekte GRANT < privliste > ON < objekt > TO < benutzerliste > PUBLIC [ WITH GRANT OPTION ]; Beispiele für besondere Objekte: DOMAIN, CHARACTER SET, DATA TYPE,... Beispiele für spezielle Rechte: USAGE, UNDER, EXECUTE, TRIGGER... Die besonderen Objekte und deren Rechte sind extrem herstellerabhängig. Wir beschränken uns deshalb auf die Verwaltung von Rechten über Tabellen (und Sichten). 14 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Rechtevergabe in SQL-Standard Benutzer und Rollen anlegen Rechtevergabe Rechteentzug GRANT < privliste > ALL ON TABLE < tabellenname > TO < benutzerliste > PUBLIC [ WITH GRANT OPTION ]; Dabei sind die folgenden Rechte für Tabellen möglich: SELECT [(<spaltenliste>)] INSERT [(<spaltenliste>)] UPDATE [(<spaltenliste>)] DELETE REFERENCES [(<spaltenliste>)] Das REFERENCES-Recht erlaubt die Verwendung von Spalten der Tabelle in einer FOREIGN KEY-Klausel einer anderen CREATE TABLE-Anweisung. 15 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Rechtevergabe in SQL-Standard Benutzer und Rollen anlegen Rechtevergabe Rechteentzug GRANT < privliste > ALL ON TABLE < tabellenname > TO < benutzerliste > PUBLIC [ WITH GRANT OPTION ]; Dabei sind die folgenden Rechte für Tabellen möglich: SELECT [(<spaltenliste>)] INSERT [(<spaltenliste>)] UPDATE [(<spaltenliste>)] DELETE REFERENCES [(<spaltenliste>)] Das REFERENCES-Recht erlaubt die Verwendung von Spalten der Tabelle in einer FOREIGN KEY-Klausel einer anderen CREATE TABLE-Anweisung. 15 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Rechtevergabe in SQL-Standard Benutzer und Rollen anlegen Rechtevergabe Rechteentzug GRANT < privliste > ALL ON TABLE < tabellenname > TO < benutzerliste > PUBLIC [ WITH GRANT OPTION ]; Dabei sind die folgenden Rechte für Tabellen möglich: SELECT [(<spaltenliste>)] INSERT [(<spaltenliste>)] UPDATE [(<spaltenliste>)] DELETE REFERENCES [(<spaltenliste>)] Das REFERENCES-Recht erlaubt die Verwendung von Spalten der Tabelle in einer FOREIGN KEY-Klausel einer anderen CREATE TABLE-Anweisung. 15 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Beispielsdatenbank Benutzer- und Rechteverwaltung Benutzer und Rollen anlegen Rechtevergabe Rechteentzug 16 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Beispiele für Rechtevergabe Benutzer und Rollen anlegen Rechtevergabe Rechteentzug Jedem alle vorhandenen Rechte auf die Tabelle Medium gewähren GRANT ALL PRIVILEGES ON Medium TO PUBLIC ; Leserecht in einem Befehl für mehrere Tabellen vergeben GRANT SELECT ON Ausleihe, Kunde, Medium, Ort TO admin ; MySQL und Oracle verbieten die Vergabe von Rechten an mehreren Tabellen durch eine Anweisung! 17 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Beispiele für Rechtevergabe Benutzer und Rollen anlegen Rechtevergabe Rechteentzug Jedem alle vorhandenen Rechte auf die Tabelle Medium gewähren GRANT ALL PRIVILEGES ON Medium TO PUBLIC ; Leserecht in einem Befehl für mehrere Tabellen vergeben GRANT SELECT ON Ausleihe, Kunde, Medium, Ort TO admin ; MySQL und Oracle verbieten die Vergabe von Rechten an mehreren Tabellen durch eine Anweisung! 17 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Beispiele für Rechtevergabe Benutzer und Rollen anlegen Rechtevergabe Rechteentzug Jedem alle vorhandenen Rechte auf die Tabelle Medium gewähren GRANT ALL PRIVILEGES ON Medium TO PUBLIC ; Leserecht in einem Befehl für mehrere Tabellen vergeben GRANT SELECT ON Ausleihe, Kunde, Medium, Ort TO admin ; MySQL und Oracle verbieten die Vergabe von Rechten an mehreren Tabellen durch eine Anweisung! 17 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Beispiele für Rechtevergabe Benutzer und Rollen anlegen Rechtevergabe Rechteentzug Jedem alle vorhandenen Rechte auf die Tabelle Medium gewähren GRANT ALL PRIVILEGES ON Medium TO PUBLIC ; Leserecht in einem Befehl für mehrere Tabellen vergeben GRANT SELECT ON Ausleihe, Kunde, Medium, Ort TO admin ; MySQL und Oracle verbieten die Vergabe von Rechten an mehreren Tabellen durch eine Anweisung! 17 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Rechte dürfen weitergegeben werden Benutzer und Rollen anlegen Rechtevergabe Rechteentzug superuser 18 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Rechte dürfen weitergegeben werden Benutzer und Rollen anlegen Rechtevergabe Rechteentzug superuser GRANT SELECT ON Medium TO hans, peter WITH GRANT OPTION; 18 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Rechte dürfen weitergegeben werden Benutzer und Rollen anlegen Rechtevergabe Rechteentzug superuser GRANT SELECT ON Medium TO hans, peter WITH GRANT OPTION; hans peter 18 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Rechte dürfen weitergegeben werden Benutzer und Rollen anlegen Rechtevergabe Rechteentzug superuser GRANT SELECT ON Medium TO hans, peter WITH GRANT OPTION; GRANT SELECT ON Medium TO moritz; hans peter 18 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Rechte dürfen weitergegeben werden Benutzer und Rollen anlegen Rechtevergabe Rechteentzug superuser GRANT SELECT ON Medium TO hans, peter WITH GRANT OPTION; GRANT SELECT ON Medium TO moritz; hans peter moritz 18 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Rechte dürfen weitergegeben werden Benutzer und Rollen anlegen Rechtevergabe Rechteentzug superuser GRANT SELECT ON Medium TO hans, peter WITH GRANT OPTION; GRANT SELECT ON Medium TO moritz; hans peter GRANT SELECT ON Medium TO moritz, max; moritz 18 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Rechte dürfen weitergegeben werden Benutzer und Rollen anlegen Rechtevergabe Rechteentzug superuser GRANT SELECT ON Medium TO hans, peter WITH GRANT OPTION; GRANT SELECT ON Medium TO moritz; hans peter GRANT SELECT ON Medium TO moritz, max; moritz 18 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Rechte dürfen weitergegeben werden Benutzer und Rollen anlegen Rechtevergabe Rechteentzug superuser GRANT SELECT ON Medium TO hans, peter WITH GRANT OPTION; GRANT SELECT ON Medium TO moritz; hans peter GRANT SELECT ON Medium TO moritz, max; moritz max 18 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Benutzer und Rollen anlegen Rechtevergabe Rechteentzug Rechteweitergabe mit WITH GRANT OPTION Rechte dürfen weitergegeben werden GRANT SELECT, INSERT, DELETE, UPDATE ON Ausleihe, Kunde, Medium, Orte TO hans, peter WITH GRANT OPTION ; Die Option WITH GRANT OPTION erlaubt den Benutzern ottbert und gottfried, ihre erhaltenen Rechte an andere Benutzer weiterzugeben. 19 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Superuser in MySQL Benutzer und Rollen anlegen Rechtevergabe Rechteentzug GRANT ALL PRIVILEGES ON *.* TO admin @ localhost IDENTIFIED BY top secret WITH GRANT OPTION ; Der Superuser admin muss nicht extra mittels CREATE USER angelegt werden. In MySQL kann auch mittels des GRANT-Befehls ein Benutzer erstellt werden. Damit der Benutzer admin sich auch von einem beliebigen anderen Host aus mit der Datenbank verbinden kann, benötigt er zusätzlich ein zweites Konto wie folgt: GRANT ALL PRIVILEGES ON *.* TO admin @ % IDENTIFIED BY top secret WITH GRANT OPTION ; 20 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Superuser in MySQL Benutzer und Rollen anlegen Rechtevergabe Rechteentzug GRANT ALL PRIVILEGES ON *.* TO admin @ localhost IDENTIFIED BY top secret WITH GRANT OPTION ; Der Superuser admin muss nicht extra mittels CREATE USER angelegt werden. In MySQL kann auch mittels des GRANT-Befehls ein Benutzer erstellt werden. Damit der Benutzer admin sich auch von einem beliebigen anderen Host aus mit der Datenbank verbinden kann, benötigt er zusätzlich ein zweites Konto wie folgt: GRANT ALL PRIVILEGES ON *.* TO admin @ % IDENTIFIED BY top secret WITH GRANT OPTION ; 20 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Superuser in MySQL Benutzer und Rollen anlegen Rechtevergabe Rechteentzug GRANT ALL PRIVILEGES ON *.* TO admin @ localhost IDENTIFIED BY top secret WITH GRANT OPTION ; Der Superuser admin muss nicht extra mittels CREATE USER angelegt werden. In MySQL kann auch mittels des GRANT-Befehls ein Benutzer erstellt werden. Damit der Benutzer admin sich auch von einem beliebigen anderen Host aus mit der Datenbank verbinden kann, benötigt er zusätzlich ein zweites Konto wie folgt: GRANT ALL PRIVILEGES ON *.* TO admin @ % IDENTIFIED BY top secret WITH GRANT OPTION ; 20 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Superuser in MySQL Benutzer und Rollen anlegen Rechtevergabe Rechteentzug GRANT ALL PRIVILEGES ON *.* TO admin @ localhost IDENTIFIED BY top secret WITH GRANT OPTION ; Der Superuser admin muss nicht extra mittels CREATE USER angelegt werden. In MySQL kann auch mittels des GRANT-Befehls ein Benutzer erstellt werden. Damit der Benutzer admin sich auch von einem beliebigen anderen Host aus mit der Datenbank verbinden kann, benötigt er zusätzlich ein zweites Konto wie folgt: GRANT ALL PRIVILEGES ON *.* TO admin @ % IDENTIFIED BY top secret WITH GRANT OPTION ; 20 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

REFERENCES-Recht Benutzer- und Rechteverwaltung Benutzer und Rollen anlegen Rechtevergabe Rechteentzug erlaubt FOREIGN KEY-Definitionen GRANT REFERENCES ON Medium TO ottbert ; Tabellendefinition führt ottbert durch CREATE TABLE Mediumhuelle ( Bezeichnung VARCHAR, Mdnr INTEGER REFERENCES Medium ( Mdnr ) ); ottbert benötigt kein zusätzliches SELECT-Recht, um die referenzierten Daten zu sehen! 21 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

REFERENCES-Recht Benutzer- und Rechteverwaltung Benutzer und Rollen anlegen Rechtevergabe Rechteentzug erlaubt FOREIGN KEY-Definitionen GRANT REFERENCES ON Medium TO ottbert ; Tabellendefinition führt ottbert durch CREATE TABLE Mediumhuelle ( Bezeichnung VARCHAR, Mdnr INTEGER REFERENCES Medium ( Mdnr ) ); ottbert benötigt kein zusätzliches SELECT-Recht, um die referenzierten Daten zu sehen! 21 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

REFERENCES-Recht Benutzer- und Rechteverwaltung Benutzer und Rollen anlegen Rechtevergabe Rechteentzug erlaubt FOREIGN KEY-Definitionen GRANT REFERENCES ON Medium TO ottbert ; Tabellendefinition führt ottbert durch CREATE TABLE Mediumhuelle ( Bezeichnung VARCHAR, Mdnr INTEGER REFERENCES Medium ( Mdnr ) ); ottbert benötigt kein zusätzliches SELECT-Recht, um die referenzierten Daten zu sehen! 21 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

REFERENCES-Recht Benutzer- und Rechteverwaltung Benutzer und Rollen anlegen Rechtevergabe Rechteentzug erlaubt FOREIGN KEY-Definitionen GRANT REFERENCES ON Medium TO ottbert ; Tabellendefinition führt ottbert durch CREATE TABLE Mediumhuelle ( Bezeichnung VARCHAR, Mdnr INTEGER REFERENCES Medium ( Mdnr ) ); ottbert benötigt kein zusätzliches SELECT-Recht, um die referenzierten Daten zu sehen! 21 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Spaltenrechte Benutzer- und Rechteverwaltung Benutzer und Rollen anlegen Rechtevergabe Rechteentzug UPDATE-Recht für bestimmte Spalten GRANT UPDATE ( Bezeichnung, Genre, Leihstatus ) ON Medium TO ottbert ; Leserecht für bestimmte Spalten GRANT SELECT ( Mdnr, Bezeichnung ) ON Medium TO ottbert ; In Oracle können Leserechte für Spalten nur durch den Umweg über Sichten (Views) definiert werden. 22 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Noch etwas... Benutzer- und Rechteverwaltung Benutzer und Rollen anlegen Rechtevergabe Rechteentzug Rechte der mitarbeiter-rolle auf lehrer übertragen GRANT mitarbeiter TO lehrer ; -- nicht mit MySQL Während in MySQL ein einfaches DROP-Recht ausreicht, um als Nicht-Eigentümer eine Tabelle zu löschen, benötigt man in Oracle das DROP ANY TABLE-Recht dazu. PostgreSQL kennt gar kein DROP-Recht. Eine Tabelle (Objekt) kann nur durch seinen Eigentümer oder durch einen Superuser gelöscht werden. PostgreSQL: Eigentümer ändern ALTER TABLE Medium OWNER TO ottbert ; 23 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Benutzer und Rollen anlegen Rechtevergabe Rechteentzug PostgreSQL: Objekt-Rechte anzeigen mit psql Anders als bei MySQL oder Oracle gibt es in PostgreSQL unserer Kenntnis nach keine Systemtabellen, die die Rechte von Benutzern oder Objekten anzeigen. Auf der folgenden Seite finden Sie eine Übersicht aller Systemtabellen von PostgreSQL 9.0. http: //www.postgresql.org/docs/9.0/static/catalogs.html 24 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Mögliche Rechte in PostgreSQL Benutzer und Rollen anlegen Rechtevergabe Rechteentzug r: SELECT (Lesen aus Tabellen, Views und Sequenzen) w: UPDATE (auf Tabellen und Sequenzen anwendbar) a: INSERT (nur auf Tabellen anwendbar) d: DELETE (nur auf Tabellen anwendbar) x: REFERENCES (für FOREIGN KEY-Definitionen) t: TRIGGER (Anlegen von TRIGGER auf Tabellen) X: EXECUTE (für Funktionsaufrufe) U: USAGE (Nutzen diverser Objekte) C: CREATE (Erstellen von Objekten) ALL PRIVILEGES (alle verfügbaren Rechte) 25 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

MySQL: Rechte anzeigen Benutzer und Rollen anlegen Rechtevergabe Rechteentzug Tabellen- oder Benutzerrechte anzeigen SELECT * FROM information_ schema. TABLE_ PRIVILEGES ; SELECT * FROM information_ schema. USER_ PRIVILEGES ; Benutzerrechte anzeigen SHOW GRANTS FOR ottbert@ localhost ; Eine Auflistung der MySQL-Schema-Tabellen finden Sie unter der folgenden Adresse: http://dev.mysql.com/doc/refman/5.1/ de/information-schema.html 26 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Oracle: Rechte anzeigen Benutzer und Rollen anlegen Rechtevergabe Rechteentzug Login-Rechte für ottbert GRANT CONNECT TO ottbert ; Allgemeine Rechte anzeigen SELECT privilege FROM dba_ sys_ privs WHERE grantee = OTTBERT : Tabellenrechte anzeigen SELECT * FROM user_ tab_ privs_ made WHERE grantee = OTTBERT ; 27 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Benutzer und Rollen anlegen Rechtevergabe Rechteentzug Einige Systemtabellen (Views von Oracle) user objects: Alle Objekte, die ein Benutzer angelegt hat. user constraints: Zeigt alle definierten Integritätsbedingungen. session privs: Alle aktuellen Rechte eines Benutzers. session roles: Alle Rollen, die ein Benutzer aktuell nutzt. user role privs: Alle Rollen, die ein Benutzer nutzen kann. user tab privs made: Alle Privilegien, die ein Benutzer vergeben hat. user tab privs recd: Alle Privilegien, die ein Benutzer erhalten hat. role tab privs: Alle Privilegien, die eine Rolle enthält 28 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Benutzer und Rollen anlegen Rechtevergabe Rechteentzug Rechteentzug 29 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Rechteentzug mit REVOKE Benutzer und Rollen anlegen Rechtevergabe Rechteentzug Zugriffsrechte entziehen REVOKE SELECT, INSERT, UPDATE, DELETE ON Ausleihe, Kunde, Medium, Orte FROM ottbert ; Zugriffsrechte kaskadierend entziehen REVOKE SELECT, INSERT, UPDATE, DELETE ON Ausleihe, Kunde, Medium, Orte FROM ottbert CASCADE ; 30 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Benutzer und Rollen anlegen Rechtevergabe Rechteentzug Besonderheit bei PostgreSQL und SQL-Standard superuser GRANT SELECT ON Medium TO hans, peter WITH GRANT OPTION; GRANT SELECT ON Medium TO moritz; hans peter GRANT SELECT ON Medium TO moritz, max; moritz max 31 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Benutzer und Rollen anlegen Rechtevergabe Rechteentzug Besonderheit bei PostgreSQL und SQL-Standard superuser hans peter moritz max 32 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Benutzer und Rollen anlegen Rechtevergabe Rechteentzug Besonderheit bei PostgreSQL und SQL-Standard superuser REVOKE SELECT ON Medium FROM moritz; hans peter moritz max 32 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Benutzer und Rollen anlegen Rechtevergabe Rechteentzug Besonderheit bei PostgreSQL und SQL-Standard superuser Der Benutzer moritz behält aber immer noch das SELECT Recht, da er es unabhängig von zwei Benutzern erhielt. REVOKE SELECT ON Medium FROM moritz; hans peter moritz max 32 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Benutzer und Rollen anlegen Rechtevergabe Rechteentzug Besonderheit bei PostgreSQL und SQL-Standard superuser hans peter moritz max 33 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Benutzer und Rollen anlegen Rechtevergabe Rechteentzug Besonderheit bei PostgreSQL und SQL-Standard REVOKE SELECT ON Medium FROM peter CASCADE; superuser REVOKE SELECT ON Medium FROM hans CASCADE; hans peter moritz max 33 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Benutzer und Rollen anlegen Rechtevergabe Rechteentzug Besonderheit bei PostgreSQL und SQL-Standard REVOKE SELECT ON Medium FROM peter CASCADE; superuser REVOKE SELECT ON Medium FROM hans CASCADE; hans peter moritz max 33 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Benutzer und Rollen anlegen Rechtevergabe Rechteentzug Besonderheit bei PostgreSQL und SQL-Standard REVOKE SELECT ON Medium FROM peter CASCADE; superuser REVOKE SELECT ON Medium FROM hans CASCADE; Jetzt kann sich der superuser sicher sein, dass moritz kein SELECT Recht mehr besitzt. Aber leider verlieren hans, peter und sogar max ebenfalls ihr SELECT Recht auf die Medium Tabelle. hans peter moritz max 33 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Benutzer und Rollen anlegen Rechtevergabe Rechteentzug Besonderheit bei PostgreSQL und SQL-Standard superuser hans peter moritz max 34 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Benutzer und Rollen anlegen Rechtevergabe Rechteentzug Besonderheit bei PostgreSQL und SQL-Standard REVOKE GRANT OPTION FOR SELECT ON Medium FROM peter CASCADE; superuser REVOKE GRANT OPTION FOR SELECT ON Medium FROM hans CASCADE; hans peter moritz max 34 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Benutzer und Rollen anlegen Rechtevergabe Rechteentzug Besonderheit bei PostgreSQL und SQL-Standard REVOKE GRANT OPTION FOR SELECT ON Medium FROM peter CASCADE; superuser REVOKE GRANT OPTION FOR SELECT ON Medium FROM hans CASCADE; hans peter moritz max 34 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Benutzer und Rollen anlegen Rechtevergabe Rechteentzug Besonderheit bei PostgreSQL und SQL-Standard REVOKE GRANT OPTION FOR SELECT ON Medium FROM peter CASCADE; superuser REVOKE GRANT OPTION FOR SELECT ON Medium FROM hans CASCADE; Jetzt aber können hans und peter das SELECT Recht nicht mehr an weitere Benutzer weitergeben. Der Benutzer max verliert so auch sein SELECT Recht. hans peter moritz max 34 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Benutzer und Rollen anlegen Rechtevergabe Rechteentzug Besonderheit bei PostgreSQL und SQL-Standard Der Superuser kann zwar nach dem Entziehen der GRANT OPTION-Klausel den Benutzern hans und peter erneut erlauben, die SELECT-Rechte auf die Medium-Tabelle an Dritte weiterzugeben. hans und ottbert aber müssen dann wieder von vorne beginnen, allen weiteren Benutzern, an die sie vorher das SELECT-Recht auf die Tabelle Medium vergeben hatten, dieses erneut zu übertragen. Dies kann eine Kettenreaktion nach sich ziehen. Oracle und MySQL? In Oracle dürfen aus diesem Grund nur die Benutzer, die die Reche vergeben haben, diese wieder entziehen. In MySQL kann ein Superuser jedem seine Rechte entziehen, auch wenn er dieses Recht nicht explizit vergeben hat. 35 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Benutzer und Rollen anlegen Rechtevergabe Rechteentzug Besonderheit bei PostgreSQL und SQL-Standard Der Superuser kann zwar nach dem Entziehen der GRANT OPTION-Klausel den Benutzern hans und peter erneut erlauben, die SELECT-Rechte auf die Medium-Tabelle an Dritte weiterzugeben. hans und ottbert aber müssen dann wieder von vorne beginnen, allen weiteren Benutzern, an die sie vorher das SELECT-Recht auf die Tabelle Medium vergeben hatten, dieses erneut zu übertragen. Dies kann eine Kettenreaktion nach sich ziehen. Oracle und MySQL? In Oracle dürfen aus diesem Grund nur die Benutzer, die die Reche vergeben haben, diese wieder entziehen. In MySQL kann ein Superuser jedem seine Rechte entziehen, auch wenn er dieses Recht nicht explizit vergeben hat. 35 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Benutzer und Rollen anlegen Rechtevergabe Rechteentzug Besonderheit bei PostgreSQL und SQL-Standard Der Superuser kann zwar nach dem Entziehen der GRANT OPTION-Klausel den Benutzern hans und peter erneut erlauben, die SELECT-Rechte auf die Medium-Tabelle an Dritte weiterzugeben. hans und ottbert aber müssen dann wieder von vorne beginnen, allen weiteren Benutzern, an die sie vorher das SELECT-Recht auf die Tabelle Medium vergeben hatten, dieses erneut zu übertragen. Dies kann eine Kettenreaktion nach sich ziehen. Oracle und MySQL? In Oracle dürfen aus diesem Grund nur die Benutzer, die die Reche vergeben haben, diese wieder entziehen. In MySQL kann ein Superuser jedem seine Rechte entziehen, auch wenn er dieses Recht nicht explizit vergeben hat. 35 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Sichtveränderung Sichtveränderung in PostgreSQL (RULEs) 36 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Sichten Benutzer- und Rechteverwaltung Sichtveränderung Sichtveränderung in PostgreSQL (RULEs) Mit den Sichten (VIEW s) können Benutzern ein Ausschnitt der Datenbank zur Verfügung gestellt werden. CREATE VIEW filmeab5 SELECT Beschreibung, Leihpreis FROM Medium WHERE Leihpreis > 5; Zeilenbasitertes Zugriffsrecht GRANT SELECT ON filmeab5 TO ottbert ; Medium Mdnr Beschreibung Mtyp Leihstatus Leihpreis Erscheinungsjahr Genre 37 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Sichten Benutzer- und Rechteverwaltung Sichtveränderung Sichtveränderung in PostgreSQL (RULEs) Eine Sicht darf im Allgemeinen überall dort eingesetzt werden, wo eine Tabelle erwartet wird. Abfragen an Sichten können genauso wie Anfragen an Tabellen formuliert werden. Sichten können auch als Verbunde mehrer Tabellen oder anderen Sichten definiert werden. Sichten werden oftmals aus Datenschutzgründen eingesetzt. Sie bieten aber auch die Möglichkeit, gerade bei normaliserten Tabellen, eine bessere Benutzerfreundlichkeit zu schaffen. Mittels Sichten können zudem komplexere Anfragen einfacher formuliert werden. 38 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Sichten Benutzer- und Rechteverwaltung Sichtveränderung Sichtveränderung in PostgreSQL (RULEs) Eine Sicht darf im Allgemeinen überall dort eingesetzt werden, wo eine Tabelle erwartet wird. Abfragen an Sichten können genauso wie Anfragen an Tabellen formuliert werden. Sichten können auch als Verbunde mehrer Tabellen oder anderen Sichten definiert werden. Sichten werden oftmals aus Datenschutzgründen eingesetzt. Sie bieten aber auch die Möglichkeit, gerade bei normaliserten Tabellen, eine bessere Benutzerfreundlichkeit zu schaffen. Mittels Sichten können zudem komplexere Anfragen einfacher formuliert werden. 38 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Sichten Benutzer- und Rechteverwaltung Sichtveränderung Sichtveränderung in PostgreSQL (RULEs) Eine Sicht darf im Allgemeinen überall dort eingesetzt werden, wo eine Tabelle erwartet wird. Abfragen an Sichten können genauso wie Anfragen an Tabellen formuliert werden. Sichten können auch als Verbunde mehrer Tabellen oder anderen Sichten definiert werden. Sichten werden oftmals aus Datenschutzgründen eingesetzt. Sie bieten aber auch die Möglichkeit, gerade bei normaliserten Tabellen, eine bessere Benutzerfreundlichkeit zu schaffen. Mittels Sichten können zudem komplexere Anfragen einfacher formuliert werden. 38 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Sichten Benutzer- und Rechteverwaltung Sichtveränderung Sichtveränderung in PostgreSQL (RULEs) Eine Sicht darf im Allgemeinen überall dort eingesetzt werden, wo eine Tabelle erwartet wird. Abfragen an Sichten können genauso wie Anfragen an Tabellen formuliert werden. Sichten können auch als Verbunde mehrer Tabellen oder anderen Sichten definiert werden. Sichten werden oftmals aus Datenschutzgründen eingesetzt. Sie bieten aber auch die Möglichkeit, gerade bei normaliserten Tabellen, eine bessere Benutzerfreundlichkeit zu schaffen. Mittels Sichten können zudem komplexere Anfragen einfacher formuliert werden. 38 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Sichten Benutzer- und Rechteverwaltung Sichtveränderung Sichtveränderung in PostgreSQL (RULEs) Eine Sicht darf im Allgemeinen überall dort eingesetzt werden, wo eine Tabelle erwartet wird. Abfragen an Sichten können genauso wie Anfragen an Tabellen formuliert werden. Sichten können auch als Verbunde mehrer Tabellen oder anderen Sichten definiert werden. Sichten werden oftmals aus Datenschutzgründen eingesetzt. Sie bieten aber auch die Möglichkeit, gerade bei normaliserten Tabellen, eine bessere Benutzerfreundlichkeit zu schaffen. Mittels Sichten können zudem komplexere Anfragen einfacher formuliert werden. 38 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Sichten Benutzer- und Rechteverwaltung Sichtveränderung Sichtveränderung in PostgreSQL (RULEs) Eine Sicht darf im Allgemeinen überall dort eingesetzt werden, wo eine Tabelle erwartet wird. Abfragen an Sichten können genauso wie Anfragen an Tabellen formuliert werden. Sichten können auch als Verbunde mehrer Tabellen oder anderen Sichten definiert werden. Sichten werden oftmals aus Datenschutzgründen eingesetzt. Sie bieten aber auch die Möglichkeit, gerade bei normaliserten Tabellen, eine bessere Benutzerfreundlichkeit zu schaffen. Mittels Sichten können zudem komplexere Anfragen einfacher formuliert werden. 38 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Sichtveränderung Sichtveränderung in PostgreSQL (RULEs) Eine Sicht von mehreren Tabellen (Join-View) CREATE OR REPLACE VIEW KundenMedien AS SELECT k.kdnr, k. Nachname, m.mdnr, m. Beschreibung FROM Kunde k, Ausleihe a, Medium m WHERE k. Kdnr = a. Kdnr AND a. Mdnr = m. Mdnr ; Um eine View anzulegen wird in der Regel das CREATE VIEW-Recht benötigt. Da PostgreSQL dieses Recht nicht kennt, kann jeder Benutzer eine View anlegen. Er benötigt aber das Leserecht für die in der SELECT-Anweisung aufgelisteten Tabellenspalten. Fehlt das SELECT-Recht, kann ein Benutzer zwar eine Sicht anlegen, diese aber nicht sehen. 39 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Sichtveränderung Sichtveränderung in PostgreSQL (RULEs) Eine Sicht von mehreren Tabellen (Join-View) CREATE OR REPLACE VIEW KundenMedien AS SELECT k.kdnr, k. Nachname, m.mdnr, m. Beschreibung FROM Kunde k, Ausleihe a, Medium m WHERE k. Kdnr = a. Kdnr AND a. Mdnr = m. Mdnr ; Um eine View anzulegen wird in der Regel das CREATE VIEW-Recht benötigt. Da PostgreSQL dieses Recht nicht kennt, kann jeder Benutzer eine View anlegen. Er benötigt aber das Leserecht für die in der SELECT-Anweisung aufgelisteten Tabellenspalten. Fehlt das SELECT-Recht, kann ein Benutzer zwar eine Sicht anlegen, diese aber nicht sehen. 39 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Sichtveränderung Sichtveränderung in PostgreSQL (RULEs) Eine Sicht von mehreren Tabellen (Join-View) CREATE OR REPLACE VIEW KundenMedien AS SELECT k.kdnr, k. Nachname, m.mdnr, m. Beschreibung FROM Kunde k, Ausleihe a, Medium m WHERE k. Kdnr = a. Kdnr AND a. Mdnr = m. Mdnr ; Um eine View anzulegen wird in der Regel das CREATE VIEW-Recht benötigt. Da PostgreSQL dieses Recht nicht kennt, kann jeder Benutzer eine View anlegen. Er benötigt aber das Leserecht für die in der SELECT-Anweisung aufgelisteten Tabellenspalten. Fehlt das SELECT-Recht, kann ein Benutzer zwar eine Sicht anlegen, diese aber nicht sehen. 39 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Virtuelle und materialisierte Sichten Sichtveränderung Sichtveränderung in PostgreSQL (RULEs) Ein Datenbanksystem kann bei Bedarf eine Sicht entweder neu berechnen (virtual view) oder eine einmal berechnete Sicht für weitere Anfragen permanent speichern (materialized view). Virtuelle Sichten garantieren immer den aktuellen Zustand der Datenbank. Materialisierte Sichten haben in der Regel eine bessere Effizienz, da sie nicht jedes Mal neu berechnet werden müssen. PostgreSQL und MySQL erlauben nur die Definition von virtuellen Sichten. Oracle dagegen gestattet auch die Definition von materialisierten Sichten. 40 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und

Virtuelle und materialisierte Sichten Sichtveränderung Sichtveränderung in PostgreSQL (RULEs) Ein Datenbanksystem kann bei Bedarf eine Sicht entweder neu berechnen (virtual view) oder eine einmal berechnete Sicht für weitere Anfragen permanent speichern (materialized view). Virtuelle Sichten garantieren immer den aktuellen Zustand der Datenbank. Materialisierte Sichten haben in der Regel eine bessere Effizienz, da sie nicht jedes Mal neu berechnet werden müssen. PostgreSQL und MySQL erlauben nur die Definition von virtuellen Sichten. Oracle dagegen gestattet auch die Definition von materialisierten Sichten. 40 von 113 OStR Michael Dienert, StR Ahmad Nessar Nazar Benutzerverwaltung, Sichten und