Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Thomas Tretter, 10. Februar 2004Oracle Label Security1 Oracle Label Security (fine grained access control) 10. Februar 2004.

Ähnliche Präsentationen


Präsentation zum Thema: "Thomas Tretter, 10. Februar 2004Oracle Label Security1 Oracle Label Security (fine grained access control) 10. Februar 2004."—  Präsentation transkript:

1 Thomas Tretter, 10. Februar 2004Oracle Label Security1 Oracle Label Security (fine grained access control) 10. Februar 2004

2 Thomas Tretter, 10. Februar 2004Oracle Label Security2 Gliederung des Vortrags Nutzung dieser Funktion Installation Administration und Konfiguration Vorgehensweise Beispiele Fazit/Referenzen

3 Thomas Tretter, 10. Februar 2004Oracle Label Security3 Nutzung dieser Funktion weitergehende Berechtigung an Tabelleninhalten definieren (row level security) verschiedene User sehen unterschiedlichen Inhalt (Mandantenfähigkeit) Nutzung über integrierte Datenbank Packages verschiedene Sensitivitätslevel

4 Thomas Tretter, 10. Februar 2004Oracle Label Security4 Installation VPD, bzw Oracle Label Security (OLS) ist eine extra Option und muss daher im Oracle Installer auch extra ausgewählt werden (OLS wird defaultmäßig nicht mit installiert Überprüfung: > sqlplus / SQL*Plus: Release 9.2.0.3.0 - Production on Wed Apr 23 13:45:26 2003 Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved. Connected to: Oracle9i Enterprise Edition Release 9.2.0.3.0 - 64bit Production With the Partitioning, Oracle Label Security, OLAP and Oracle Data Mining options JServer Release 9.2.0.3.0 - Production

5 Thomas Tretter, 10. Februar 2004Oracle Label Security5 Installation Einspielen der Objekte (Oracle intern) Aufruf des Scripts: $ORACLE_HOME/rdbms/admin/catols.sql als User sys User: LBACSYS Role: LBAC_DBA Oracle Label Security (OLS) ist eine Option von Oracle 9i. Bereits ab Oracle 8i gab es etwas ähnliches: Row Level Securtity (RLS). Dies Funktionalität wurde über das Package dbms_rls zugänglich gemacht. Die Funktionsweise ist ähnlich.

6 Thomas Tretter, 10. Februar 2004Oracle Label Security6 Administration und Konfiguration Tool Oracle Policy Manager (ist Bestandteil der Enterprise Manager Installation) Proceduren und Funktionen des Packages SA_SYSDBA

7 Thomas Tretter, 10. Februar 2004Oracle Label Security7 Vorgehensweise 1.Anlegen der Policies 2.Definition der Komponenten von Labels: levels, compartments, groups 3.Identifizierung der Menge der korrekten Daten Lables, um sie Tabellen und Zeilen zuzuordnen 4.Set Up der User Labels (für alle betroffenen User) 5.Zuordnung der Policies zu Tablellen und Schematas 6.User authorisieren 7.Updaten der Spalten der durch OLS geschützten Tablellen, bzw Label Functions beim Insert der Tablellen benutzen 8.Bitmap Index auf den Label Spalten Anlegen der Policies anlegen (optional) 9.Anlegen und Authorisieren Trusted Program Units (optional) 10.Auditing konfigurieren(optional))

8 Thomas Tretter, 10. Februar 2004Oracle Label Security8 Beispiel: Tabelle locations

9 Thomas Tretter, 10. Februar 2004Oracle Label Security9 1. Anlegen der Policies PL/SQL Procedure: EXECUTE SA_SYSDBA.CREATE_POLICY( 'FACILITY',-- Policy 'FACLAB',-- hidden column 'READ_CONTROL,CHECK_CONTROL,LABEL_DEFAULT,HIDE'-- default options ); zugehörige View:DBA_SA_POLICIES

10 Thomas Tretter, 10. Februar 2004Oracle Label Security10 2.1. Definition von Levels PL/SQL Procedure: EXEC SA_COMPONENTS.CREATE_LEVEL( 'FACILITY',-- Policy 2000,-- level Nummer (hoch=sensitiv) 'S',-- Kurzname 'SENSITIVE'-- voller Name ); zugehörige View:DBA_SA_LEVELS Mit Labels können aufsteigende Sensitivitäten abgebildet werden. Mit Compartments sind beliebige, wahllose Aufzählungen möglich. Mit Groups lassen sich Hierarchien (Baumstrukturen) nachbilden.

