Betrieb von Datenbanken Marco Skulschus & Marcus Wiederstein Programm-Module Lehrbuch, Kapitel 7.

Slides:



Advertisements
Ähnliche Präsentationen
© by Bernhard Rabe, Andre Morgenthal, Dennis Moers powered by Bernhard Rabe, Andre Morgenthal, Dennis Moers MobileFile 1.
Advertisements

Ebru Iscan, Andrea Kováčová Experimente Seminar "Experimentielle Evaluierung im IR"
Datenbankdesign mit ACCESS.
PC-Senioren Ludwigsburg
Datenbanken Einführung.
Dynamische Seiten mit Dreamweaver Zugriff auf (mysql) Datenbank mit PHP.
MySQL.
Ziel: externe Systemverhalten aus Anwendersicht
C.M. Presents D.A.R. und Ein Bisschen dies und das!
On a Buzzword: Hierachical Structure David Parnas.
Anfragesprachen – Dipl. Ing. Ulrich Borchert / FH Merseburg1/7 Datenbanken werden als Anhäufung von Werten eines Wertebereiches aufgefasst und Datenbankabfragen.
AGXIS – Ein Konzept für eine generische Schnittstellenbeschreibung Dr.-Ing. Ulrich Hussels, RISA GmbH 07. Juni 2005 Workshop Umweltdatenbanken 2005.
Universität zu Köln Kurs Dedizierte Systeme
IS: Datenbanken, © Till Hänisch 2000 CREATE TABLE Syntax: CREATE TABLE name ( coldef [, coldef] [, tableconstraints] ) coldef := name type [länge], [[NOT]NULL],
Datenbankanbindung mit ASP Wilhelm-Schickard-Schule Tübingen
Oracle PL/SQL Server Pages (PSP). © Prof. T. Kudraß, HTWK Leipzig Grundidee: PSP – Internet-Seiten mit dynamischer Präsentation von Inhalten durch Einsatz.
SQL/XML. © Prof. T. Kudraß, HTWK Leipzig 2 2 Motivation Speicherung von XML in allen großen kommerziellen DBMS vorhanden proprietäre Lösungen für die.
Sebastian Grahn Sebastian Kühn
Modularisierungstechniken
Eine objektorientierte Einführung in den Umgang mit Datenbanken
Command Pattern Karola Schäuble,
JDBC EDV JDBC.
Capabilities - Sicherheit realisiert auf Hardware-Ebene am Beispiel von MONADS Teil 2 Vorgelegt von: Wiebke Schröder Vortragsdatum: 07. Juli /21.
Erhard Künzel für Info 9. Klasse: Digitale Schule Bayern © Erhard Künzel.
Wie macht man ein Sudoku? Transformations-Methode:
Muster zum Erstellen einer Abfrage mit der interaktiven Datenbank
Hyperlinks und Anker Links notieren
Gegenstand EDV Thema: Informative Webseiten
EXCEL PROFESSIONAL KURS
Wie führe ich eine Fernleih- bestellung durch?
Übersicht Auf den folgenden Seiten wird Ihnen anhand einer kleinen Abteilung gezeigt, wie Sie PQM an Ihre Bedürfnisse anpassen können. Mitarbeiter einrichten.
Speichermodulverwendung mit der kompakten Steuerung CP1L
Betrieb von Datenbanken Marco Skulschus & Marcus Wiederstein
Betrieb von Datenbanken Marco Skulschus & Marcus Wiederstein Datenmanipulation Lehrbuch, Kapitel 4.
1 Nutzen Sie diese Powerpoint-Präsentation beim Selbstlernen oder in Veranstaltungen zur Einführung in das jeweilige Thema. Einführung Lernmodul Nutzungsbedingungen:
Typo 3. INSTALLATION TYPO3 INSTALLTOOL EXTENSIONS UND TEMPLATES INSTALLATION TEMPLAVOILA USERMANAGEMENT Inhalt:
Strafrechtliche Probleme bei Internal Investigations
MobileFile powered by Bernhard Rabe, Andre Morgenthal, Dennis Moers.
Folgendes kann missbraucht werden: formulare unverschlüsselte login-informationen ungeschützte includes SQL-injection reto ambühler
Institut für Wirtschaftsinformatik – Software Engineering, JKU Linz 1 Algorithmen und Datenstrukturen SS 2005 Mag.Th. Hilpold u. Dr. A.Stritzinger Institut.
Allgemeines zu Datenbanken
HORIZONT 1 XINFO ® Das IT - Informationssystem PL/1 Scanner HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 / 540.
1 Nutzen Sie diese Powerpoint-Präsentation beim Selbstlernen oder in Veranstaltungen zur Einführung in das jeweilige Thema. Einführung Lernmodul Nutzungsbedingungen:
1 Nutzen Sie diese Powerpoint-Präsentation beim Selbstlernen oder in Veranstaltungen zur Einführung in das jeweilige Thema. Einführung Lernmodul Nutzungsbedingungen:
WINlearn Technische Spezifikation der Benutzerstruktur Gruppe 4.
Access Einführung in das Datenbank-Management-System Grundlagen.
Aus der Sicht eines Redakteurs Pflege von Textinhalten Pflege von Bilder – Bildverarbeitung Formulare Seiten anlegen / löschen -> Vorführung.
Aggregatsfunktion SQL = Structured Query Language.
verstehen planen bearbeiten
Benutzer und Gruppen In Windows 2000 Server Benutzer anlegen Gruppen anlegen Verschiedene Rechtevergabe Diese Präsentation wurde erstellt von, Kaspar Chrisitian.
Kommandozeile und Batch-Dateien Molekulare Phylogenetik – Praktikum
Datenschutz in DBMS Benutzerverwaltung Rechteverwaltung
MS Office Access 2007 UM für INI. Sie haben viele Daten? Entscheiden Sie sich für Access. Access verarbeitet Daten, und zwar alle Arten von Daten: Kundenkontakte,
Structured Query Language
8 Erzeugen und Verwalten von Tabellen Ziele Kennenlernen der wichtigsten Datenbankobjekte Anlegen von Tabellen Datentypen zur Definition von Spalten.
OQL-Anbindung an Java (1) Java als Beispiel für die Einbettung von OQL in eine Programmiersprache Die OQL-Einbettung in Java ist teilweise mit dynamischem.
1 Sicherheit durch technischen Schutz Aufgabenkomplexe des technischen Schutzes:  Autorisierung = Festlegung der Schutzregeln, d.h. Vergabe von Zugriffsrechten.
11 Zugriffskontrolle (Access Control) Ziele Privilegien Rollen GRANT und REVOKE Befehl Privilegien Rollen GRANT und REVOKE Befehl.
Trigger-abhängige Client Interaktionen (bezüglich Oracle8i)
Datenbanken abfragen mit SQL
Vieren - Programmierung Im Jahre 1981 traten die ersten Viren auf, die noch sehr einfach gestrickt waren, und nicht sehr destruktiv waren. Mittlerweile.
DB2 UDB im z/VSE Heinz Peter Maassen – Lattwein GmbH COURSE Tagung Bad Hersfeld 2008.
Reorganisation und Administration großer SAP-DB Manfred Riemer SAP AG (z.B. MCOD-Systeme)
SQL Basics Schulung –
Das IT - Informationssystem
Create Table, Rechte und Rollen
Von Wietlisbach, Lenzin und Winter
Von Wietlisbach, Lenzin und Winter
(Structured Query Language)
 Präsentation transkript:

