Kapitel 8: Zugriffskontrolle

Ähnliche Dokumente
3.17 Zugriffskontrolle

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

Überblick Felix Naumann. Zugriffsrechte Zugriffsrechte erzeugen Zugriffsrechte prüfen Zugriffsrechte vergeben Zugriffsrechte entziehen

Datenschutz: Zugriffsrechte in SQL

Benutzerverwaltung, Sichten und Datenintegrität

Schnellübersichten. SQL Grundlagen und Datenbankdesign

Datensicherheit. 8. Datensicherheit

Kapitel 7: Referentielle Integrität

Die Anweisung create table

Datenmodelle und Datenbanken 2

Praktische SQL-Befehle

9. Sicherheitsaspekte

Datenbanken SQL. Insert, Update, Delete, Drop. Krebs

Inhaltsverzeichnis. Vorwort Kapitel 1 Einleitung... 15

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort... 13

Inhaltsverzeichnis. Vorwort 13. Kapitel 1 Einleitung 15

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort 13

Bibliografische Informationen digitalisiert durch

Beispiel zur referentiellen Integrität

Foreign Keys. MySQL 4, 5. Kapitel 16: Fremdschlüssel. Marcel Noe

6 Sicherheitskonzepte in Oracle

VIEWS UND WEITERE TABELLEN-OPERATIONEN

Vorlesung Informationssysteme

Autorisierungsgraph mit zeitabhängiger Interpreta4on

6. Trigger Charakterisierung von Triggern. 6. Trigger. Trigger definieren automatische Reaktionen auf Ereignisse, die durch Datenmanupilationen

JOIN-Strategien eines Optimizers (1)

13. Sichten und Zugriffskontrolle. Sichten. Sichten II. Drei-Ebenen-Schema-Architektur

Datenbanken. Datenintegrität + Datenschutz. Tobias Galliat. Sommersemester 2012

Vorlesung Datenbanksysteme Endklausur

Marcus Throll, Oliver Bartosch. Einstieg in SQL. Verstehen, einsetzen, nachschlagen. Galileo Press

Erzeugen von Constraints

Datenbanksysteme 2013

6. Datendefinition und Zugriffskontrolle

Seminar 2. SQL - DML(Data Manipulation Language) und. DDL(Data Definition Language) Befehle.

Oracle 10g Einführung

In diesem Anschnitt geht es um die SQL Anweisungen, mit denen ich den Zugriff auf das Datenbankschema steuern kann.

Es geht also im die SQL Data Manipulation Language.

Username and password privileges. Rechteverwaltung. Controlling User Access. Arten von Rechten Vergabe und Entzug von Rechten DBS1 2004

Vorlesung Datenbanken

SQL: statische Integrität

Inhaltsverzeichnis. Einleitung

Hochschule Karlsruhe Technik und Wirtschaft Fakultät für Informatik und Wirtschaftsinformatik

Praktikum: Datenbankprogrammierung in SQL/ORACLE. Zugriffsrechte an ORACLE-Account gekoppelt initial vom DBA vergeben SCHEMAKONZEPT

S(tructured)Q(uery)L(anguage)

Semantische Integrität (auch: Konsistenz) der in einer Datenbank gespeicherten Daten als wichtige Anforderung

select DISTINCT Name, ort From Verkauf; selektiert Name und Ort von Tabelle Verkauf - DISTINCT steht dass keine Zeile mehrfach vorkommt

7.5 Zugriffsrechte SYSTEMPRIVILEGIEN BENUTZERIDENTIFIKATION ZUGRIFFSRECHTE INNERHALB ORACLE SCHEMAKONZEPT. berechtigen zu Schemaoperationen

7. Datenbankdefinitionssprachen

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

5 Sicherheit und Zugriff auf SQL Server 2008 R2

6. Sichten, Integrität und Zugriffskontrolle. Vorlesung "Informa=onssysteme" Sommersemester 2015

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

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

Microsoft Access 2010 SQL nutzen

SQL. DDL (Data Definition Language) Befehle und DML(Data Manipulation Language)

IBM Informix SQL. Seminarunterlage. Version vom

4. Datenbanksprache SQL

View. Arbeiten mit den Sichten:

Unterabfragen (Subqueries)

... Rollen verwalten

[ SQL] Wissen, das sich auszahlt

Einführung in SQL Datenbanken bearbeiten

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin

Kapitel 8: Datenintegrität

