Mehrere Anwendungen in einer Oracle-CDB teilen sich Instanz und Datenbanksoftware. Rollen und Systemprivilegien bleiben wichtig, doch manche Plattformfunktionen oder Operationen sollen unabhängig davon in einer einzelnen Pluggable Database (PDB) nicht verfügbar sein. Dafür gibt es PDB Lockdown Profiles: benannte Regelwerke, mit denen sich bestimmte Statements, Features oder Datenbankoptionen für eine PDB einschränken lassen.
Ein Profil für eine konkrete Anforderung anlegen
Profile werden mit den passenden Rechten im CDB-Root oder Application-Root erstellt und dort konfiguriert. Ein einfaches Beispiel sperrt zunächst ALTER SYSTEM und erlaubt anschließend nur eine gezielte Klausel wieder:
CREATE LOCKDOWN PROFILE app_pdb_guard;
ALTER LOCKDOWN PROFILE app_pdb_guard
DISABLE STATEMENT = ('ALTER SYSTEM');
ALTER LOCKDOWN PROFILE app_pdb_guard
ENABLE STATEMENT = ('ALTER SYSTEM')
CLAUSE = ('FLUSH SHARED POOL');
Das Muster „erst breit deaktivieren, dann bewusst freigeben“ ist nützlich, wenn eine Umgebung wenige administrative Ausnahmen benötigt. Weitere Regeln können unter anderem bestimmte Features oder Optionen betreffen. Welche Regel sinnvoll ist, hängt vom Workload ab: Eine Einschränkung auf Netzwerk- oder Dateizugriff kann beispielsweise Integrationen oder Wartungsjobs beeinflussen. Prüfen Sie daher vorab, welche Komponenten diese Funktion tatsächlich verwenden.
Pro PDB aktivieren – und Vererbung beachten
In der Ziel-PDB wird das Profil über den Initialisierungsparameter PDB_LOCKDOWN gesetzt. Die Regeln greifen unmittelbar, ein Instanzneustart ist laut Oracle-Dokumentation nicht erforderlich:
ALTER SYSTEM SET PDB_LOCKDOWN = app_pdb_guard;
Wird der Parameter im CDB-Root gesetzt, gilt das Profil grundsätzlich für die PDBs; eine Einstellung auf PDB-Ebene kann die Root-Vorgabe übersteuern. Bei Application-Containern kommt die entsprechende Vererbung vom Application-Root hinzu. Prüfen Sie deshalb die effektive Konfiguration in der gesamten Container-Hierarchie und planen Sie nicht mit der Annahme, dass sich Regeln verschiedener Profile immer addieren.
Einführung mit kleinem Risiko
- Anforderung konkretisieren: Welche Operation soll in welcher PDB verhindert werden – und welche Ausnahmen sind zwingend?
- Regeln zuerst in einer nicht-produktiven PDB aktivieren und APEX-, ORDS-, Deployment-, Backup- und Monitoring-Abläufe durchtesten.
- Konfiguration aus Root-Sicht über
CDB_LOCKDOWN_PROFILESkontrollieren; innerhalb der PDB helfenV$LOCKDOWN_RULESbeim Prüfen der wirksamen Regeln. - Einführung dokumentieren, inklusive verantwortlicher Stelle und Rücknahmeweg. Da die Regeln sofort greifen, sollte die Änderung wie ein produktiver Sicherheits-Rollout behandelt werden.
Wenn Sie ein Profil von einem vorhandenen Basisprofil ableiten, wählen Sie bewusst zwischen FROM und INCLUDING: FROM übernimmt einen statischen Stand; INCLUDING kann bestimmte Sperrregeln des Basisprofils dynamisch erben. Diese Entscheidung beeinflusst spätere Änderungen und sollte Teil des Konfigurationsreviews sein.
Fazit
PDB Lockdown Profiles bieten DBAs einen zusätzlichen Hebel, um die verfügbare Plattformfunktion je Mandant oder Anwendung einzugrenzen. Der Nutzen entsteht nicht durch möglichst viele Sperren, sondern durch eine gezielte Policy, verstandene Vererbung und Tests aller abhängigen Betriebsabläufe. So wird aus einer Sicherheitsoption eine wartbare Multitenant-Konfiguration.
Weiterführend: Oracles Dokumentation zu PDB Lockdown Profiles und die SQL-Referenz für ALTER LOCKDOWN PROFILE.