Betrieb von Datenbanken Marco Skulschus & Marcus Wiederstein Programm-Module Lehrbuch, Kapitel 7

Seminar-Inhalt Grundlagen Einfache Abfragen Komplexe Abfragen Datenmanipulation Grundlagen T-SQL Programm-Module in der DB Administration

Modul-Inhalt 1.Sicherheit 2.Sicherung und Wiederherstellung

Sicherheit: Übersicht Sicherheit hat viele unterschiedliche Aspekte, die auch in vielfältiger Weise miteinander verknüpft sind. –Benutzer sind eigene Objekte der Datenbank. Sie können einem tatsächlich existierendem Benutzer entsprechen wie Anton Ebenhof oder einem virtuellen Benutzer wie Außendienst-Mitarbeiter oder Webshop-Besucher. –Rollen: Für die Abbildung Rechtestrukturen, die sich mehrere Benutzer teilen, kann man Rollen verwenden. Sie stellen Rechtebündel dar, sodass Rechte gemeinsam erstellt, verwaltet und auch zugewiesen werden können.

Sicherheit: Übersicht Sicherheit hat viele unterschiedliche Aspekte, die auch in vielfältiger Weise miteinander verknüpft sind. –Tabellen enthalten direkt die Daten, welche von einer Abfrage in einem Bericht oder einem Programm sowie weiteren Datenbank-Objekten wie Prozeduren, Funktionen und Sichten genutzt werden. Diese verschiedenen Objekte könnten jeweils für sich ebenfalls einen Sicherheitsmechanismus abbilden. Sicht Bericht Prozedur und Funktion

