SlideShare ist ein Scribd-Unternehmen logo
1 von 52
Downloaden Sie, um offline zu lesen
BASEL | BERN | BRUGG | BUKAREST | DÜSSELDORF | FRANKFURT A.M. | FREIBURG I.BR. | GENF
HAMBURG | KOPENHAGEN | LAUSANNE | MANNHEIM | MÜNCHEN | STUTTGART | WIEN | ZÜRICH
www.oradba.ch@stefanoehrli
Oracle Centrally Managed Users 18/19c
Live Demo zu CMU
Stefan Oehrli
BASEL | BERN | BRUGG | BUKAREST | DÜSSELDORF | FRANKFURT A.M. | FREIBURG I.BR. | GENF
HAMBURG | KOPENHAGEN | LAUSANNE | MANNHEIM | MÜNCHEN | STUTTGART | WIEN | ZÜRICH
Stefan Oehrli
Solution Manager, Trainer und Partner bei Trivadis
• Seit 1997 in verschiedenen IT-Bereichen tätig
• Seit 2008 bei der Trivadis AG
• Mehr als 20 Jahre Erfahrung im Umgang
Fokus: Daten schützen und Datenbanken sicher betreiben
• Security Assessments und Reviews
• Datenbank Sicherheitskonzepte und deren Umsetzung
• Oracle Backup & Recovery Konzepte und Troubleshooting
• Oracle Enterprise User Security, Advanced Security, Database Vault, …
• Oracle Directory Services
Co-Autor des Buches Der Oracle DBA (Hanser, 2016/07)
@stefanoehrli
Trivadis – Unsere wichtigsten Kennzahlen.
• Gründung: 1994
• 16 Trivadis Niederlassungen mit
über 650 Mitarbeitenden
• Umsatz CHF 111 Mio. (EUR 96 Mio.)
• Über 250 Service Level Agreements
• Mehr als 4'000 Trainingsteilnehmer
• Forschungs- und Entwicklungsbudget: CHF
5.0 Mio.
• Mehr als 1'900 Projekte pro Jahr bei über
800 Kunden
• Finanziell unabhängig und
nachhaltig profitabel
• Gründung: 1994
• 16 Trivadis Niederlassungen mit
über 650 Mitarbeitenden
• Umsatz CHF 111 Mio. (EUR 96 Mio.)
• Über 250 Service Level Agreements
• Mehr als 4'000 Trainingsteilnehmer
• Forschungs- und Entwicklungsbudget: CHF
5.0 Mio.
• Mehr als 1'900 Projekte pro Jahr bei über
800 Kunden
• Finanziell unabhängig und
nachhaltig profitabel
15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c3
Agenda
• Einleitung Oracle Centrally Managed User 18/19c
• Live Demo
• MS Active Directory Konfiguration
• SQLNet Konfiguration
• Datenbank Konfiguration
• Authentifizierung und Autorisierung
• Weitere Use Cases
• Kerberos Konfiguration
• Überblick Trivadis LAB
• Fazit
15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c4
Oracle Centrally Managed
User 18/19c
15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c5
Integration von MS Active Directory
• Neues Security Feature von Oracle Database Relase 18c
• Centrally Managed User CMU…
• …benötigt kein zusätzliches Oracle Verzeichnis
• …ermöglicht die Verwaltung der Benutzer im direkt im MS Active Directory
• …benötig keine zusätzliche Lizenz aber
• …wird nur von Oracle Enterprise oder Express Edition unterstützt J
• …wird nicht in Oracle Standard Edition unterstützt L
• Unterstützt gängige Authentifizierungsmethoden
• Password- , Kerberos- und PKI / SSL Authentifizierung
• Erfordert einen Passwortfilter und eine AD-Schema-Erweiterung für die Password Authentifizierung
• Erfordert ein AD-Service Account
• Perfekt für kleine und mittlere Unternehmen
15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c6
Beispiel Integration mit CMU
15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c7
Centrally Managed User mit MS AD
• AD Benutzern, die über gemeinsames Schema auf die DB zugreifen
• Alle Benutzer verwenden das gleiche DB Schema
• Exklusive Zuordnung von AD Benutzern zu einem privaten Schema
• Benutzer hat eigenes DB Schema mit direkten Berechtigungen
• Benutzer kann eigene Datenbankobjekte erstellen und verwalten
• Zuweisen einer AD Gruppe zu einer globalen Rolle
• Vergabe zusätzlicher Rechte aufgrund der AD-Gruppenmitgliedschaft
• Administrative globale Benutzer mit Administratorrechten
• SYSDBA, SYSOPER, SYSDG, SYSKM oder SYSRAC
• Kann nicht über globale Rollen gewährt werden
• Kombination von CMU, Net Name Services und Directory Services ist möglich
15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c8
Live Demo
15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c9
Live Demo
• MS Active Directory Konfiguration
• SQLNet Konfiguration
• Datenbank Konfiguration
• Authentifizierung und Autorisierung
• Kerberos Konfiguration
• Weitere Use Cases
15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c10
MS Active Directory Konfiguration
• Die Datenbank benötigt Zugriff auf MS Active Directory
• Leserechte für die Suchen von User / Gruppen
• Schreibrechte für das Aktualisieren von Logininformationen
• Anlegen eines Oracle Service Account
• MS Active Directory Domain Architektur gibt vor, wo der Oracle Service Account anzulegen ist
• Bei komplexen AD Domains im Root Verzeichnis
• Oracle Service Account muss alle Gruppen/Benutzer “sehen”
• Service Account in der Windows Active Directory Root Domain, wenn
• …die AD-Benutzer sich in verschiedenen Domänen befinden
• …Active Directory mehrere Windows-Domänen hat, welche von CMU unterstütz werden sollen
15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c11
Oracle Service Account
• Ein Oracle Service Account für mehrere CMU Datenbanken
• Nicht jede Datenbank mit CMU benötigt
zwingend einen individuellen Account
15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c12
Oracle Service Account
• Oracle Service Account benötigt zusätzlich folgende Rechte
• Read Properties von Active Directory Benutzern
• Write LockoutTme von Active Directory Benutzern
15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c13
Passwort Authentifizierung
• MS Active Directory Anpassung für Passwort Authentifizierung nötig
• Standardmässig funktioniert die Datenbank- respektive Passwort Authentifizierung mit MS
Active Directory nicht.
• Erweiterung des MS Active Directory Schema
• Ergänzt das Schema mit dem Attribut orclCommonAttribute
• Ermöglicht die Oracle Database Passwort Authentifizierung
• Die AD Gruppen ORA_VFR_MD5, ORA_VFR_11G und ORA_VFR_12C werden erstellt
• Werden vom Passwort Filter benötigt um die Hashes zu generieren
• Achtung Backup vor der Schema Anpassung erstellen
• AD Schemaerweiterung kann sonst nicht rückgängig gemacht werden
15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c14
Passwort Authentifizierung
• Installation Password Filter auf dem Active Directory Server
• Legt Passwörter zusätzlich in einem Oracle spezifischen Hash ab
• Ggf. auf allen beteiligten Domain Kontrollern installieren
• Umgebungssprache muss bei der Installation Englisch sein
• Oracle stellt das Tool opwdintg.exe zur Verfügung
• Jeweils $ORACLE_HOME/bin abgelegt
• Auf Linux Installationen die einzige EXE Datei im ORACLE_HOME J
• Fehler falls Schemaerweiterung / Passwort Filter bereits installiert
• Reboot vom Active Directory Server ist nötig
• Analoge Anpassungen für Enterprise User Security mit AD Integration
• Oder auch andere Tools / IDM Lösungen, die auf AD zugreifen
• Anpassung wird für Kerberos Authentifizierung nicht benötigt!
15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c15
Installation Password Filter
• opwdintg.exe auf den Active Directory Server kopieren
• Backup der Active Directory Domain erstellen
• Installation starten und die Fragen entsprechend beantworten
• Do you want to extend AD schema? [Yes/No]:
• Schema extension for this domain will be permanent. Continue? [Yes/No]:
• Found password filter installed already. Do you want to deinstall? [Yes/No]:
• Do you want to install Oracle password filter? [Yes/No]:
• The change requires machine reboot. Do you want to reboot now? [Yes/No]:
• Sicherstellen, dass opwdintg.exe in einem normalen cmd.exe Fenster gestartet wird
• Schema Erweiterung funktioniert mit BasEnv, PowerShell etc nicht.
15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c16
• Beispiel Ausgabe von opwdintg.exe
Administrator@AD:C:u00apporaclework [CL18300] opwdintg.exe
Do you want to extend AD schema? [Yes/No]:yes
Schema master is ad.trivadislabs.com
==========================================================================
Extending AD schema with orclCommonAttribute for user object in AD domain:
DC=trivadislabs,DC=com
==========================================================================
Schema extension for this domain will be permanent. Continue?[Yes/No]:yes
Connecting to "ad.trivadislabs.com"
Logging in as current user using SSPI
Importing directory from file "etadschm.ldf"
Loading entries.....
4 entries modified successfully.
The command has completed successfully
.
Done. Press Enter to continue...
Installation Password Filter
15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c17
Abschluss Installation Passwort Filter
• Entsprechende Gruppen / Benutzer müssen angepasst werden
• Zuweisung der neuen Gruppen
• ORA_VFR_MD5 wird für Oracle Datenbank WebDAV Clients benutzt
• ORA_VFR_11G ermöglicht die Nutzung des Oracle 11g Passwort Verifiers
• ORA_VFR_12C ermöglicht die Nutzung des Oracle 12c Password Verifiers
• Anpassen der Passwörter bzw. Passwort Reset nötig
• orclCommonAttribute wird erst gesetzt wenn Passwort neu gesetzt
• Prüfen ob das Attribut orclCommonAttribute gesetzt wird
15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c18
SQLNet Konfiguration
• Die SQLNet Konfiguration für CMU in dsi.ora oder ldap.ora
• Enthält Informationen zum Active Directory Server, Ports und Admin Kontext
• Oracle sucht die Datei dsi.ora in folgender Reihenfolge
• In der WALLET_LOCATION falls diese in sqlnet.ora angegeben
• In der Standard WALLET_LOCATION falls nicht in sqlnet.ora konfiguriert
• Im Anschluss werden die Verzeichnisse analog für ldap.ora durchsucht
• $LDAP_ADMIN Umgebungsvariable
• $ORACLE_HOME/ldap/admin Verzeichnis
• $TNS_ADMIN Umgebungsvariable
• $ORACLE_HOME/network/admin Verzeichnis
• Falls dsi.ora sowie ldap.ora definiert sind, hat dsi.ora Vorrang
15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c19
• Kombination mit bestehender Namensauflösung möglich
• dsi.ora für Centrally Managed Users
• ldap.ora für die Namensauflösung mit Oracle Names, OID oder OUD
• Individuelle Konfiguration von dsi.ora bei Multitenant Datenbanken
• Generell für die CDBs und alle PDBs
• Nur für die CDB
• Für jede PDB individuell
• Beispiel dsi.ora
DSI_DIRECTORY_SERVERS = (ad.trivadislabs.com:389:636)
DSI_DEFAULT_ADMIN_CONTEXT = "dc=trivadislabs,dc=com"
DSI_DIRECTORY_SERVER_TYPE = AD
SQLNet Konfiguration
15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c20
• Den Oracle Service Account Name hinzufügen
• Root Zertifikat vom Active Directory Server auf den DB Server kopieren
• Ein Wallet für die Anmeldeinformationen vom AD Server erstellen
mkdir $ORACLE_BASE/admin/$ORACLE_SID/wallet
orapki wallet create -wallet $ORACLE_BASE/admin/$ORACLE_SID/wallet -
auto_login
mkstore -wrl $ORACLE_BASE/admin/$ORACLE_SID/wallet -createEntry
ORACLE.SECURITY.USERNAME oracle
Setup Oracle Wallet
• Den distinguished Name DN Oracle Service Account Name hinzufügen
mkstore -wrl $ORACLE_BASE/admin/$ORACLE_SID/wallet -createEntry
ORACLE.SECURITY.DN CN=oracle,CN=Users,DC=trivadislabs,DC=com
15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c21
• MS Active Directory Server Root Zertifikat erfassen
• Passwort für den Oracle Service Account hinzufügen
mkstore -wrl $ORACLE_BASE/admin/$ORACLE_SID/wallet -createEntry
ORACLE.SECURITY.PASSWORD LAB01schulung
orapki wallet add -wallet $ORACLE_BASE/admin/$ORACLE_SID/wallet -cert
$TNS_ADMIN/ad_root_ca.cer -trusted_cert
Setup Oracle Wallet
• Inhalt vom Wallet mit mkstore oder orapki verifizieren
orapki wallet display -wallet $ORACLE_BASE/admin/$ORACLE_SID/wallet
15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c22
• Alternativ kann dazu auch der dbca im CLI oder GUI Mode verwendet werden
• Der dbca benötigt aber unbedingt ein ldap.ora, dsi.ora kennt er nicht J
• MOS Note 2462012.1 beschreibt die CMU Konfiguration
• Für den Zugriff auf den Active Directory Server müssen noch Datenbank Parameter gesetzt
werden
• Manuelles setzen der Parameter
ALTER SYSTEM SET LDAP_DIRECTORY_ACCESS = 'PASSWORD';
ALTER SYSTEM SET LDAP_DIRECTORY_SYSAUTH = YES SCOPE=SPFILE;
Datenbank Konfiguration
15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c23
• Bestehende Benutzer anpassen und auf CMU umstellen
• Zuordnen eines AD Benutzers zu einem globalen DB Benutzer
• Entspricht einem global private Schema in EUS
• Jeder Benutzer hat sein eigenes Datenbank Schema
CREATE USER blofeld IDENTIFIED GLOBALLY AS 'CN=Ernst
Blofeld,OU=Research,OU=People,DC=trivadislabs,DC=com';
GRANT create session TO blofeld;
GRANT SELECT ON v_$session TO blofeld;
ALTER USER blofeld IDENTIFIED GLOBALLY AS 'CN=Ernst
Blofeld,OU=Research,OU=People,DC=trivadislabs,DC=com';
Authentifizierung und Autorisierung
15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c24
• Zuordnung einer AD Gruppe zu einer globalen Rolle
• Zuordnen einer AD Gruppe zu einem shared globalen DB Benutzer
• Entspricht einem global shared Schema in EUS
• Die AD Benutzer „teilen“ sich das Datenbank Schema
CREATE USER tvd_global_users IDENTIFIED GLOBALLY AS 'CN=Trivadis LAB
Users,OU=Groups,DC=trivadislabs,DC=com’;
GRANT create session TO tvd_global_users ;
GRANT SELECT ON v_$session TO tvd_global_users ;
CREATE ROLE management IDENTIFIED GLOBALLY AS
'CN=Trivadis LAB Management,OU=Groups,DC=trivadislabs,DC=com';
Authentifizierung und Autorisierung
• Alle Mitglieder der Gruppe Trivadis LAB Management erhalten die Rolle management
15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c25
• … oder mit DOMAINBenutzer
• Verbinden mit dem User Principal Name (UPN) …
SQL> connect "blofeld@TRIVADISLABS.COM"@TDB184A
Enter password:
Connected.
SQL> connect "TRIVADISLABSblofeld"@TDB184A
Enter password:
Connected.
Verbindung zur Datenbank
• Wird etwas viel mit „“, @ und  insbesondere in Kombination mit EZCONNECT und Passwörtern
15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c26
SQL> connect "rider@TRIVADISLABS.COM"/LAB01schulung@TDB180S
ERROR:
ORA-28306: The directory user has 2 groups mapped to different database
global
users.
Connected.
SQL> show user;
USER is "TVD_GLOBAL_USERS"
• Wer in welcher Gruppe / Rolle ist, ist entscheidend für das Mapping
• Doppelte Gruppenzugehörigkeit führt zu Problemen
• Zudem ist die Objekt Klasse beim Mapping entscheidend
• ObjectClass group vs. ObjectClass Organization
Komplexe Gruppen / Rollen
15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c27
• CMU unterstützt administrative Benutzer wie SYSDBA, SYSOPER etc.
• Konfigurieren von administrativen Benutzern mit…
• Shared Global Schema, Zuweisung via Gruppe à einfaches Management
• Private global Schema, 1:1 Zuweisung zu einem DB Benutzer
• Voraussetzung Passwort Datei orapwd muss im Format 12.2 sein
• Default, wenn ein neue Passwort Datei unter 18c erstellt wird
• Ansonsten neu erstellen oder migrieren
• Format 12.2 erzwingt Benutzerprofile für das SYS Passwort
• Passwortlänge, Case Sensitiv und Sonderzeichen
• Festlegen ob Passwort, Extern oder Globale Authentifizierung
oracle@db:~/ [TDB184A] orapwd describe file=$cdh/dbs/orapwTDB184A
Password file Description : format=12.2
Administrative Benutzer
15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c28
• Alle Benutzer der Gruppe Trivadis LAB DB Admins können sich als SYSDBA anmelden
• Arbeiten als SYSDBA mit zentraler Benutzerverwaltung möglich
• Verbindung als SYSDBA aufbauen
CREATE USER tvd_global_dba IDENTIFIED GLOBALLY AS 'CN=Trivadis LAB DB
Admins,OU=Groups,DC=trivadislabs,DC=com';
GRANT SYSDBA TO tvd_global_dba;
connect "fleming@TRIVADISLABS.COM"@TDB184A AS SYSDBA
Administrative Benutzer mit Shared Global
Schema
• Im AD muss eine entsprechende Gruppe vorhanden sein
• Erstellen eines Shared Global Schema
15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c29
• Im AD muss ein entsprechender Benutzer vorhanden sein
• Erstellen eines Private Global Schema
• Verbindung als SYSDBA aufbauen
CREATE USER bond IDENTIFIED GLOBALLY AS 'CN=James
Bond,OU=Operations,OU=People,DC=trivadislabs,DC=com';
GRANT SYSDBA TO bond;
connect "bond@TRIVADISLABS.COM"@TDB184A AS SYSDBA
Administrative Benutzer mit Private Global
Schema
• Im Vergleich zu Global Shared Schema müssen hier die Benutzer in den Datenbanken
individuell gewartet werden Mehraufwand
15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c30
• Grundsätzlich wie bei bestehenden Benutzern mit SHOW USER oder SESSION_ROLES.
• Detaillierte Informationen im Session Kontext USERENV
• Abfragen mit der Funktion SYS_CONTEXT
• CURRENT_SCHEMA, CURRENT_USER, SESSION_USER, AUTHENTICATION_METHOD,
AUTHENTICATED_IDENTITY, ENTERPRISE_IDENTITY, IDENTIFICATION_TYPE,
LDAP_SERVER_TYPE
SHOW USER;
SELECT ROLE FROM SESSION_ROLES ORDER BY ROLE;
SELECT SYS_CONTEXT('USERENV', 'LDAP_SERVER_TYPE') FROM DUAL;
SYS_CONTEXT('USERENV','LDAP_SERVER_TYPE')
---------------------------------------------------------------
AD
Informationen zu CMU Benutzer
15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c31
• Ja aber…
• Connection Syntax wird mit zusätzlichen [ ] Klammern nicht einfacher
• Wird in der Dokumentation nicht explizit erwähnt
• Proxy mit Passwort Authentifizierung funktioniert nicht
• Proxy mit CMU unterstützt / nicht unterstützt?
• Proxy mit Kerberos Authentifizierung funktioniert
connect tvd_hr["bond@TRIVADISLABS.COM"]@TDB180S
ALTER USER tvd_hr GRANT CONNECT THROUGH king
AUTHENTICATED USING DISTINGUISHED NAME;
connect [tvd_hr]/@TDB180S
Proxy Benutzer und CMU
15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c32
Active Directory Konto-Richtlinien
• Integration der Active Directory Sicherheitsrichtlinien für Benutzer
• Oracle Database erzwingt die AD Richtlinien beim Einloggen
• Service Account für CMU benötigt entsprechende Rechte auf dem AD
• Account Properties zu lesen
• Gewisse Properties wie lockout time zu schreiben
• Oracle verhindert das Einloggen für AD Benutzer mit Kontostatus
• Passwort abgelaufen
• Passwort muss geändert werden
• Konto gesperrt
• Konto deaktiviert
15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c33
• Kontrolle des SPN
• Die Keytab Datei wird mit dem Tool ktpass.exe auf dem Active Directory Server erstellt
C:> setspn -L db.trivadislabs.com
Registered ServicePrincipalNames for
CN=db.trivadislabs.com,CN=Users,DC=trivadislabs,DC=com:
oracle/db.trivadislabs.com
C:> ktpass.exe -princ oracle/db.trivadislabs.com@TRIVADISLABS.COM
-mapuser db.trivadislabs.com -crypto all -pass LAB01schulung -out
C:u00apporaclenetworkadmindb.trivadislabs.com.keytab
Kerberos - Keytab Datei
15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c34
[libdefaults]
default_realm = TRIVADISLABS.COM
clockskew=300
ticket_lifetime = 24h
renew_lifetime = 7d
forwardable = true
[realms]
TRIVADISLABS.COM = {
kdc = win2016ad.trivadislabs.com
admin_server = win2016ad.trivadislabs.com
}
[domain_realm]
.trivadislabs.com = TRIVADISLABS.COM
trivadislabs.com = TRIVADISLABS.COM
• Anpassen der krb5.conf
Kerberos - Server Konfiguration
15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c35
• Erstellen eines Datenbank Benutzers für die Nutzung mit Kerberos
• Gross / Kleinschreibung des UPN (User Principle Name) beachten!
• Zuweisen der benötigen Rechte und Rollen z.B CREATE SESSION
• Anpassen eines bestehenden Benutzers
CREATE USER "KING@TRIVADISLABS.COM" IDENTIFIED EXTERNALLY;
CREATE USER king IDENTIFIED EXTERNALLY AS 'king@TRIVADISLABS.COM';
ALTER USER king IDENTIFIED EXTERNALLY AS 'king@TRIVADISLABS.COM’;
ALTER USER "KING@TRIVADISLABS.COM" IDENTIFIED EXTERNALLY;
Kerberos - Datenbank Konfiguration
• Falls der Kerberos Principal Name länger als 30 Zeichen ist, muss zwingend IDENTIFIED
EXTERNALLY AS verwendet werden
• Somit sind Kerberos Principal Namen bis 1024 Zeichen möglich
15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c36
• Login mit SQLPlus
• Manuell ein Ticket Granting Ticket mit okinit generieren
oracle@db:~/ [TDB184A] okinit king@TRIVADISLABS.COM
Kerberos Utilities for Linux: Version 18.0.0.0.0 - Production on 07-NOV-2018 14:18:18
Copyright (c) 1996, 2017 Oracle. All rights reserved.
Configuration file : /u00/app/oracle/network/admin/krb5.conf.
Password for king@TRIVADISLABS.COM:
oracle@db:~/ [TDB184A] sqlplus /@TDB122A
...
SQL> SELECT sys_context('userenv','authentication_method') FROM dual;
SYS_CONTEXT('USERENV','AUTHENTICATION_METHOD')
--------------------------------------------------------
KERBEROS
Manuelles Ticket Granting Ticket
15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c37
One More Thing
15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c38
• Troubleshooting ist wie bei Kerberos und EUS schwierig
• ORA-01017 in allen möglichen und unmöglichen Situationen
• Hier hilft neben der Kontrolle der Anmeldeinformationen nur ein Trace
• War das Passwort wirklich richtig? Siehe MOS Note 352389.1
SQL> connect "TRIVADISLABSblofeld"@TDB184A
Enter password:
ERROR:
ORA-01017: invalid username/password; logon denied
Warning: You are no longer connected to ORACLE.
ALTER SYSTEM SET EVENTS '1017 trace name errorstack level 10';
Troubleshooting mit CMU
• Allenfalls stimmen aber auch andere Punkte nicht z.B.
• UPN ist falsch oder passt nicht zur DB => User@REALM
15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c39
Troubleshooting mit CMU
• Es gibt auch Fehler, die sind „offensichtlicher“
• Manchmal aber auch nicht
• ORA-28276: Invalid ORACLE password attribute
• Das Attribut orclCommonAttribute wurde nicht korrekt gesetzt
• Prüfen, ob und was in orclCommonAttribute gesetzt ist
• ORA-28030: Server encountered problems accessing LDAP directory
• Prüfen der LDAP Anmeldeinformationen
• ORA-28043: invalid bind credentials for DB-OID connection
• Prüfen der LDAP Anmeldeinformationen
• Bei den Fehlern ORA-28030 und ORA-28043 kann es aber auch einfach ein Bug wie der Bug
28880433 sein
15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c40
• Kontrolle was im Wallet ist
• -list zeigt alle Einträge
• -viewEntry zeigt den entsprechenden Wert an
• Ausführen eines LDAP bind oder LDAP Search
• Hier am Beispiel mit LDAP Search nach sAMAccountName=blo*
mkstore -wrl $ORACLE_BASE/admin/$ORACLE_SID/wallet –list
mkstore -wrl $ORACLE_BASE/admin/$ORACLE_SID/wallet -viewEntry
ORACLE.SECURITY.DN
ldapsearch -h ad.trivadislabs.com -p 389 -D
"CN=oracle18c,CN=Users,DC=trivadislabs,DC=com" -w LAB01schulung -U 2 -W
"file:/u00/app/oracle/admin/TDB184A/wallet" -P LAB01schulung -b
"OU=People,DC=trivadislabs,DC=com" -s sub "(sAMAccountName=blo*)" dn
orclCommonAttribute
Kontrolle der Anmelde Informationen
15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c41
Trivadis LAB
15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c42
Trivadis LAB
• Virtualbox basierte Test und Engineering Umgebung
• Infrastruktur as Code mit Vagrant
• Vagrant Scripts verfügbar im GitHub Repository https://github.com/oehrlis/trivadislabs.com
• Benötigt Vagrant, Virtualbox sowie die verschiedenen Images, Software etc
• HashiCorp Vagrant
https://www.vagrantup.com
• Oracle VM Virtualbox
https://www.virtualbox.org/wiki/Downloads
• Verschiedene VM für unterschiedliche Anwendungsfälle
• win2016ad.trivadislabs.com Windows 2016 Active Directory
• ol7db18.trivadislabs.com Oracle DB Server mit 18c (TDB180C und TDB180S)
• ol7db19.trivadislabs.com Oracle DB Server mit 19c (TDB190C und TDB190S)
• ol7oud12.trivadislabs.com Oracle Unified Directory Server 12c
15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c43
Trivadis LAB Demo Umgebung
15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c44
Trivadis LAB Company
• Fiktives Unternehmen Trivadis Lab mit Benutzer, Abteilungen, etc.
• Der Active Directory Server ist gleichzeitig auch DNS Server
• MS Active Directory Domain ist TRIVADISLABS
• Alle Benutzer haben die gleichen Passwörter
• Username ist jeweils der Nachname
15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c45
• Entsprechende Oracle Software in die ../software Verzeichnisse kopieren
• Initiales Starten und Provisionieren der VM (win2016ad, ol7db18, ol7db19 ol7oud12
• Git Repository clonen
git clone https://github.com/oehrlis/trivadislabs.com.git
cd win2016ad
vagrant up
Vagrant in a Nutshell
• Zugriff via vagrant ssh / rdp
vagrant ssh
sudo su – oracle
vagrant rdp
15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c46
Fazit
15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c47
Herausforderungen mit CMU
• Centrally Managed Users ist ein „junges“ DB Security Feature
• Diverse Kinderkrankheiten sind vorhanden, siehe MOS Note 2462012.1
• Relativ gute Chancen, selber ein Issue zu finden J
• Wird noch nicht häufig eingesetzt
• Verfügbares Know-How und Erfahrung in der Community ist bescheiden
• Centrally Managed Users für Oracle Enterprise und Express Edition
• Weiterhin keine Lösung für Oracle Standard Edition
• Braucht es hier etwas?
• Die Connect Strings sind etwas gewöhnungsbedürftig
• Wie werden diese von den Tools und Applikationen unterstütz?
15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c48
Herausforderungen mit CMU
• Herausforderungen bei..
• komplexen Active Directory Strukturen mit mehreren Forest / Domain
• komplexen Gruppen / Rollen Strukturen
• Auch für Centrally Managed Users (CMU) braucht es zwingend…
• … ein Sicherheitskonzept für die Oracle Datenbanken
• … ein Benutzer und Rollen Konzept
• … personenbezogene Benutzer
• … entsprechender Support von den Anwendungen
15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c49
Quicklinks
• http://url.oradba.ch/AOUG19
15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c50
BASEL | BERN | BRUGG | BUKAREST | DÜSSELDORF | FRANKFURT A.M. | FREIBURG I.BR. | GENF
HAMBURG | KOPENHAGEN | LAUSANNE | MANNHEIM | MÜNCHEN | STUTTGART | WIEN | ZÜRICH
Question and answers…
Stefan Oehrli
Solution Manager / Trivadis Partner
Tel.: +41 58 459 55 55
stefan.oehrli@trivadis.com
@stefanoehrli www.oradba.ch
AOUG 2019 Oracle Centrally Managed Users 18c / 19c

Weitere ähnliche Inhalte

Was ist angesagt?

SOUG Day Oracle 21c New Security Features
SOUG Day Oracle 21c New Security FeaturesSOUG Day Oracle 21c New Security Features
SOUG Day Oracle 21c New Security FeaturesStefan Oehrli
 
Embedded Linux Quick Start Guide v1.5
Embedded Linux Quick Start Guide v1.5Embedded Linux Quick Start Guide v1.5
Embedded Linux Quick Start Guide v1.5Chris Simmonds
 
Course 102: Lecture 18: Process Life Cycle
Course 102: Lecture 18: Process Life CycleCourse 102: Lecture 18: Process Life Cycle
Course 102: Lecture 18: Process Life CycleAhmed El-Arabawy
 
Adapting and adopting spm v04
Adapting and adopting spm v04Adapting and adopting spm v04
Adapting and adopting spm v04Carlos Sierra
 
Alfresco : Implementing Membership and Security
Alfresco  : Implementing Membership and Security	Alfresco  : Implementing Membership and Security
Alfresco : Implementing Membership and Security Wildan Maulana
 
Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...
Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...
Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...Aaron Shilo
 
Oracle RAC 19c: Best Practices and Secret Internals
Oracle RAC 19c: Best Practices and Secret InternalsOracle RAC 19c: Best Practices and Secret Internals
Oracle RAC 19c: Best Practices and Secret InternalsAnil Nair
 
Userfaultfd: Current Features, Limitations and Future Development
Userfaultfd: Current Features, Limitations and Future DevelopmentUserfaultfd: Current Features, Limitations and Future Development
Userfaultfd: Current Features, Limitations and Future DevelopmentKernel TLV
 
Aceticum acidum ( acetic acid ) homeopathic materia medica slide show present...
Aceticum acidum ( acetic acid ) homeopathic materia medica slide show present...Aceticum acidum ( acetic acid ) homeopathic materia medica slide show present...
Aceticum acidum ( acetic acid ) homeopathic materia medica slide show present...Dr.hansraj salve
 
Introduction to shell scripting
Introduction to shell scriptingIntroduction to shell scripting
Introduction to shell scriptingCorrado Santoro
 
Oracle statistics by example
Oracle statistics by exampleOracle statistics by example
Oracle statistics by exampleMauro Pagano
 
Standard Edition High Availability (SEHA) - The Why, What & How
Standard Edition High Availability (SEHA) - The Why, What & HowStandard Edition High Availability (SEHA) - The Why, What & How
Standard Edition High Availability (SEHA) - The Why, What & HowMarkus Michalewicz
 
Yocto - Embedded Linux Distribution Maker
Yocto - Embedded Linux Distribution MakerYocto - Embedded Linux Distribution Maker
Yocto - Embedded Linux Distribution MakerSherif Mousa
 
Redefining tables online without surprises
Redefining tables online without surprisesRedefining tables online without surprises
Redefining tables online without surprisesNelson Calero
 
AURUM METALLICUM Homoeopathic materia medica slide show presentation by Dr.H...
AURUM METALLICUM  Homoeopathic materia medica slide show presentation by Dr.H...AURUM METALLICUM  Homoeopathic materia medica slide show presentation by Dr.H...
AURUM METALLICUM Homoeopathic materia medica slide show presentation by Dr.H...Dr.hansraj salve
 
Alphorm.com support de la formation Git avancé
Alphorm.com support de la formation Git avancé Alphorm.com support de la formation Git avancé
Alphorm.com support de la formation Git avancé Alphorm
 
DevOps Meetup ansible
DevOps Meetup   ansibleDevOps Meetup   ansible
DevOps Meetup ansiblesriram_rajan
 
Course 102: Lecture 12: Basic Text Handling
Course 102: Lecture 12: Basic Text Handling Course 102: Lecture 12: Basic Text Handling
Course 102: Lecture 12: Basic Text Handling Ahmed El-Arabawy
 

Was ist angesagt? (20)

SOUG Day Oracle 21c New Security Features
SOUG Day Oracle 21c New Security FeaturesSOUG Day Oracle 21c New Security Features
SOUG Day Oracle 21c New Security Features
 
Embedded Linux Quick Start Guide v1.5
Embedded Linux Quick Start Guide v1.5Embedded Linux Quick Start Guide v1.5
Embedded Linux Quick Start Guide v1.5
 
Course 102: Lecture 18: Process Life Cycle
Course 102: Lecture 18: Process Life CycleCourse 102: Lecture 18: Process Life Cycle
Course 102: Lecture 18: Process Life Cycle
 
Adapting and adopting spm v04
Adapting and adopting spm v04Adapting and adopting spm v04
Adapting and adopting spm v04
 
Alfresco : Implementing Membership and Security
Alfresco  : Implementing Membership and Security	Alfresco  : Implementing Membership and Security
Alfresco : Implementing Membership and Security
 
Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...
Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...
Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...
 
Oracle RAC 19c: Best Practices and Secret Internals
Oracle RAC 19c: Best Practices and Secret InternalsOracle RAC 19c: Best Practices and Secret Internals
Oracle RAC 19c: Best Practices and Secret Internals
 
Userfaultfd: Current Features, Limitations and Future Development
Userfaultfd: Current Features, Limitations and Future DevelopmentUserfaultfd: Current Features, Limitations and Future Development
Userfaultfd: Current Features, Limitations and Future Development
 
Exadata Cloud Service Overview(v2)
Exadata Cloud Service Overview(v2) Exadata Cloud Service Overview(v2)
Exadata Cloud Service Overview(v2)
 
Aceticum acidum ( acetic acid ) homeopathic materia medica slide show present...
Aceticum acidum ( acetic acid ) homeopathic materia medica slide show present...Aceticum acidum ( acetic acid ) homeopathic materia medica slide show present...
Aceticum acidum ( acetic acid ) homeopathic materia medica slide show present...
 
Introduction to shell scripting
Introduction to shell scriptingIntroduction to shell scripting
Introduction to shell scripting
 
Oracle statistics by example
Oracle statistics by exampleOracle statistics by example
Oracle statistics by example
 
Standard Edition High Availability (SEHA) - The Why, What & How
Standard Edition High Availability (SEHA) - The Why, What & HowStandard Edition High Availability (SEHA) - The Why, What & How
Standard Edition High Availability (SEHA) - The Why, What & How
 
Yocto - Embedded Linux Distribution Maker
Yocto - Embedded Linux Distribution MakerYocto - Embedded Linux Distribution Maker
Yocto - Embedded Linux Distribution Maker
 
Redefining tables online without surprises
Redefining tables online without surprisesRedefining tables online without surprises
Redefining tables online without surprises
 
AURUM METALLICUM Homoeopathic materia medica slide show presentation by Dr.H...
AURUM METALLICUM  Homoeopathic materia medica slide show presentation by Dr.H...AURUM METALLICUM  Homoeopathic materia medica slide show presentation by Dr.H...
AURUM METALLICUM Homoeopathic materia medica slide show presentation by Dr.H...
 
SQL Tuning 101
SQL Tuning 101SQL Tuning 101
SQL Tuning 101
 
Alphorm.com support de la formation Git avancé
Alphorm.com support de la formation Git avancé Alphorm.com support de la formation Git avancé
Alphorm.com support de la formation Git avancé
 
DevOps Meetup ansible
DevOps Meetup   ansibleDevOps Meetup   ansible
DevOps Meetup ansible
 
Course 102: Lecture 12: Basic Text Handling
Course 102: Lecture 12: Basic Text Handling Course 102: Lecture 12: Basic Text Handling
Course 102: Lecture 12: Basic Text Handling
 

Ähnlich wie AOUG 2019 Oracle Centrally Managed Users 18c / 19c

Trivadis triCast Oracle Centrally Managed Users 18/19c
Trivadis triCast Oracle Centrally Managed Users 18/19cTrivadis triCast Oracle Centrally Managed Users 18/19c
Trivadis triCast Oracle Centrally Managed Users 18/19cStefan Oehrli
 
Qualitätsstandards in der Datenbankentwicklung.pdf
Qualitätsstandards in der Datenbankentwicklung.pdfQualitätsstandards in der Datenbankentwicklung.pdf
Qualitätsstandards in der Datenbankentwicklung.pdfOliver Lemm
 
Oracle Private & Public Database-as-a-Service
Oracle Private & Public Database-as-a-ServiceOracle Private & Public Database-as-a-Service
Oracle Private & Public Database-as-a-Serviceoraclebudb
 
Oracle Database 12c Release 2
Oracle Database 12c Release 2 Oracle Database 12c Release 2
Oracle Database 12c Release 2 oraclebudb
 
Überblick zu Oracle Database 12c Release 2
Überblick zu Oracle Database 12c Release 2Überblick zu Oracle Database 12c Release 2
Überblick zu Oracle Database 12c Release 2Ulrike Schwinn
 
20181120_DOAG_OracleNoSQLDB_KPatenge
20181120_DOAG_OracleNoSQLDB_KPatenge20181120_DOAG_OracleNoSQLDB_KPatenge
20181120_DOAG_OracleNoSQLDB_KPatengeKarin Patenge
 
20181210_ITTage2018_OracleNoSQLDB_KPatenge
20181210_ITTage2018_OracleNoSQLDB_KPatenge20181210_ITTage2018_OracleNoSQLDB_KPatenge
20181210_ITTage2018_OracleNoSQLDB_KPatengeKarin Patenge
 
Uwe Ricken – IT-Tage 2015 – Workshop: MS SQL Server Optimierung
Uwe Ricken – IT-Tage 2015 – Workshop: MS SQL Server OptimierungUwe Ricken – IT-Tage 2015 – Workshop: MS SQL Server Optimierung
Uwe Ricken – IT-Tage 2015 – Workshop: MS SQL Server OptimierungInformatik Aktuell
 
Oracle AVDF in der Praxis
Oracle AVDF in der PraxisOracle AVDF in der Praxis
Oracle AVDF in der PraxisTrivadis
 
Automatische Erstellung einer SharePoint 2013 Entwicklungsumgebung in Microso...
Automatische Erstellung einer SharePoint 2013 Entwicklungsumgebung in Microso...Automatische Erstellung einer SharePoint 2013 Entwicklungsumgebung in Microso...
Automatische Erstellung einer SharePoint 2013 Entwicklungsumgebung in Microso...Sebastian Huppmann
 
Oracle Technology Monthly Oktober 2017
Oracle Technology Monthly Oktober 2017Oracle Technology Monthly Oktober 2017
Oracle Technology Monthly Oktober 2017oraclebudb
 
Icinga 2009 at Nagios Workshop
Icinga 2009 at Nagios WorkshopIcinga 2009 at Nagios Workshop
Icinga 2009 at Nagios WorkshopIcinga
 
DOAG 2015 enterprise_securitymitlda_pundpki-pub
DOAG 2015 enterprise_securitymitlda_pundpki-pubDOAG 2015 enterprise_securitymitlda_pundpki-pub
DOAG 2015 enterprise_securitymitlda_pundpki-pubLoopback.ORG
 
Azure Data Factory – Data Management für die Cloud
Azure Data Factory – Data Management für die CloudAzure Data Factory – Data Management für die Cloud
Azure Data Factory – Data Management für die Cloudinovex GmbH
 
Boost your APEX Deployment and Provisioning with Docker
Boost your APEX Deployment and Provisioning with DockerBoost your APEX Deployment and Provisioning with Docker
Boost your APEX Deployment and Provisioning with DockerSteven Grzbielok
 
DOAG SIG Security Vortrag 2013: Wann haben Sie das letzte Mal Ihre Datenbank ...
DOAG SIG Security Vortrag 2013: Wann haben Sie das letzte Mal Ihre Datenbank ...DOAG SIG Security Vortrag 2013: Wann haben Sie das letzte Mal Ihre Datenbank ...
DOAG SIG Security Vortrag 2013: Wann haben Sie das letzte Mal Ihre Datenbank ...Carsten Muetzlitz
 
20160310_ModernApplicationDevelopment_NoSQL_KPatenge
20160310_ModernApplicationDevelopment_NoSQL_KPatenge20160310_ModernApplicationDevelopment_NoSQL_KPatenge
20160310_ModernApplicationDevelopment_NoSQL_KPatengeKarin Patenge
 
Domino 12(.0.2) Lessons learned - DNUG Stammtisch Hamburg
Domino 12(.0.2) Lessons learned - DNUG Stammtisch HamburgDomino 12(.0.2) Lessons learned - DNUG Stammtisch Hamburg
Domino 12(.0.2) Lessons learned - DNUG Stammtisch HamburgDNUG e.V.
 
APEX 5.1 - Architektur, Installation & Betrieb
APEX 5.1 - Architektur, Installation & BetriebAPEX 5.1 - Architektur, Installation & Betrieb
APEX 5.1 - Architektur, Installation & BetriebNiels de Bruijn
 

Ähnlich wie AOUG 2019 Oracle Centrally Managed Users 18c / 19c (20)

Trivadis triCast Oracle Centrally Managed Users 18/19c
Trivadis triCast Oracle Centrally Managed Users 18/19cTrivadis triCast Oracle Centrally Managed Users 18/19c
Trivadis triCast Oracle Centrally Managed Users 18/19c
 
Qualitätsstandards in der Datenbankentwicklung.pdf
Qualitätsstandards in der Datenbankentwicklung.pdfQualitätsstandards in der Datenbankentwicklung.pdf
Qualitätsstandards in der Datenbankentwicklung.pdf
 
Oracle Private & Public Database-as-a-Service
Oracle Private & Public Database-as-a-ServiceOracle Private & Public Database-as-a-Service
Oracle Private & Public Database-as-a-Service
 
Oracle Database 12c Release 2
Oracle Database 12c Release 2 Oracle Database 12c Release 2
Oracle Database 12c Release 2
 
Überblick zu Oracle Database 12c Release 2
Überblick zu Oracle Database 12c Release 2Überblick zu Oracle Database 12c Release 2
Überblick zu Oracle Database 12c Release 2
 
20181120_DOAG_OracleNoSQLDB_KPatenge
20181120_DOAG_OracleNoSQLDB_KPatenge20181120_DOAG_OracleNoSQLDB_KPatenge
20181120_DOAG_OracleNoSQLDB_KPatenge
 
20181210_ITTage2018_OracleNoSQLDB_KPatenge
20181210_ITTage2018_OracleNoSQLDB_KPatenge20181210_ITTage2018_OracleNoSQLDB_KPatenge
20181210_ITTage2018_OracleNoSQLDB_KPatenge
 
Oracle und Docker
Oracle und DockerOracle und Docker
Oracle und Docker
 
Uwe Ricken – IT-Tage 2015 – Workshop: MS SQL Server Optimierung
Uwe Ricken – IT-Tage 2015 – Workshop: MS SQL Server OptimierungUwe Ricken – IT-Tage 2015 – Workshop: MS SQL Server Optimierung
Uwe Ricken – IT-Tage 2015 – Workshop: MS SQL Server Optimierung
 
Oracle AVDF in der Praxis
Oracle AVDF in der PraxisOracle AVDF in der Praxis
Oracle AVDF in der Praxis
 
Automatische Erstellung einer SharePoint 2013 Entwicklungsumgebung in Microso...
Automatische Erstellung einer SharePoint 2013 Entwicklungsumgebung in Microso...Automatische Erstellung einer SharePoint 2013 Entwicklungsumgebung in Microso...
Automatische Erstellung einer SharePoint 2013 Entwicklungsumgebung in Microso...
 
Oracle Technology Monthly Oktober 2017
Oracle Technology Monthly Oktober 2017Oracle Technology Monthly Oktober 2017
Oracle Technology Monthly Oktober 2017
 
Icinga 2009 at Nagios Workshop
Icinga 2009 at Nagios WorkshopIcinga 2009 at Nagios Workshop
Icinga 2009 at Nagios Workshop
 
DOAG 2015 enterprise_securitymitlda_pundpki-pub
DOAG 2015 enterprise_securitymitlda_pundpki-pubDOAG 2015 enterprise_securitymitlda_pundpki-pub
DOAG 2015 enterprise_securitymitlda_pundpki-pub
 
Azure Data Factory – Data Management für die Cloud
Azure Data Factory – Data Management für die CloudAzure Data Factory – Data Management für die Cloud
Azure Data Factory – Data Management für die Cloud
 
Boost your APEX Deployment and Provisioning with Docker
Boost your APEX Deployment and Provisioning with DockerBoost your APEX Deployment and Provisioning with Docker
Boost your APEX Deployment and Provisioning with Docker
 
DOAG SIG Security Vortrag 2013: Wann haben Sie das letzte Mal Ihre Datenbank ...
DOAG SIG Security Vortrag 2013: Wann haben Sie das letzte Mal Ihre Datenbank ...DOAG SIG Security Vortrag 2013: Wann haben Sie das letzte Mal Ihre Datenbank ...
DOAG SIG Security Vortrag 2013: Wann haben Sie das letzte Mal Ihre Datenbank ...
 
20160310_ModernApplicationDevelopment_NoSQL_KPatenge
20160310_ModernApplicationDevelopment_NoSQL_KPatenge20160310_ModernApplicationDevelopment_NoSQL_KPatenge
20160310_ModernApplicationDevelopment_NoSQL_KPatenge
 
Domino 12(.0.2) Lessons learned - DNUG Stammtisch Hamburg
Domino 12(.0.2) Lessons learned - DNUG Stammtisch HamburgDomino 12(.0.2) Lessons learned - DNUG Stammtisch Hamburg
Domino 12(.0.2) Lessons learned - DNUG Stammtisch Hamburg
 
APEX 5.1 - Architektur, Installation & Betrieb
APEX 5.1 - Architektur, Installation & BetriebAPEX 5.1 - Architektur, Installation & Betrieb
APEX 5.1 - Architektur, Installation & Betrieb
 

Mehr von Stefan Oehrli

OracleBeer_Terraform_soe.pdf
OracleBeer_Terraform_soe.pdfOracleBeer_Terraform_soe.pdf
OracleBeer_Terraform_soe.pdfStefan Oehrli
 
DOAG Oracle Database Vault
DOAG Oracle Database VaultDOAG Oracle Database Vault
DOAG Oracle Database VaultStefan Oehrli
 
AUSOUG Oracle Password Security
AUSOUG Oracle Password SecurityAUSOUG Oracle Password Security
AUSOUG Oracle Password SecurityStefan Oehrli
 
IaC MeetUp Active Directory Setup for Oracle Security LAB
IaC MeetUp Active Directory Setup for Oracle Security LABIaC MeetUp Active Directory Setup for Oracle Security LAB
IaC MeetUp Active Directory Setup for Oracle Security LABStefan Oehrli
 
Security Best Practice: Oracle passwords, but secure!
Security Best Practice: Oracle passwords, but secure!Security Best Practice: Oracle passwords, but secure!
Security Best Practice: Oracle passwords, but secure!Stefan Oehrli
 
SOUG PDB Security, Isolation and DB Nest 20c
SOUG PDB Security, Isolation and DB Nest 20cSOUG PDB Security, Isolation and DB Nest 20c
SOUG PDB Security, Isolation and DB Nest 20cStefan Oehrli
 
Security Best Practice: Oracle passwords, but secure!
Security Best Practice: Oracle passwords, but secure!Security Best Practice: Oracle passwords, but secure!
Security Best Practice: Oracle passwords, but secure!Stefan Oehrli
 
Oracle Cloud deployment with Terraform
Oracle Cloud deployment with TerraformOracle Cloud deployment with Terraform
Oracle Cloud deployment with TerraformStefan Oehrli
 
DOAG Oracle Unified Audit in Multitenant Environments
DOAG Oracle Unified Audit in Multitenant EnvironmentsDOAG Oracle Unified Audit in Multitenant Environments
DOAG Oracle Unified Audit in Multitenant EnvironmentsStefan Oehrli
 
SOUG Oracle Unified Audit for Multitenant Databases
SOUG Oracle Unified Audit for Multitenant DatabasesSOUG Oracle Unified Audit for Multitenant Databases
SOUG Oracle Unified Audit for Multitenant DatabasesStefan Oehrli
 
UKOUG TechFest PDB Isolation and Security
UKOUG TechFest PDB Isolation and SecurityUKOUG TechFest PDB Isolation and Security
UKOUG TechFest PDB Isolation and SecurityStefan Oehrli
 
DOAG Webinar Oracle und Docker
DOAG Webinar Oracle und DockerDOAG Webinar Oracle und Docker
DOAG Webinar Oracle und DockerStefan Oehrli
 

Mehr von Stefan Oehrli (13)

OracleBeer_Terraform_soe.pdf
OracleBeer_Terraform_soe.pdfOracleBeer_Terraform_soe.pdf
OracleBeer_Terraform_soe.pdf
 
DOAG Oracle Database Vault
DOAG Oracle Database VaultDOAG Oracle Database Vault
DOAG Oracle Database Vault
 
AUSOUG Oracle Password Security
AUSOUG Oracle Password SecurityAUSOUG Oracle Password Security
AUSOUG Oracle Password Security
 
IaC MeetUp Active Directory Setup for Oracle Security LAB
IaC MeetUp Active Directory Setup for Oracle Security LABIaC MeetUp Active Directory Setup for Oracle Security LAB
IaC MeetUp Active Directory Setup for Oracle Security LAB
 
Security Best Practice: Oracle passwords, but secure!
Security Best Practice: Oracle passwords, but secure!Security Best Practice: Oracle passwords, but secure!
Security Best Practice: Oracle passwords, but secure!
 
SOUG PDB Security, Isolation and DB Nest 20c
SOUG PDB Security, Isolation and DB Nest 20cSOUG PDB Security, Isolation and DB Nest 20c
SOUG PDB Security, Isolation and DB Nest 20c
 
Security Best Practice: Oracle passwords, but secure!
Security Best Practice: Oracle passwords, but secure!Security Best Practice: Oracle passwords, but secure!
Security Best Practice: Oracle passwords, but secure!
 
Oracle Cloud deployment with Terraform
Oracle Cloud deployment with TerraformOracle Cloud deployment with Terraform
Oracle Cloud deployment with Terraform
 
DOAG Oracle Unified Audit in Multitenant Environments
DOAG Oracle Unified Audit in Multitenant EnvironmentsDOAG Oracle Unified Audit in Multitenant Environments
DOAG Oracle Unified Audit in Multitenant Environments
 
SOUG Oracle Unified Audit for Multitenant Databases
SOUG Oracle Unified Audit for Multitenant DatabasesSOUG Oracle Unified Audit for Multitenant Databases
SOUG Oracle Unified Audit for Multitenant Databases
 
UKOUG TechFest PDB Isolation and Security
UKOUG TechFest PDB Isolation and SecurityUKOUG TechFest PDB Isolation and Security
UKOUG TechFest PDB Isolation and Security
 
Oracle and Docker
Oracle and DockerOracle and Docker
Oracle and Docker
 
DOAG Webinar Oracle und Docker
DOAG Webinar Oracle und DockerDOAG Webinar Oracle und Docker
DOAG Webinar Oracle und Docker
 

AOUG 2019 Oracle Centrally Managed Users 18c / 19c

  • 1. BASEL | BERN | BRUGG | BUKAREST | DÜSSELDORF | FRANKFURT A.M. | FREIBURG I.BR. | GENF HAMBURG | KOPENHAGEN | LAUSANNE | MANNHEIM | MÜNCHEN | STUTTGART | WIEN | ZÜRICH www.oradba.ch@stefanoehrli Oracle Centrally Managed Users 18/19c Live Demo zu CMU Stefan Oehrli
  • 2. BASEL | BERN | BRUGG | BUKAREST | DÜSSELDORF | FRANKFURT A.M. | FREIBURG I.BR. | GENF HAMBURG | KOPENHAGEN | LAUSANNE | MANNHEIM | MÜNCHEN | STUTTGART | WIEN | ZÜRICH Stefan Oehrli Solution Manager, Trainer und Partner bei Trivadis • Seit 1997 in verschiedenen IT-Bereichen tätig • Seit 2008 bei der Trivadis AG • Mehr als 20 Jahre Erfahrung im Umgang Fokus: Daten schützen und Datenbanken sicher betreiben • Security Assessments und Reviews • Datenbank Sicherheitskonzepte und deren Umsetzung • Oracle Backup & Recovery Konzepte und Troubleshooting • Oracle Enterprise User Security, Advanced Security, Database Vault, … • Oracle Directory Services Co-Autor des Buches Der Oracle DBA (Hanser, 2016/07) @stefanoehrli
  • 3. Trivadis – Unsere wichtigsten Kennzahlen. • Gründung: 1994 • 16 Trivadis Niederlassungen mit über 650 Mitarbeitenden • Umsatz CHF 111 Mio. (EUR 96 Mio.) • Über 250 Service Level Agreements • Mehr als 4'000 Trainingsteilnehmer • Forschungs- und Entwicklungsbudget: CHF 5.0 Mio. • Mehr als 1'900 Projekte pro Jahr bei über 800 Kunden • Finanziell unabhängig und nachhaltig profitabel • Gründung: 1994 • 16 Trivadis Niederlassungen mit über 650 Mitarbeitenden • Umsatz CHF 111 Mio. (EUR 96 Mio.) • Über 250 Service Level Agreements • Mehr als 4'000 Trainingsteilnehmer • Forschungs- und Entwicklungsbudget: CHF 5.0 Mio. • Mehr als 1'900 Projekte pro Jahr bei über 800 Kunden • Finanziell unabhängig und nachhaltig profitabel 15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c3
  • 4. Agenda • Einleitung Oracle Centrally Managed User 18/19c • Live Demo • MS Active Directory Konfiguration • SQLNet Konfiguration • Datenbank Konfiguration • Authentifizierung und Autorisierung • Weitere Use Cases • Kerberos Konfiguration • Überblick Trivadis LAB • Fazit 15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c4
  • 5. Oracle Centrally Managed User 18/19c 15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c5
  • 6. Integration von MS Active Directory • Neues Security Feature von Oracle Database Relase 18c • Centrally Managed User CMU… • …benötigt kein zusätzliches Oracle Verzeichnis • …ermöglicht die Verwaltung der Benutzer im direkt im MS Active Directory • …benötig keine zusätzliche Lizenz aber • …wird nur von Oracle Enterprise oder Express Edition unterstützt J • …wird nicht in Oracle Standard Edition unterstützt L • Unterstützt gängige Authentifizierungsmethoden • Password- , Kerberos- und PKI / SSL Authentifizierung • Erfordert einen Passwortfilter und eine AD-Schema-Erweiterung für die Password Authentifizierung • Erfordert ein AD-Service Account • Perfekt für kleine und mittlere Unternehmen 15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c6
  • 7. Beispiel Integration mit CMU 15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c7
  • 8. Centrally Managed User mit MS AD • AD Benutzern, die über gemeinsames Schema auf die DB zugreifen • Alle Benutzer verwenden das gleiche DB Schema • Exklusive Zuordnung von AD Benutzern zu einem privaten Schema • Benutzer hat eigenes DB Schema mit direkten Berechtigungen • Benutzer kann eigene Datenbankobjekte erstellen und verwalten • Zuweisen einer AD Gruppe zu einer globalen Rolle • Vergabe zusätzlicher Rechte aufgrund der AD-Gruppenmitgliedschaft • Administrative globale Benutzer mit Administratorrechten • SYSDBA, SYSOPER, SYSDG, SYSKM oder SYSRAC • Kann nicht über globale Rollen gewährt werden • Kombination von CMU, Net Name Services und Directory Services ist möglich 15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c8
  • 9. Live Demo 15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c9
  • 10. Live Demo • MS Active Directory Konfiguration • SQLNet Konfiguration • Datenbank Konfiguration • Authentifizierung und Autorisierung • Kerberos Konfiguration • Weitere Use Cases 15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c10
  • 11. MS Active Directory Konfiguration • Die Datenbank benötigt Zugriff auf MS Active Directory • Leserechte für die Suchen von User / Gruppen • Schreibrechte für das Aktualisieren von Logininformationen • Anlegen eines Oracle Service Account • MS Active Directory Domain Architektur gibt vor, wo der Oracle Service Account anzulegen ist • Bei komplexen AD Domains im Root Verzeichnis • Oracle Service Account muss alle Gruppen/Benutzer “sehen” • Service Account in der Windows Active Directory Root Domain, wenn • …die AD-Benutzer sich in verschiedenen Domänen befinden • …Active Directory mehrere Windows-Domänen hat, welche von CMU unterstütz werden sollen 15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c11
  • 12. Oracle Service Account • Ein Oracle Service Account für mehrere CMU Datenbanken • Nicht jede Datenbank mit CMU benötigt zwingend einen individuellen Account 15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c12
  • 13. Oracle Service Account • Oracle Service Account benötigt zusätzlich folgende Rechte • Read Properties von Active Directory Benutzern • Write LockoutTme von Active Directory Benutzern 15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c13
  • 14. Passwort Authentifizierung • MS Active Directory Anpassung für Passwort Authentifizierung nötig • Standardmässig funktioniert die Datenbank- respektive Passwort Authentifizierung mit MS Active Directory nicht. • Erweiterung des MS Active Directory Schema • Ergänzt das Schema mit dem Attribut orclCommonAttribute • Ermöglicht die Oracle Database Passwort Authentifizierung • Die AD Gruppen ORA_VFR_MD5, ORA_VFR_11G und ORA_VFR_12C werden erstellt • Werden vom Passwort Filter benötigt um die Hashes zu generieren • Achtung Backup vor der Schema Anpassung erstellen • AD Schemaerweiterung kann sonst nicht rückgängig gemacht werden 15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c14
  • 15. Passwort Authentifizierung • Installation Password Filter auf dem Active Directory Server • Legt Passwörter zusätzlich in einem Oracle spezifischen Hash ab • Ggf. auf allen beteiligten Domain Kontrollern installieren • Umgebungssprache muss bei der Installation Englisch sein • Oracle stellt das Tool opwdintg.exe zur Verfügung • Jeweils $ORACLE_HOME/bin abgelegt • Auf Linux Installationen die einzige EXE Datei im ORACLE_HOME J • Fehler falls Schemaerweiterung / Passwort Filter bereits installiert • Reboot vom Active Directory Server ist nötig • Analoge Anpassungen für Enterprise User Security mit AD Integration • Oder auch andere Tools / IDM Lösungen, die auf AD zugreifen • Anpassung wird für Kerberos Authentifizierung nicht benötigt! 15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c15
  • 16. Installation Password Filter • opwdintg.exe auf den Active Directory Server kopieren • Backup der Active Directory Domain erstellen • Installation starten und die Fragen entsprechend beantworten • Do you want to extend AD schema? [Yes/No]: • Schema extension for this domain will be permanent. Continue? [Yes/No]: • Found password filter installed already. Do you want to deinstall? [Yes/No]: • Do you want to install Oracle password filter? [Yes/No]: • The change requires machine reboot. Do you want to reboot now? [Yes/No]: • Sicherstellen, dass opwdintg.exe in einem normalen cmd.exe Fenster gestartet wird • Schema Erweiterung funktioniert mit BasEnv, PowerShell etc nicht. 15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c16
  • 17. • Beispiel Ausgabe von opwdintg.exe Administrator@AD:C:u00apporaclework [CL18300] opwdintg.exe Do you want to extend AD schema? [Yes/No]:yes Schema master is ad.trivadislabs.com ========================================================================== Extending AD schema with orclCommonAttribute for user object in AD domain: DC=trivadislabs,DC=com ========================================================================== Schema extension for this domain will be permanent. Continue?[Yes/No]:yes Connecting to "ad.trivadislabs.com" Logging in as current user using SSPI Importing directory from file "etadschm.ldf" Loading entries..... 4 entries modified successfully. The command has completed successfully . Done. Press Enter to continue... Installation Password Filter 15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c17
  • 18. Abschluss Installation Passwort Filter • Entsprechende Gruppen / Benutzer müssen angepasst werden • Zuweisung der neuen Gruppen • ORA_VFR_MD5 wird für Oracle Datenbank WebDAV Clients benutzt • ORA_VFR_11G ermöglicht die Nutzung des Oracle 11g Passwort Verifiers • ORA_VFR_12C ermöglicht die Nutzung des Oracle 12c Password Verifiers • Anpassen der Passwörter bzw. Passwort Reset nötig • orclCommonAttribute wird erst gesetzt wenn Passwort neu gesetzt • Prüfen ob das Attribut orclCommonAttribute gesetzt wird 15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c18
  • 19. SQLNet Konfiguration • Die SQLNet Konfiguration für CMU in dsi.ora oder ldap.ora • Enthält Informationen zum Active Directory Server, Ports und Admin Kontext • Oracle sucht die Datei dsi.ora in folgender Reihenfolge • In der WALLET_LOCATION falls diese in sqlnet.ora angegeben • In der Standard WALLET_LOCATION falls nicht in sqlnet.ora konfiguriert • Im Anschluss werden die Verzeichnisse analog für ldap.ora durchsucht • $LDAP_ADMIN Umgebungsvariable • $ORACLE_HOME/ldap/admin Verzeichnis • $TNS_ADMIN Umgebungsvariable • $ORACLE_HOME/network/admin Verzeichnis • Falls dsi.ora sowie ldap.ora definiert sind, hat dsi.ora Vorrang 15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c19
  • 20. • Kombination mit bestehender Namensauflösung möglich • dsi.ora für Centrally Managed Users • ldap.ora für die Namensauflösung mit Oracle Names, OID oder OUD • Individuelle Konfiguration von dsi.ora bei Multitenant Datenbanken • Generell für die CDBs und alle PDBs • Nur für die CDB • Für jede PDB individuell • Beispiel dsi.ora DSI_DIRECTORY_SERVERS = (ad.trivadislabs.com:389:636) DSI_DEFAULT_ADMIN_CONTEXT = "dc=trivadislabs,dc=com" DSI_DIRECTORY_SERVER_TYPE = AD SQLNet Konfiguration 15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c20
  • 21. • Den Oracle Service Account Name hinzufügen • Root Zertifikat vom Active Directory Server auf den DB Server kopieren • Ein Wallet für die Anmeldeinformationen vom AD Server erstellen mkdir $ORACLE_BASE/admin/$ORACLE_SID/wallet orapki wallet create -wallet $ORACLE_BASE/admin/$ORACLE_SID/wallet - auto_login mkstore -wrl $ORACLE_BASE/admin/$ORACLE_SID/wallet -createEntry ORACLE.SECURITY.USERNAME oracle Setup Oracle Wallet • Den distinguished Name DN Oracle Service Account Name hinzufügen mkstore -wrl $ORACLE_BASE/admin/$ORACLE_SID/wallet -createEntry ORACLE.SECURITY.DN CN=oracle,CN=Users,DC=trivadislabs,DC=com 15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c21
  • 22. • MS Active Directory Server Root Zertifikat erfassen • Passwort für den Oracle Service Account hinzufügen mkstore -wrl $ORACLE_BASE/admin/$ORACLE_SID/wallet -createEntry ORACLE.SECURITY.PASSWORD LAB01schulung orapki wallet add -wallet $ORACLE_BASE/admin/$ORACLE_SID/wallet -cert $TNS_ADMIN/ad_root_ca.cer -trusted_cert Setup Oracle Wallet • Inhalt vom Wallet mit mkstore oder orapki verifizieren orapki wallet display -wallet $ORACLE_BASE/admin/$ORACLE_SID/wallet 15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c22
  • 23. • Alternativ kann dazu auch der dbca im CLI oder GUI Mode verwendet werden • Der dbca benötigt aber unbedingt ein ldap.ora, dsi.ora kennt er nicht J • MOS Note 2462012.1 beschreibt die CMU Konfiguration • Für den Zugriff auf den Active Directory Server müssen noch Datenbank Parameter gesetzt werden • Manuelles setzen der Parameter ALTER SYSTEM SET LDAP_DIRECTORY_ACCESS = 'PASSWORD'; ALTER SYSTEM SET LDAP_DIRECTORY_SYSAUTH = YES SCOPE=SPFILE; Datenbank Konfiguration 15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c23
  • 24. • Bestehende Benutzer anpassen und auf CMU umstellen • Zuordnen eines AD Benutzers zu einem globalen DB Benutzer • Entspricht einem global private Schema in EUS • Jeder Benutzer hat sein eigenes Datenbank Schema CREATE USER blofeld IDENTIFIED GLOBALLY AS 'CN=Ernst Blofeld,OU=Research,OU=People,DC=trivadislabs,DC=com'; GRANT create session TO blofeld; GRANT SELECT ON v_$session TO blofeld; ALTER USER blofeld IDENTIFIED GLOBALLY AS 'CN=Ernst Blofeld,OU=Research,OU=People,DC=trivadislabs,DC=com'; Authentifizierung und Autorisierung 15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c24
  • 25. • Zuordnung einer AD Gruppe zu einer globalen Rolle • Zuordnen einer AD Gruppe zu einem shared globalen DB Benutzer • Entspricht einem global shared Schema in EUS • Die AD Benutzer „teilen“ sich das Datenbank Schema CREATE USER tvd_global_users IDENTIFIED GLOBALLY AS 'CN=Trivadis LAB Users,OU=Groups,DC=trivadislabs,DC=com’; GRANT create session TO tvd_global_users ; GRANT SELECT ON v_$session TO tvd_global_users ; CREATE ROLE management IDENTIFIED GLOBALLY AS 'CN=Trivadis LAB Management,OU=Groups,DC=trivadislabs,DC=com'; Authentifizierung und Autorisierung • Alle Mitglieder der Gruppe Trivadis LAB Management erhalten die Rolle management 15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c25
  • 26. • … oder mit DOMAINBenutzer • Verbinden mit dem User Principal Name (UPN) … SQL> connect "blofeld@TRIVADISLABS.COM"@TDB184A Enter password: Connected. SQL> connect "TRIVADISLABSblofeld"@TDB184A Enter password: Connected. Verbindung zur Datenbank • Wird etwas viel mit „“, @ und insbesondere in Kombination mit EZCONNECT und Passwörtern 15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c26
  • 27. SQL> connect "rider@TRIVADISLABS.COM"/LAB01schulung@TDB180S ERROR: ORA-28306: The directory user has 2 groups mapped to different database global users. Connected. SQL> show user; USER is "TVD_GLOBAL_USERS" • Wer in welcher Gruppe / Rolle ist, ist entscheidend für das Mapping • Doppelte Gruppenzugehörigkeit führt zu Problemen • Zudem ist die Objekt Klasse beim Mapping entscheidend • ObjectClass group vs. ObjectClass Organization Komplexe Gruppen / Rollen 15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c27
  • 28. • CMU unterstützt administrative Benutzer wie SYSDBA, SYSOPER etc. • Konfigurieren von administrativen Benutzern mit… • Shared Global Schema, Zuweisung via Gruppe à einfaches Management • Private global Schema, 1:1 Zuweisung zu einem DB Benutzer • Voraussetzung Passwort Datei orapwd muss im Format 12.2 sein • Default, wenn ein neue Passwort Datei unter 18c erstellt wird • Ansonsten neu erstellen oder migrieren • Format 12.2 erzwingt Benutzerprofile für das SYS Passwort • Passwortlänge, Case Sensitiv und Sonderzeichen • Festlegen ob Passwort, Extern oder Globale Authentifizierung oracle@db:~/ [TDB184A] orapwd describe file=$cdh/dbs/orapwTDB184A Password file Description : format=12.2 Administrative Benutzer 15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c28
  • 29. • Alle Benutzer der Gruppe Trivadis LAB DB Admins können sich als SYSDBA anmelden • Arbeiten als SYSDBA mit zentraler Benutzerverwaltung möglich • Verbindung als SYSDBA aufbauen CREATE USER tvd_global_dba IDENTIFIED GLOBALLY AS 'CN=Trivadis LAB DB Admins,OU=Groups,DC=trivadislabs,DC=com'; GRANT SYSDBA TO tvd_global_dba; connect "fleming@TRIVADISLABS.COM"@TDB184A AS SYSDBA Administrative Benutzer mit Shared Global Schema • Im AD muss eine entsprechende Gruppe vorhanden sein • Erstellen eines Shared Global Schema 15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c29
  • 30. • Im AD muss ein entsprechender Benutzer vorhanden sein • Erstellen eines Private Global Schema • Verbindung als SYSDBA aufbauen CREATE USER bond IDENTIFIED GLOBALLY AS 'CN=James Bond,OU=Operations,OU=People,DC=trivadislabs,DC=com'; GRANT SYSDBA TO bond; connect "bond@TRIVADISLABS.COM"@TDB184A AS SYSDBA Administrative Benutzer mit Private Global Schema • Im Vergleich zu Global Shared Schema müssen hier die Benutzer in den Datenbanken individuell gewartet werden Mehraufwand 15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c30
  • 31. • Grundsätzlich wie bei bestehenden Benutzern mit SHOW USER oder SESSION_ROLES. • Detaillierte Informationen im Session Kontext USERENV • Abfragen mit der Funktion SYS_CONTEXT • CURRENT_SCHEMA, CURRENT_USER, SESSION_USER, AUTHENTICATION_METHOD, AUTHENTICATED_IDENTITY, ENTERPRISE_IDENTITY, IDENTIFICATION_TYPE, LDAP_SERVER_TYPE SHOW USER; SELECT ROLE FROM SESSION_ROLES ORDER BY ROLE; SELECT SYS_CONTEXT('USERENV', 'LDAP_SERVER_TYPE') FROM DUAL; SYS_CONTEXT('USERENV','LDAP_SERVER_TYPE') --------------------------------------------------------------- AD Informationen zu CMU Benutzer 15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c31
  • 32. • Ja aber… • Connection Syntax wird mit zusätzlichen [ ] Klammern nicht einfacher • Wird in der Dokumentation nicht explizit erwähnt • Proxy mit Passwort Authentifizierung funktioniert nicht • Proxy mit CMU unterstützt / nicht unterstützt? • Proxy mit Kerberos Authentifizierung funktioniert connect tvd_hr["bond@TRIVADISLABS.COM"]@TDB180S ALTER USER tvd_hr GRANT CONNECT THROUGH king AUTHENTICATED USING DISTINGUISHED NAME; connect [tvd_hr]/@TDB180S Proxy Benutzer und CMU 15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c32
  • 33. Active Directory Konto-Richtlinien • Integration der Active Directory Sicherheitsrichtlinien für Benutzer • Oracle Database erzwingt die AD Richtlinien beim Einloggen • Service Account für CMU benötigt entsprechende Rechte auf dem AD • Account Properties zu lesen • Gewisse Properties wie lockout time zu schreiben • Oracle verhindert das Einloggen für AD Benutzer mit Kontostatus • Passwort abgelaufen • Passwort muss geändert werden • Konto gesperrt • Konto deaktiviert 15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c33
  • 34. • Kontrolle des SPN • Die Keytab Datei wird mit dem Tool ktpass.exe auf dem Active Directory Server erstellt C:> setspn -L db.trivadislabs.com Registered ServicePrincipalNames for CN=db.trivadislabs.com,CN=Users,DC=trivadislabs,DC=com: oracle/db.trivadislabs.com C:> ktpass.exe -princ oracle/db.trivadislabs.com@TRIVADISLABS.COM -mapuser db.trivadislabs.com -crypto all -pass LAB01schulung -out C:u00apporaclenetworkadmindb.trivadislabs.com.keytab Kerberos - Keytab Datei 15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c34
  • 35. [libdefaults] default_realm = TRIVADISLABS.COM clockskew=300 ticket_lifetime = 24h renew_lifetime = 7d forwardable = true [realms] TRIVADISLABS.COM = { kdc = win2016ad.trivadislabs.com admin_server = win2016ad.trivadislabs.com } [domain_realm] .trivadislabs.com = TRIVADISLABS.COM trivadislabs.com = TRIVADISLABS.COM • Anpassen der krb5.conf Kerberos - Server Konfiguration 15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c35
  • 36. • Erstellen eines Datenbank Benutzers für die Nutzung mit Kerberos • Gross / Kleinschreibung des UPN (User Principle Name) beachten! • Zuweisen der benötigen Rechte und Rollen z.B CREATE SESSION • Anpassen eines bestehenden Benutzers CREATE USER "KING@TRIVADISLABS.COM" IDENTIFIED EXTERNALLY; CREATE USER king IDENTIFIED EXTERNALLY AS 'king@TRIVADISLABS.COM'; ALTER USER king IDENTIFIED EXTERNALLY AS 'king@TRIVADISLABS.COM’; ALTER USER "KING@TRIVADISLABS.COM" IDENTIFIED EXTERNALLY; Kerberos - Datenbank Konfiguration • Falls der Kerberos Principal Name länger als 30 Zeichen ist, muss zwingend IDENTIFIED EXTERNALLY AS verwendet werden • Somit sind Kerberos Principal Namen bis 1024 Zeichen möglich 15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c36
  • 37. • Login mit SQLPlus • Manuell ein Ticket Granting Ticket mit okinit generieren oracle@db:~/ [TDB184A] okinit king@TRIVADISLABS.COM Kerberos Utilities for Linux: Version 18.0.0.0.0 - Production on 07-NOV-2018 14:18:18 Copyright (c) 1996, 2017 Oracle. All rights reserved. Configuration file : /u00/app/oracle/network/admin/krb5.conf. Password for king@TRIVADISLABS.COM: oracle@db:~/ [TDB184A] sqlplus /@TDB122A ... SQL> SELECT sys_context('userenv','authentication_method') FROM dual; SYS_CONTEXT('USERENV','AUTHENTICATION_METHOD') -------------------------------------------------------- KERBEROS Manuelles Ticket Granting Ticket 15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c37
  • 38. One More Thing 15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c38
  • 39. • Troubleshooting ist wie bei Kerberos und EUS schwierig • ORA-01017 in allen möglichen und unmöglichen Situationen • Hier hilft neben der Kontrolle der Anmeldeinformationen nur ein Trace • War das Passwort wirklich richtig? Siehe MOS Note 352389.1 SQL> connect "TRIVADISLABSblofeld"@TDB184A Enter password: ERROR: ORA-01017: invalid username/password; logon denied Warning: You are no longer connected to ORACLE. ALTER SYSTEM SET EVENTS '1017 trace name errorstack level 10'; Troubleshooting mit CMU • Allenfalls stimmen aber auch andere Punkte nicht z.B. • UPN ist falsch oder passt nicht zur DB => User@REALM 15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c39
  • 40. Troubleshooting mit CMU • Es gibt auch Fehler, die sind „offensichtlicher“ • Manchmal aber auch nicht • ORA-28276: Invalid ORACLE password attribute • Das Attribut orclCommonAttribute wurde nicht korrekt gesetzt • Prüfen, ob und was in orclCommonAttribute gesetzt ist • ORA-28030: Server encountered problems accessing LDAP directory • Prüfen der LDAP Anmeldeinformationen • ORA-28043: invalid bind credentials for DB-OID connection • Prüfen der LDAP Anmeldeinformationen • Bei den Fehlern ORA-28030 und ORA-28043 kann es aber auch einfach ein Bug wie der Bug 28880433 sein 15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c40
  • 41. • Kontrolle was im Wallet ist • -list zeigt alle Einträge • -viewEntry zeigt den entsprechenden Wert an • Ausführen eines LDAP bind oder LDAP Search • Hier am Beispiel mit LDAP Search nach sAMAccountName=blo* mkstore -wrl $ORACLE_BASE/admin/$ORACLE_SID/wallet –list mkstore -wrl $ORACLE_BASE/admin/$ORACLE_SID/wallet -viewEntry ORACLE.SECURITY.DN ldapsearch -h ad.trivadislabs.com -p 389 -D "CN=oracle18c,CN=Users,DC=trivadislabs,DC=com" -w LAB01schulung -U 2 -W "file:/u00/app/oracle/admin/TDB184A/wallet" -P LAB01schulung -b "OU=People,DC=trivadislabs,DC=com" -s sub "(sAMAccountName=blo*)" dn orclCommonAttribute Kontrolle der Anmelde Informationen 15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c41
  • 42. Trivadis LAB 15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c42
  • 43. Trivadis LAB • Virtualbox basierte Test und Engineering Umgebung • Infrastruktur as Code mit Vagrant • Vagrant Scripts verfügbar im GitHub Repository https://github.com/oehrlis/trivadislabs.com • Benötigt Vagrant, Virtualbox sowie die verschiedenen Images, Software etc • HashiCorp Vagrant https://www.vagrantup.com • Oracle VM Virtualbox https://www.virtualbox.org/wiki/Downloads • Verschiedene VM für unterschiedliche Anwendungsfälle • win2016ad.trivadislabs.com Windows 2016 Active Directory • ol7db18.trivadislabs.com Oracle DB Server mit 18c (TDB180C und TDB180S) • ol7db19.trivadislabs.com Oracle DB Server mit 19c (TDB190C und TDB190S) • ol7oud12.trivadislabs.com Oracle Unified Directory Server 12c 15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c43
  • 44. Trivadis LAB Demo Umgebung 15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c44
  • 45. Trivadis LAB Company • Fiktives Unternehmen Trivadis Lab mit Benutzer, Abteilungen, etc. • Der Active Directory Server ist gleichzeitig auch DNS Server • MS Active Directory Domain ist TRIVADISLABS • Alle Benutzer haben die gleichen Passwörter • Username ist jeweils der Nachname 15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c45
  • 46. • Entsprechende Oracle Software in die ../software Verzeichnisse kopieren • Initiales Starten und Provisionieren der VM (win2016ad, ol7db18, ol7db19 ol7oud12 • Git Repository clonen git clone https://github.com/oehrlis/trivadislabs.com.git cd win2016ad vagrant up Vagrant in a Nutshell • Zugriff via vagrant ssh / rdp vagrant ssh sudo su – oracle vagrant rdp 15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c46
  • 47. Fazit 15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c47
  • 48. Herausforderungen mit CMU • Centrally Managed Users ist ein „junges“ DB Security Feature • Diverse Kinderkrankheiten sind vorhanden, siehe MOS Note 2462012.1 • Relativ gute Chancen, selber ein Issue zu finden J • Wird noch nicht häufig eingesetzt • Verfügbares Know-How und Erfahrung in der Community ist bescheiden • Centrally Managed Users für Oracle Enterprise und Express Edition • Weiterhin keine Lösung für Oracle Standard Edition • Braucht es hier etwas? • Die Connect Strings sind etwas gewöhnungsbedürftig • Wie werden diese von den Tools und Applikationen unterstütz? 15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c48
  • 49. Herausforderungen mit CMU • Herausforderungen bei.. • komplexen Active Directory Strukturen mit mehreren Forest / Domain • komplexen Gruppen / Rollen Strukturen • Auch für Centrally Managed Users (CMU) braucht es zwingend… • … ein Sicherheitskonzept für die Oracle Datenbanken • … ein Benutzer und Rollen Konzept • … personenbezogene Benutzer • … entsprechender Support von den Anwendungen 15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c49
  • 50. Quicklinks • http://url.oradba.ch/AOUG19 15.05.19 AOUG - Oracle Centrally Managed Users 18c / 19c50
  • 51. BASEL | BERN | BRUGG | BUKAREST | DÜSSELDORF | FRANKFURT A.M. | FREIBURG I.BR. | GENF HAMBURG | KOPENHAGEN | LAUSANNE | MANNHEIM | MÜNCHEN | STUTTGART | WIEN | ZÜRICH Question and answers… Stefan Oehrli Solution Manager / Trivadis Partner Tel.: +41 58 459 55 55 stefan.oehrli@trivadis.com @stefanoehrli www.oradba.ch