11 Thomas Tretter, 10. Februar 2004Oracle Label Security11 2.2. Definition von Compartments PL/SQL Procedure: EXEC SA_COMPONENTS.CREATE_COMPARTMENT( 'FACILITY',-- Policy 100,-- compartment Nummer 'ED',-- Kurzname 'Education'-- voller Name ); zugehörige View:DBA_SA_COMPARTMENTS

12 Thomas Tretter, 10. Februar 2004Oracle Label Security12 2.3. Definition von Groups PL/SQL Procedure: EXEC SA_COMPONENTS.CREATE_GROUP( 'FACILITY',-- Policy 11,-- group Nummer 'US',-- Kurzname 'United States',-- voller Name 'G'-- Kurzname der Vater Group ); zugehörige View:DBA_SA_GROUPS

13 Thomas Tretter, 10. Februar 2004Oracle Label Security13 2.4. Definition von Labels PL/SQL Procedure: EXEC SA_LABEL_ADMIN.CREATE_LABEL( 'FACILITY', -- Policy 2011, -- eindeutiger Label 'S::US'-- zugehöriger Char String (Level:Compertment:Group) ); zugehörige View:DBA_SA_LABELS (alle) DBA_SA_DATA_LABELS (nur Data Labels)

14 Thomas Tretter, 10. Februar 2004Oracle Label Security14 2.4. Definition von User Labels PL/SQL Procedure: EXEC SA_USER_ADMIN.SET_USER_LABELS( 'FACILITY',-- Policy 'PLANNING',-- Username 'S::US,EUR,ASIA'-- Zugriffsrechte (level:compartment:group) ); zugehörige View:DBA_SA_LABELS (alle) DBA_SA_USER_LABELS (nur User Labels) DBA_SA_USER_LEVELS (nur User Levels) DBA_SA_USER_COMPARTMENTS (nur User Compartments) DBA_SA_USER_GROUPS (nur User Groups)

15 Thomas Tretter, 10. Februar 2004Oracle Label Security15 2.5. Zuordnung der Policies zu Tabelle/Schema PL/SQL Procedure: begin sa_policy_admin.apply_table_policy ( POLICY_NAME => 'FACILITY', SCHEMA_NAME => 'HR', TABLE_NAME => 'LOCATIONS', TABLE_OPTIONS => NULL, LABEL_FUNCTION => NULL, PREDICATE => 'to_char(sysdate,' || '''' || 'd' || '''' || ')in (2,3,4,5,6)'); end; PREDICATE ist eine Zusatzbedingung, die erfüllt sein muss (hier: Zugriff nur zwischen 2.-6. des Monats) zugehörige View:DBA_SA_TABLE_POLICIES

16 Thomas Tretter, 10. Februar 2004Oracle Label Security16 3. User authorisieren PL/SQL Procedure: EXEC SA_USER_ADMIN.SET_USER_PRIVS ( 'FACILITY',-- Policy 'HR',-- Schema ownwer 'FULL,PROFILE_ACCESS'-- Privs ); zugehörige View:DBA_SA_USERS

17 Thomas Tretter, 10. Februar 2004Oracle Label Security17 4. Update der durch OLS geschützten Daten SQL Statement: update hr.locations set faclab = char_to_label('FACILITY','S::ASIA') where upper(city) in ('BEIJING','TOKYO'); Abfrage: select city, substr(label_to_char(FACLAB),1,20) fac from hr.locations;

18 Thomas Tretter, 10. Februar 2004Oracle Label Security18 Fazit eigene Erfahrungen von ‚innen nach außen‘ die Sicherheit aufbauen nur wenige Objekte mit OLS belegen genau Vorüberlegungen anstellen mehr Security behindert meistens auch den ‚normalen‘ Betrieb Referenzen Oracle DokuOracle Label Security Admin Guide (Part No. A96578-01) Metalink DocId 230980.1Oracle Label Security – Concepts (Policies and Labels) and Examples Metalink DocId 99250.1Understanding Fine-Grained Access Control (DBMS_RLS) on INSERT (8i) Metalink DocId 171155.1Install/Deinstall Oracle Label Security Data Dictionary in Oracle9i


Herunterladen ppt "Thomas Tretter, 10. Februar 2004Oracle Label Security1 Oracle Label Security (fine grained access control) 10. Februar 2004."

Ähnliche Präsentationen


Google-Anzeigen