Logischer Entwurf. Stufen der Entwicklung einer Datenbank. Inhalt. Übersicht. 1. Datenbank - Entwurf ( ER - Diagramm)

Inhaltsverzeichnis. jetzt lerne ich

Inhaltsverzeichnis. Inhalt. 1 Einführung in die Datenbanktechnologie

Datenmanagement I SoSe 2006 Aufgabenblatt 4

Ergänzungen zur Vorlesung Informationssysteme WS 2000/01

Uni Duisburg-Essen Fachgebiet Informationssysteme Prof. Dr. N. Fuhr. Praktikum: Datenbanken Woche 7: Noch mehr SQL

Datenbankadministration

Datenbank- Programmierung mit InterBase

11 Rechte und Views Views

SQL. Allgemeines CREATE TABLE DROP TABLE ALTER TABLE INSERT INTO UPADTE DELETE SELECT

Relationales Modell: SQL-DDL. SQL als Definitionssprache. 7. Datenbankdefinitionssprachen. Anforderungen an eine relationale DDL

Die Spalte Prüfung und die Spalte Name enthielten mengenwertige Attribute. Zerlegung der Spalten in: Name, Vorname UND PrüfID, Prüfnote

Praktische SQL-Befehle 2

Oracle SQL. Seminarunterlage. Version vom

Sicherheitsaspekte. Szenarien. Angriffsarten. Discretionary Access Control. Sicherheit im DBMS. Identifikation und Authentisierung

Rolf Däßler. Das Einsteigersem. MySQL 5

SQL structured query language

Welche Kunden haben die gleiche Ware bestellt? select distinct a1.name, a2.name from Auftrag a1, Auftrag a2 where a1.ware = a2.ware.

Grundlagen von Datenbanken. Referentielle Aktionen, Sichten, Serialisierbarkeit und Locking

Daten-Definitionssprache (DDL) Bisher: Realwelt -> ERM -> Relationen-Modell -> normalisiertes Relationen-Modell. Jetzt: -> Formulierung in DDL

XAMPP-Systeme. Teil 3: My SQL. PGP II/05 MySQL

Datenintegrität. Integitätsbedingungen Schlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung

DB-Datenbanksysteme. DB SQL-DML 1 Mario Neugebauer

Matthias Schubert. Datenbanken. Theorie, Entwurf und Programmierung relationaler Datenbanken. 2., überarbeitete Auflage. Teubner

Kapitel 5: Sortieren, Gruppieren und Views in SQL

SQL (Structured Query Language) Schemata Datentypen

Integritäts- und Zugriffskontrolle. Inhalt. Semantische Integritätsbedingungen Trigger Zugriffskontrolle in SQL. N. Ritter, HMS,

Tabellenkalkulationssysteme Inf 9 / 1

Kapitel 1 Einführung in die Grundbegriffe der Datenbanken 17

PostgreSQL High-Security

Triggern. Change Data Capture

Funktionen. Überblick über Stored Functions. Syntax zum Schreiben einer Funktion. Schreiben einer Funktion

IBM DB2 für Unix/Linux/Windows SQL Grundlagen

Aufgabe 1: Integrität

Transkript:

Kapitel 8: Zugriffskontrolle 8. Zugriffskontrolle 8. Datenbanken enthalten häufig vertrauliche Informationen, die nicht jedem Anwender zur Verfügung stehen dürfen. Außerdem wird man nicht allen Anwendern dieselben Möglichkeiten zur Verarbeitung der Daten einräumen wollen, da Änderungen der Daten unter Umständen kritisch sind, auch wenn die Daten an sich nicht vertraulich sind. Zugriffsrechte können nicht nur einzelnen Benutzern zugewiesen werden, sondern es können Zugriffsrechte auch an Rollen gebunden werden. Grundlagen von Datenbanksystemen, WS 2012/2013 28. Januar 2013 Seite 1

Rollen CREATE ROLE <Rollenname> DROP ROLE <Rollenname> GRANT <Rollenname> TO <Benutzerliste> REVOKE <Rollenname> FROM <Benutzerliste> Grundlagen von Datenbanksystemen, WS 2012/2013 28. Januar 2013 Seite 2

