Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

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

Ähnliche Präsentationen


Präsentation zum Thema: "Betrieb von Datenbanken Marco Skulschus & Marcus Wiederstein Programm-Module Lehrbuch, Kapitel 7."—  Präsentation transkript:

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

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

3 Modul-Inhalt 1.Sicherheit 2.Sicherung und Wiederherstellung

4 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.

5 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

6 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.

7 Sicherheit: Übersicht

8 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.

9 Sicherheit: Datensicherheit

10 Sicherheit: Zugriffskontrolle

11

12 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

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

14 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 ]

15 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.

16 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.

17 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.

18 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.

19 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' }

20 Fragen...

21 Modul-Inhalt 1.Sicherheit 2.Sicherung und Wiederherstellung

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

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

24 Fragen...


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

Ähnliche Präsentationen


Google-Anzeigen