Sicherheit: Übersicht Sicherheit hat viele unterschiedliche Aspekte, die auch in vielfältiger Weise miteinander verknüpft sind. –Nicht nur Daten sollen geschützt werden, sondern auch Objekte. Dies bedeutet, dass die Zugriffskontrolle sich auch auf den gesamten Schema-Katalog und die in ihm enthaltenen Objekte ausdehnen muss. Objekte müssen vor unkontrollierten Veränderung oder Löschung geschützt werden.

Sicherheit: Übersicht

Sicherheit: Datensicherheit Ein Formular kann für die Anzeige und auch für die Bearbeitung von Daten genutzt werden. Evtl. ist es auch möglich, selbst Filter vorzugeben und Daten auszuwählen, die zunächst in einer Übersichtsanzeige und dann in einer Detailansicht präsentiert werden. Ein Bericht fasst Daten zusammen, erlaubt normalerweise sehr viel stärker auch in interaktiven Szenarien die Filterung und Detailanzeige von weiteren Daten. Teilweise werden hier auch Daten nicht nur präsentiert, wie sie sind oder in Aggregaten, sondern auch in Diagrammen und sonstigen grafischen Darstellungen. Sichten wie auch Prozeduren und Funktionen greifen auf Daten zu, führen Berechnungen und Transformationen durch, aggregieren Daten und stellen sie bereits gefiltert oder für weitere Filterungen und Transformationen bereit. Sie können auch ganz bewusst dazu genutzt werden, eine Schicht zwischen den Daten und externen Anwendungen aufzubauen.

Sicherheit: Datensicherheit

Sicherheit: Zugriffskontrolle

Sicherheit: Anmeldung CREATE LOGIN loginName WITH ::= PASSWORD = { 'password' | hashed_password HASHED } [ MUST_CHANGE ] [, [,... ] ] ::= SID = sid | DEFAULT_DATABASE = database | DEFAULT_LANGUAGE = language | CHECK_EXPIRATION = { ON | OFF} | CHECK_POLICY = { ON | OFF} | CREDENTIAL = credential_name