Benutzer und Objekte 8. Zugriffskontrolle 8. Jeder Benutzer wird durch die spezielle Kennung PUBLIC identifiziert; PUBLIC erteilte Rechte sind automatisch für alle Benutzer gültig. Zugriffskontrolle mittels GRANT und REVOKE. Objekte, die mit Zugriffsrechten versehen werden können, sind unter anderem Tabellen, Spalten, Sichten, Wertebereiche (Domains) und Routinen (Funktionen und Prozeduren). Rechte Die möglichen Rechte sind SELECT, INSERT, UPDATE, DELETE, REFERENCES, USAGE, TRIGGER und EXECUTE, wobei nicht jedes Recht für jede Art von Objekten angewendet werden kann. Syntax: GRANT <Liste von Rechten> ON <Objekt> TO <Liste von Benutzern> [WITH GRANT OPTION] REVOKE [GRANT OPTION FOR] <Liste von Rechten> ON <Objekt> FROM <Liste von Benutzern> {RESTRICT CASCADE} Mit GRANT OPTION erhaltene Rechte können weitergereicht werden. Grundlagen von Datenbanksystemen, WS 2012/2013 28. Januar 2013 Seite 3

Verwaltung von Rechten über Basistabellen Der Erzeuger einer Basistabelle, hat zu dieser Tabelle alle für eine Tabelle möglichen Rechte, d.h. die Rechte SELECT, INSERT, UPDATE, DELETE, REFERENCES und TRIGGER. Beispiel: Angenommen der Benutzer Admin hat alle Tabellen der Mondial-Datenbank erzeugt und besitzt somit alle Rechte. Das Leserecht zu der Tabelle Land soll dem Benutzer PUBLIC erteilt werden Außerdem, sollen den Benutzern Assistent und Tutor die Rechte zum Lesen, Einfügen, Löschen und Ändern zugeteilt werden in der Weise, dass diese Benutzer diese Rechte auch anderen Benutzer erteilen dürfen. Schließlich soll der Benutzer SysProg die Rechte REFERENCES und TRIGGER erhalten. GRANT SELECT ON Land TO PUBLIC GRANT SELECT, INSERT, DELETE, UPDATE ON Land TO Assistent, Tutor WITH GRANT OPTION GRANT REFERENCES, TRIGGER ON Land TO SysProg Grundlagen von Datenbanksystemen, WS 2012/2013 28. Januar 2013 Seite 4

Bemerkungen Die Definition von Fremdschlüsseln, Integritätsbedingungen und Triggern darf nur bei Besitz entsprechender Rechte erlaubt sein, da sonst indirekt der Inhalt der Tabelle Land geschlossen werden könnte. Jeder Benutzer, der ein SELECT-Recht zu Land besitzt, darf eine Sicht über dieser Tabelle definieren. Wird eine Sicht über mehreren Tabellen definiert, dann muss das SELECT-Recht zu allen diesen Tabellen zugeteilt sein. Weitere Rechte zu der Sicht existieren nur dann, wenn diese Rechte auch für alle der Sicht zugrunde liegenden Tabellen besessen werden. Grundlagen von Datenbanksystemen, WS 2012/2013 28. Januar 2013 Seite 5

zum REVOKE Ein Recht R heißt verlassen, wenn das Recht, das für seine Zuteilung erforderlich war, zurückgezogen wurde und keine weitere Zuteilung von R vorgenommen wurde, deren erforderlichen Rechte noch existieren. Die Option CASCADE veranlaßt zusätzlich zu der Rücknahme des in der REVOKE-Klausel benannten Rechts auch die Zurücknahme aller verlassenen Rechte. die Option RESTRICT führt zum Abbruch der REVOKE-Anweisung, wenn verlassene Rechte resultieren. Grundlagen von Datenbanksystemen, WS 2012/2013 28. Januar 2013 Seite 6

Benutzer Assistent teilt dem Benutzer Tutor ein INSERT-Recht für Land zu. GRANT INSERT ON Land TO Tutor Es folgen eine Reihe von durch Benutzer Admin vorgenommene REVOKE-Anweisungen. REVOKE INSERT ON Land FROM Tutor RESTRICT Tutor behält das Recht, da er es unabhängig auch von Assistent erhielt. REVOKE INSERT ON Land FROM Assistent CASCADE Jetzt verliert sowohl Assistent, als auch Tutor das Recht. Angenommen, Admin führt anstatt der letzten Anweisung REVOKE GRANT OPTION FOR INSERT ON Land FROM Assistent CASCADE aus. Jetzt behält Assistent das INSERT-Recht, jedoch Tutor verliert es, da die Erlaubnis für die Vergabe des Rechts an ihn zurückgezogen wurde. Grundlagen von Datenbanksystemen, WS 2012/2013 28. Januar 2013 Seite 7