Sicherheit: Benutzer CREATE USER user_name [ { { FOR | FROM } { LOGIN login_name } | WITHOUT LOGIN ] [ WITH DEFAULT_SCHEMA = schema_name ]

Sicherheit: Rechte GRANT { ALL [ PRIVILEGES ] } | permission [ ( column [,...n ] ) ] [,...n ] [ ON [ class :: ] securable ] TO principal [,...n ] [ WITH GRANT OPTION ] [ AS principal ] DENY { ALL [ PRIVILEGES ] } | permission [ ( column [,...n ] ) ] [,...n ] [ ON [ class :: ] securable ] TO principal [,...n ] [ CASCADE] [ AS principal ] REVOKE [ GRANT OPTION FOR ] { [ ALL [ PRIVILEGES ] ] | permission [ ( column [,...n ] ) ] [,...n ] } [ ON [ class :: ] securable ] { TO | FROM } principal [,...n ] [ CASCADE] [ AS principal ]

Sicherheit: Rechteweitergabe WITH GRANT OPTION ermöglicht es dem Benutzer, anderen seine eigenen Rechte zu geben. An den Knoten sitzen die Benutzer mit dem Privileg, zumindest ihre Rechte zu vergeben oder innerhalb ihres Teams leichte Einschränkungen vornehmen zu können. Dies erspart dem Administrator jedes Mal selbst Rechte zu vergeben. Eine andere und evtl. auch bessere Lösung ist der Einsatz von Rollen, die mehrere Rechte bündeln und dadurch leichter zu handhaben sind.

Sicherheit: Rechteweitergabe 1.Der Benutzer B kann dann weiterhin das Recht x ausüben, auch wenn der ihm das Recht erteilende Benutzer A es verliert. 2.Der Benutzer B soll ebenfalls sein Recht verlieren und auch alle weiteren Benutzer, welche das Recht x von ihm erhalten haben. Der Fall des kakadierenden Rechteentzugs tritt dann ein, wenn beim REVOKE-Befehl GRANT OPTION FOR... CASCADE verwendet wird. Innerhalb des Rechtebaums können im Moment des Rechteentzugs nachgelagerte Rechteentzüge entstehen. Man kann sich zwei Fälle vorstellen, wobei folgende Ausgangssituation existiert: Der Benutzer A, welcher das Recht x verliert, könnte dieses Recht einem Benutzer B erteilt haben.

Sicherheit: Sicherheit von Programm-Modulen In (1) ist er autorisiert, die Prozedur auszuführen, weil er die Berechtigung von A erhalten hat. Diese Prozedur ruft in (2) eine Sicht von Benutzer C ab, wobei nun die vollständigen Berechtigungen abgerufen werden, weil sich beide Besitzer unterscheiden. Sofern hier auch Benutzer B für die Sicht autorisiert ist, werden die Daten zurückgeliefert. Verschiedene Objekte haben verschiedene Besitzer, wobei Benutzer B selbst gar kein Besitzer irgendeines Objekts ist, sondern er nur von Benutzer A die Berechtigungen erhalten hat, die Prozedur von Benutzer A auszuführen.

Sicherheit: Sicherheit von Programm-Modulen Diese Sicht wirkt sich nun wiederum in (3) auf eine Tabelle aus, deren Besitzer Benutzer D ist. Da hier erneut ein Besitzerwechsel stattfindet, müssen die Berechtigungen abgerufen werden, und auch Benutzer B wird auf Nutzungsberechtigung dieser Tabelle überprüft. Schließlich ist in (4) auch noch die datenbankübergreifende Besitzverkettung dargestellt. Benutzer B hat die Berechtigung von Benutzer A an dieser Sicht und darf daher sogar von einer anderen DB die Daten abrufen.

Sicherheit: Sicherheit von Programm-Modulen CALLER (Standardwert) legt fest, dass die Prozedur im Sicherheitskontext des Aufrufenden, d.h. des Benutzers, ausgeführt wird. SELF legt fest, dass die Prozedur im Sicherheitskontext des Besitzers der Prozedur ausgeführt wird. OWNER legt fest, dass die Prozedur nur im Sicherheitskontext des Besitzers ausgeführt wird. Hier ist keine Rolle oder Gruppe möglich, nur ein einzelnes Benutzerkonto. legt einen speziellen Benutzer fest, in dessen Sicherheitskontext die Prozedur ausgeführt werden soll. Funktionen (außer inline table-valued-Funktionen), Prozeduren und DML- Trigger { EXEC | EXECUTE } AS { CALLER | SELF | OWNER | 'user_name' }

Fragen...

Modul-Inhalt 1.Sicherheit 2.Sicherung und Wiederherstellung

Sicherung und Wiederherstellung [,...n ]::=--Backup Set Options COPY_ONLY | { COMPRESSION | NO_COMPRESSION } | DESCRIPTION = { 'text' } | NAME = { backup_set_name } | PASSWORD = { password } | { EXPIREDATE = { 'date' } | RETAINDAYS = { days } } Sicherung BACKUP DATABASE { database_name } TO [,...n ] [ WITH { DIFFERENTIAL | [,...n ] } ]

Sicherung und Wiederherstellung Wiederherstellung RESTORE DATABASE { database_name } [ FROM [,...n ] ] [ WITH { [ RECOVERY | NORECOVERY | STANDBY = {standby_file_name } ] |, [,...n ] |, } [,...n ] ] [,...n ]::= MOVE 'logical_file_name_in_backup' TO 'operating_system_file_name' [,...n ] | REPLACE | RESTART | RESTRICTED_USER

Fragen...