Deployment auswählen und implementieren

Verwenden Sie die in diesem Abschnitt aufgeführten Methoden, um Oracle Autonomous Database Serverless@Azure zu sichern:

  1. Transparente Datenverschlüsselung und Azure Key Vault verwenden
  2. Oracle Database Vault konfigurieren und aktivieren
  3. Datenbank bei Oracle Data Safe registrieren
  4. Benutzerauthentifizierung und -autorisierung durch Integration mit Entra-ID zentralisieren
  5. Audit- und Datenbankpipeline vereinheitlichen, um Daten in Azure Blob Storage zu exportieren
  6. Verwenden Sie Oracle SQL Firewall für Oracle Database 23ai

Option 1: Transparente Datenverschlüsselung und Azure Key Vault verwenden

Oracle Transparent Data Encryption (TDE) ist standardmäßig in allen Oracle Autonomous Database Serverless-Datenbanken konfiguriert und aktiviert.

Die folgenden Schritte zeigen Ihnen, wie Sie das Standard-TDE-Setup validieren. Anschließend werden die Schritte zur Implementierung der vom Kunden verwalteten Verschlüsselung mit Azure Key Vault für Oracle Autonomous Database Serverless beschrieben.



adbs-key-vault-arch-oracle.zip

Um den hier vorgestellten Plan zu implementieren, müssen Sie zunächst die folgenden Voraussetzungen erfüllen:

  • Stellen Sie die Oracle Autonomous Database Serverless-Instanz mit der Microsoft Azure-Konsole bereit
  • Erstellen Sie den Azure Key Vault (Standard oder Premium)
  • Erstellen eines RSA-2048-Bit-Schlüssels im Azure Key Vault
  • Service-Principal für Autonomous Database erstellen

Um TDE- und Azure-Key Vault zu verwenden, führen Sie die folgenden Schritte aus:

  1. Weisen Sie die Service-Principal-Vault-Zugriffs-Policys dem azure-Service-Principal für die Oracle Autonomous Database Serverless-Instanz zu:
    1. Gehen Sie zur Azure Key Vault-Instanz.
    2. Klicken Sie auf Einstellungen und dann auf Zugriffskonfiguration.
    3. Klicken Sie auf Vault Access Policy.
    4. Klicken Sie auf Gehe zu Zugriffs-Policys.
  2. Vault-Zugriffs-Policy erstellen:
    1. Wählen Sie die Berechtigungen aus:
      • Get
      • Liste
      • Verschlüsseln
      • Vorzeichen
      • Verifizieren
    2. Klicken Sie auf Weiter.
  3. Wählen Sie den Service-Principal aus, der für die Oracle Autonomous Database Serverless-Instanz erstellt wurde
    1. Klicken Sie auf Weiter, bis Sie zu "Prüfen und erstellen" gelangen.
    2. Klicken Sie auf Create.
  4. Sammeln Sie die folgenden Informationen, die in Oracle Cloud Infrastructure (OCI) verwendet werden sollen, um Oracle Autonomous Database Serverless für die Schlüsselverwaltung zu konfigurieren.
    • Vault-URI
    • Schlüsselname
  5. Kopieren Sie den Namen des Schlüssels aus der Azure Key Vault-Instanz.
  6. Gehen Sie in OCI zu Ihrer Oracle Autonomous Database Serverless-Instanz.
    1. Klicken Sie auf Weitere Aktionen.
    2. Klicken Sie auf Verschlüsselungsschlüssel verwalten.
    3. Klicken Sie auf Mit einem Vom Kunden verwalteten Schlüssel verschlüsseln.
    4. Wählen Sie im Menü "Key Type" die Option Azure aus.
    5. Füllen Sie die folgenden Felder mit den Informationen aus Azure aus:
      • Vault-URI (keinen abschließenden Schrägstrich hinzufügen)
      • Schlüsselname
    6. Klicken Sie auf Speichern.
      Die Aktualisierung von Autonomous Database nimmt einen Moment in Anspruch, wenn wieder "Verfügbar" angezeigt wird. Sie können den neu zugewiesenen Schlüssel in den Autonomous Database-Details anzeigen.

      Die Schlüsselhistorie sollte auch zeigen, dass der vom Kunden verwaltete Schlüssel (Microsoft Azure) jetzt der Masterverschlüsselungsschlüssel ist, der für TDE verwendet wird.

  7. Melden Sie sich als Admin bei der Datenbank an, und validieren Sie TDE.

    Öffnen Sie den Datenbankclient, und melden Sie sich bei der neu bereitgestellten Datenbank an. Nachdem Sie eine Verbindung hergestellt haben, führen Sie diese SQL-Abfrage mit CloudShell oder ähnlichem aus, um zu validieren, dass Ihre Datenbank über einen TDE-Masterschlüssel verfügt und dass Ihre Tablespaces mit AES256 verschlüsselt sind.

    SQL> set page 900
    SQL> set linesize 900
    column activation_time format a40
    column tag format a150
    column pdb_name format a40
    column tablespace_name format a30
    column algorithm format a10SP2-0158: unknown SET option "page"
    SQL> SQL> SQL> SQL> SQL> SQL>
    SQL> select KEY_ID,ACTIVATION_TIME,KEY_USE from V$ENCRYPTION_KEYS;
    
    KEY_ID
    ------------------------------------------------------------
    ACTIVATION_TIME                          KEY_USE
    ---------------------------------------- -----------------
    ATAQECQ0Q8NaSEBa0dDOQ8EPMAAAAAAAAAAAAAAAAAA== 06-MAY-25 01.41.04.516182 PM +00:00  TDE IN PDB
    AVAK/QOQ6Bac3xAJEBAQDAUAAAAAAAAAAAAAAAAAAA== 06-MAY-25 01.58.34.616781 PM +00:00  TDE IN PDB
    
    SQL> select a.name pdb_name, b.name tablespace_name, c.ENCRYPTIONALG algorithm
      2    from v$pdbs a, v$tablespace b, v$encrypted_tablespaces c
      3   where a.con_id = b.con_id
      4     and b.con_id = c.con_id
      5     and b.ts# = c.ts#;
         2    3    4    5
    
    PDB_NAME                                 TABLESPACE_NAME                ALGORITHM
    ---------------------------------------- ------------------------------ ----------
    G283BFEA6ED35C8_MULTICLOUDWEBINAR01      SYSTEM                         AES256
    G283BFEA6ED35C8_MULTICLOUDWEBINAR01      SYSAUX                         AES256
    G283BFEA6ED35C8_MULTICLOUDWEBINAR01      UNDOTBS1                       AES256
    G283BFEA6ED35C8_MULTICLOUDWEBINAR01      USERS                          AES256
    G283BFEA6ED35C8_MULTICLOUDWEBINAR01      DBFS_DATA                      AES256
    G283BFEA6ED35C8_MULTICLOUDWEBINAR01      TEMP                           AES256
    
    6 rows selected.
    
    SQL>

Option 2: Oracle Database Vault konfigurieren und aktivieren

Konfigurieren und aktivieren Sie Oracle Database Vault in Ihrer Oracle Autonomous Database Serverless-Instanz, um Daten vor nicht autorisiertem Zugriff auf privilegierte Accounts zu schützen.

Sie müssen einige zusätzliche Datenbankaccounts erstellen, um die Aufgabentrennung für Oracle Database Vault zu erleichtern. Nachdem Oracle Database Vault aktiviert wurde, erstellen Sie eine Oracle Database Vault-Realm, um die sensiblen Daten von hoch privilegierten Accounts in der Datenbank zu trennen.

So konfigurieren und aktivieren Sie Oracle Database Vault:

  1. Erstellen Sie die erforderlichen Accounts für die Oracle Database Vault-Konfiguration.

    Oracle empfiehlt, mehrere Accounts zu erstellen, um sicherzustellen, dass Ihre Daten nie gesperrt werden. Wenn Sie das Passwort für diese Konten verlieren, ist der Zugriff auf Ihre Daten möglicherweise nicht mehr möglich.

    Melden Sie sich bei der Oracle Autonomous Database Serverless-Datenbank an, und erstellen Sie vier Datenbankaccounts: Zwei Accounts erhalten die Rolle des Database Vault-Eigentümers, und zwei Accounts werden die Rolle des Database Vault-Accountmanagers zugewiesen.

    Verwenden Sie den folgenden Beispielcode, um die Konten zu erstellen, wobei <user_name> der Name ist, mit dem das verknüpfte Konto identifiziert wird.

    Connected to:
    Oracle Database 23ai Enterprise Edition Release 23.0.0.0.0 - for Oracle Cloud and Engineered Systems
    Version 23.8.0.25.05
    
    SQL> create user DBOWNER identified by "<user_name>";
    User created.
    
    SQL> create user DBVACCTMGR identified by "<user_name>";
    User created.
    
    SQL> create user DBOWNER_BACKUP identified by "<user_name>";
    User created.
    
    SQL> create user DBVACCTMGR_BACKUP identified by "<user_name>";
    User created.
    
    SQL> grant connect, resource to DBOWNER;
    Grant succeeded.
    
    SQL> grant connect, resource to DBOWNER_BACKUP;
    Grant succeeded.
    
    SQL> grant connect, resource to DBVACCTMGR;
    Grant succeeded.
    
    SQL> grant connect, resource to DBVACCTMGR_BACKUP;
    Grant succeeded.
    
    SQL> show con_name;
    
    CON_NAME
    ------------------------------
    G283BFEA6ED35C8_MULTICLOUDWEBI
    NAR01
    
    SQL> select * from dba_dv_status;
    
    NAME                STATUS
    ------------------  ----------------
    DV_APP_PROTECTION   NOT CONFIGURED
    DV_CONFIGURE_STATUS FALSE
    DV_ENABLE_STATUS    FALSE
    SQL>
    
  2. Konfigurieren und Aktivieren Sie Oracle Database Vault.
    1. Melden Sie sich als admin bei der Datenbank an, und führen Sie das folgende Package aus, um Oracle Database Vault zu konfigurieren.
      SQL>
      SQL> EXEC DBMS_CLOUD_MCADM.CONFIGURE_DATABASE_VAULT('DBVOWNER', 'DBVACCTMGR');
       
      PL/SQL procedure successfully completed.
      Aktivieren Sie Oracle Database Vault, nachdem Sie es konfiguriert haben. Nachdem Oracle Database Vault aktiviert wurde, können Accounts mit der Rolle "Datenbank-Vault-Eigentümer" die Vault-Konfiguration verwalten. Accounts mit der Rolle "Datenbank-Vault-Accountmanager" können Accounts in der Datenbank erstellen und verwalten. Jetzt können Sie die Aufgabentrennung in der Datenbank nutzen.
    2. Starten Sie die Datenbank neu.
      Klicken Sie auf der Seite "Datenbankinstanz" in OCI auf Weitere Aktionen, und wählen Sie Neu starten aus.
    3. Prüfen Sie, ob Oracle Database Vault mit dem folgenden Beispielcode konfiguriert und aktiviert ist.
      Connected to:
      Oracle Database 23ai Enterprise Edition Release 23.0.0.0.0 - for Oracle Cloud and Engineered Systems
      Version 23.0.0.25.0
      
      SQL> SELECT * FROM DBA_DV_STATUS;
      
      NAME                     STATUS
      ------------------------ ----------------
      DV_APP_PROTECTION        NOT CONFIGURED
      DV_CONFIGURE_STATUS      TRUE
      DV_ENABLE_STATUS         TRUE
      
      SQL>
    4. Erteilen Sie Backupaccounts Oracle Database Vault-Rollen:
      
      SQL> grant DV_OWNER to DBOWNER_BACKUP;
      
      Grant succeeded.
      
      SQL> grant DV_ACCTMGR to DBVACCTMGR_BACKUP;
      
      Grant succeeded.
      
      SQL>  
  3. Erstellen Sie eine Realm, um sensible Daten von privilegierten Accounts zu trennen.
    1. Melden Sie sich vor dem Erstellen der Realm als admin an, und prüfen Sie, ob der privilegierte Account Zugriff auf die sensiblen Daten hat, in diesem Fall Human Resources-(HR-)Daten:
      SQL> show user;
      USER is "ADMIN"
      SQL> select EMPLOYEE_ID,FIRST_NAME,LAST_NAME,SALARY from HR.EMPLOYEES where ROWNUM < 8;
      
      EMPLOYEE_ID FIRST_NAME      LAST_NAME                 SALARY
      ----------- --------------- ------------------------- ----------
              100 Steven          King                         24000
              101 Neena           Yang                         17000
              102 Lex             Garcia                       17000
              103 Alexander       James                         9000
              104 Bruce           Miller                        6000
              105 David           Williams                      4800
              106 Valli           Jackson                       4800
      
      7 rows selected.
      
      SQL>
    2. Melden Sie sich bei Oracle Autonomous Database Serverless als Benutzer mit der Rolle "Datenbank-Vault-Eigentümer" an. Führen Sie diesen PL/SQL-Block aus, um eine Realm mit dem Namen Protect HR Data zu erstellen:
      SQL> begin
        2  DVSYS.DBMS_MACADM.CREATE_REALM(
        3     realm_name => 'Protect HR Data'
        4    , description => 'This Realm will protect HR data from unauthorized privileged user access'
        5    , enabled => 'Y'
        6    , realm_type => DBMS_MACADM.MANDATORY_REALM );
        7  end;
        8  /
      PL/SQL procedure successfully completed.
      
      SQL>
    3. Fügen Sie die Datenbankobjekte hinzu, die durch die Realm geschützt werden sollen. Führen Sie diesen PL/SQL-Block aus, um alle Tabellen im HR-Schema zur Protect HR Data Realm hinzuzufügen:
      SQL> begin
        DVSYS.DBMS_MACADM.ADD_OBJECT_TO_REALM(
          realm_name => 'Protect HR Data',
          object_owner => 'HR',
          object_name => '%',
          object_type => 'TABLE');
      end;
      / 
      2    3    4    5    6    7    8
      
      PL/SQL procedure successfully completed.
      
      SQL>
    4. Führen Sie diesen PL/SQL-Block aus, um den HR-Schemaaccount sowie einen HR-Manager hr_debra als autorisierte Realm-Teilnehmer hinzuzufügen. Dadurch wird sichergestellt, dass nur der Application Service-Account und der HR-Manager auf Daten im HR-Schema zugreifen können. Keine DBA-Accounts oder andere Accounts mit hoher Berechtigung in der Datenbank können auf die Daten zugreifen, die von der Database Vault-Realm geschützt sind.
      SQL> begin
        DVSYS.DBMS_MACADM.ADD_OBJECT_TO_REALM(
          realm_name => 'Protect HR Data',
          object_owner => 'HR',
          object_name => '%',
          object_type => 'TABLE');
      end;
      /  2    3    4    5    6    7    8
      
      PL/SQL procedure successfully completed.
      
      SQL>
    5. Validieren, dass ADMIN nicht mehr auf HR-Daten zugreifen kann:
      SQL> 
      SQL> show user;
      USER is "ADMIN"
      SQL> select EMPLOYEE_ID,FIRST_NAME,LAST_NAME,SALARY from HR.EMPLOYEES where ROWNUM < 8;
      select EMPLOYEE_ID,FIRST_NAME,LAST_NAME,SALARY from HR.EMPLOYEES where ROWNUM < 8
                                                                                       *
      ERROR at line 1:
      ORA-01031: insufficient privileges
      
      
      SQL>

Option 3: Datenbank bei Oracle Data Safe registrieren

Oracle Data Safe ist ein einheitliches Kontrollzentrum für Ihre Oracle-Datenbanken, mit denen Sie die Sensibilität Ihrer Daten verstehen, Risiken in Bezug auf Ihre Daten bewerten, sensible Daten maskieren, Sicherheitskontrollen implementieren und überwachen, die Benutzersicherheit bewerten, Benutzeraktivitäten überwachen und Complianceanforderungen bezüglich der Datensicherheit erfüllen kann.

In dieser Option registrieren Sie die Zielinstanz bei Oracle Data Safe. Prüfen Sie nach der erfolgreichen Registrierung die Sicherheitsbewertung und die Benutzerbewertungsergebnisse, und konfigurieren Sie jeweils Baselines.

Um die Datenbank bei Oracle Data Safe zu registrieren, führen Sie die folgenden Schritte aus:

  1. Registrieren Sie die Zieldatenbank bei Oracle Data Safe:
    1. Klicken Sie in der OCI-Konsole unter "Data Safe" auf Oracle Database und dann auf Überblick. Klicken Sie im linken Navigationsbereich auf Zieldatenbanken, und klicken Sie auf Datenbank registrieren.
    2. Wählen Sie Oracle Autonomous Database Serverless aus, geben Sie die erforderlichen Informationen ein, und klicken Sie auf Registrieren.
    3. Nach erfolgreicher Zielregistrierung initiiert Oracle Data Safe sowohl einen Sicherheitsbewertungsscan als auch einen Benutzerbewertungsscan.
  2. Prüfen Sie die Sicherheitsbewertung:
    1. Klicken Sie auf der Data Safe-Überblickseite im linken Navigationsbereich auf Sicherheitsbewertung. Wählen Sie die Registerkarte "Zielübersicht" aus, und klicken Sie auf die Zielübersicht für die Datenbank.
    2. Scrollen Sie nach unten, und prüfen Sie die einzelnen Ergebnisse. Nehmen Sie ggf. Korrekturmaßnahmen vor, und starten Sie einen weiteren Scan. Wenn Sie mit den aktuellen Scanergebnissen zufrieden sind und die Ergebnisse akzeptieren, klicken Sie auf Als Baseline festlegen. Alle zukünftigen Scans werden mit der Baseline verglichen. Sie erhalten eine Benachrichtigung, wenn die Datenbankkonfiguration von der festgelegten Baseline abweicht.
  3. Prüfen Sie die Benutzerbewertung:
    1. Klicken Sie auf der Data Safe-Überblickseite im linken Navigationsbereich auf "Sicherheitsbewertung". Wählen Sie die Registerkarte "Zielübersicht" aus, und klicken Sie auf die Zielübersicht für die Datenbank.
    2. Scrollen Sie nach unten, und prüfen Sie die einzelnen Ergebnisse. Nehmen Sie ggf. Korrekturmaßnahmen vor, und starten Sie einen weiteren Scan. Wenn Sie mit den aktuellen Scanergebnissen zufrieden sind und die Ergebnisse akzeptieren, klicken Sie auf Als Baseline festlegen. Alle zukünftigen Scans werden mit der Baseline verglichen, und Sie erhalten eine Benachrichtigung, wenn die Datenbankkonfiguration von der festgelegten Baseline abweicht.

Option 4: Benutzerauthentifizierung und -autorisierung durch Integration mit Entra-ID zentralisieren

Die Verwaltung von Benutzern und Zugangsdaten für Oracle Database-Benutzer kann schnell zu einem herausfordernden Verwaltungsaufwand werden, da sich die Anzahl der Datenbankinstanzen multipliziert.

Oracle entwickelt seit Jahrzehnten innovative Lösungen, um dieses Problem zu lösen. Oracle Autonomous Database würdigt OAuth2-Token, die von Entra ID (früher Active Directory), der Cloud-Identitätsplattform von Microsoft, ausgegeben wurden. Mit dieser Funktion können Sie Benutzer und Rollen in einer zentralen Cloud-Identitätslösung verwalten, während Oracle Autonomous Database diese Zugangsdaten für richtlinienbasierte Zugriffskontrollen verwendet.

Der Authentifizierungsfluss wird im folgenden Diagramm dargestellt und in den folgenden Schritten beschrieben:



azure-authentication-oracle.zip

  1. Der Azure-Benutzer fordert Zugriff auf die Oracle Autonomous Database Serverless-Instanz an.
  2. Der Datenbankclient oder die Anwendung fordert einen Autorisierungscode von der Entra-ID an.
  3. Die Entra-ID authentifiziert den Benutzer und gibt den Autorisierungscode zurück.
  4. Das Helper-Tool oder die Anwendung verwendet den Autorisierungscode mit Entra-ID, um ihn gegen das Token OAuth2 auszutauschen.
  5. Der Datenbankclient sendet das Zugriffstoken OAuth2 an die Oracle-Datenbank. Das Token enthält die Datenbankanwendungsrollen, denen der Benutzer in der Entra-ID-App-Registrierung für die Datenbank zugewiesen wurde.
  6. Die Oracle Autonomous Database Serverless-Instanz verwendet den Entra-ID-Public Key, um zu prüfen, ob das Zugriffstoken von der Entra-ID erstellt wurde.

Um den hier vorgestellten Plan zu implementieren, müssen Sie zunächst die folgenden Voraussetzungen erfüllen:

  • Richten Sie Oracle Autonomous Database Serverless als Microsoft Azure Entra ID-Unternehmensanwendung ein (Tutorials finden Sie im Abschnitt Weitere Informationen).
  • Richten Sie den SQL Developer-Client für eine nahtlose Azure Entra ID-Authentifizierung ein.

Um die Authentifizierung mit Microsoft Entra ID zu integrieren, gehen Sie wie folgt vor:

  1. Konfigurieren Sie Oracle Autonomous Database Serverless so, dass die Unternehmensanwendung in Azure Entra ID zur Authentifizierung verwendet wird.

    Die folgende Prozedur weist Oracle Autonomous Database Serverless an, den Entra-ID-Mandanten als Identitätsprovider zu verwenden, und bindet speziell die OAuth2-Token, die von der Unternehmensanwendung zur Autorisierung an die Datenbank ausgegeben werden.

    1. Melden Sie sich bei Ihrer Oracle Database Actions-(SQL Developer Web-)Instanz an.
    2. Wählen Sie im linken Bereich die entsprechende Verbindung aus.
    3. Klicken Sie im Menü über der Suchleiste auf Ansichten.
    4. Geben Sie in der Suchleiste den Namen der Ansicht ein, z.B. MULTICLOUD_DEMO_AZURE_CONFIGS, um die Ansicht schnell zu finden, und klicken Sie dann auf den Ansichtsnamen.
    5. Geben Sie den folgenden SQL-Code mit der zugehörigen Mandanten-ID und Anwendungs-URI ein:
      BEGIN
          DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION(
              type   => 'AZURE_AD',
              params => JSON_OBJECT('tenant_id' VALUE '<tenant_id>',
                                    'application_id' VALUE 'f2c359b4-c3f9-4415-a333-332340376e59',
                                    'application_id_uri' VALUE '<application_id_uri>'),
              force => TRUE
          );
      END;
  2. Erstellen Sie eine Benutzerzuordnung:
    1. Erstellen Sie ein Benutzerschema in Oracle Autonomous Database Serverless, und verknüpfen Sie diesen Benutzer mit der Benutzer-Principal-ID in Entra-ID. Wenn Sie einen globalen Benutzer definieren, wird angegeben, dass das Token-Subject "Entra ID" zur Durchsetzung der Identität des Datenbankbenutzers verwendet wird.
      Für diesen Anwendungsfall wird eine Eins-zu-Eins-Zuordnung von Entra ID Subject zu Database verwendet. Bei größeren Deployments kann ein Administrator die Benutzerzuordnungen für gemeinsame Schemas basierend auf Rollen- und Gruppenmitgliedschaften in Entra ID konfigurieren.
    2. Weisen Sie dem Datenbankbenutzer in der Oracle Database Actions-(SQL Developer Web-)Instanz Verbindungsfunktionen zu:
      CREATE USER <azure_user_name> IDENTIFIED GLOBALLY AS 'AZURE_USER=<azure_user_name>';
      
      grant connect to <azure_user_name>;
  3. Melden Sie sich mit Oracle SQL Developer und Entra ID bei der Datenbank an.
    Öffnen Sie Oracle SQL Developer, und konfigurieren Sie eine Verbindung zur Oracle Autonomous Database Serverless-Instanz mit den neuesten JDBC-Librarys, die eine interaktive Anmeldung mit Azure Entra ID ermöglichen.
    1. Klicken Sie im Bereich "Oracle SQL Developer-Verbindungen" auf Neue Verbindung.
    2. Geben Sie einen Verbindungsnamen an.
    3. Wählen Sie BS als Authentifizierungstyp aus.
    4. Wählen Sie als Verbindungstyp Benutzerdefinierte JDBC aus.
    5. Geben Sie Ihre JDBC-URL ein:
      jdbc:oracle:thin:@config=<jdbc_url>
    6. Prüfen Sie die Verbindung, indem Sie auf Testen klicken. Dadurch wird ein Browser für die interaktive Anmeldung bei Entra ID geöffnet.
    7. Authentifizieren Sie mit dem Benutzer, den Sie als globalen Datenbankbenutzer zugeordnet haben.
      Nach erfolgreicher Anmeldung wird eine offene SQL-Verbindung hergestellt.
    8. Führen Sie show user aus, um den Schemabenutzer zurückzugeben.
      show user;
      select sys_context('USERENV', 'AUTHENTICATED_IDENTITY') from dual;
    9. Überprüfen Sie den Kontext der Sitzung, um zu zeigen, dass der authentifizierte Principal den Entra-ID-Principal behält.
      Dies wird vom einheitlichen Audittrail verwendet, um den Entra-ID-Benutzer den Transaktionen zuzuordnen, die vom authentifizierten Principal ausgeführt werden.
    10. Klicken Sie im Fenster für die Datenbankverbindung auf Speichern.

Option 5: Audit- und Datenbankpipeline vereinheitlichen, um Daten in Azure Blob Storage zu exportieren

Starke präventive Sicherheitskontrollen sind nur die Hälfte des Kampfes; Unternehmen müssen auch ihre Systeme auditieren und überwachen, selbst wenn sie nicht angegriffen werden.

Das Erstellen eines Audittrails Ihrer Datenbanktransaktion ist eine leistungsstarke Möglichkeit, um die Rückverfolgbarkeit sicherzustellen. Oracle Autonomous Database umfasst Pipelines, die konfiguriert und bereitgestellt werden können und die diese Auditlogs an den Multicloud-Speicher Ihrer Wahl übertragen können. Dieser Abschnitt zeigt, wie Sie den vorhandenen Entra-ID-Service-Principal (im vorherigen Abschnitt erstellt) einfach verwenden können, um Ihren Audittrail in einem kontinuierlichen Zeitintervall an Azure Blob Storage zu übertragen.



adbs-pipeline-export-arch-oracle.zip

Um den hier vorgestellten Plan zu implementieren, müssen Sie zunächst die folgenden Voraussetzungen erfüllen:

  • Aktivieren Sie einen einheitlichen Audittrail mit Oracle Data Safe.
  • Erstellen Sie einen Service Principal für Oracle Autonomous Database Serverless.
  • Erstellen Sie einen Azure-Speicheraccount.
  • Erstellen Sie einen privaten Container im Azure-Speicheraccount für die Oracle Autonomous Database Serverless-Auditlogs.

Um Auditlogs zu verwenden und zu speichern, führen Sie die folgenden Schritte aus:

  1. Weisen Sie dem Oracle Autonomous Database Serverless-Service-Principal die Rolle des Storage Blob Data Contributors zu:
    1. Wählen Sie im Azure-Portal den zuvor erstellten Speicheraccount aus.
    2. Klicken Sie auf Zugriffskontrolle (IAM).
    3. Klicken Sie auf Hinzufügen und dann auf Rollenzuweisung hinzufügen.
    4. Verwenden Sie die Suchzeile, um nach Storage Blob Data Contributor zu suchen.
    5. Klicken Sie auf die Rolle Storage Blob Data Contributor.
    6. Klicken Sie auf Weiter.
  2. Fügen Sie den Principal des Oracle Autonomous Database Serverless-Service zur Rollenzuweisung hinzu.
    1. Suchen Sie im Abschnitt "Mitglieder" nach dem Oracle Autonomous Database Serverless-Service-Principal.
    2. Mitgliedschaften zuweisen
    3. Klicken Sie auf Prüfen + Zuweisen.
  3. Konfigurieren Sie die Pipelineattribute aus dem Speicherort des Azure Storage-Containers.

    Öffnen Sie ein SQL-Arbeitsblatt, und führen Sie die folgenden SQL-Prozeduren aus, wobei <storage_location_url> die URL des Azure-Speicherorts ist:

    BEGIN
    DBMS_CLOUD_PIPELINE.SET_ATTRIBUTE( pipeline_name => 'ORA$AUDIT_EXPORT',
      attribute_name => 'credential_name',
      attribute_value => 'AZURE$PA' );
    
    DBMS_CLOUD_PIPELINE.SET_ATTRIBUTE( pipeline_name => 'ORA$AUDIT_EXPORT',
      attribute_name => 'location',
      attribute_value => '<storage_location_url>' );
    
    DBMS_CLOUD_PIPELINE.SET_ATTRIBUTE( pipeline_name => 'ORA$AUDIT_EXPORT',
      attribute_name => 'interval',
      attribute_value => '15' );
    
    END;
    /
  4. Um die Exportpipeline zu testen und die Ausführung festzulegen, führen Sie die folgenden Anweisungen aus:
    /* THIS RUNS THE PIPELINE ONCE*/
    /
    BEGIN DBMS_CLOUD_PIPELINE.RUN_PIPELINE_ONCE( pipeline_name => 'ORA$AUDIT_EXPORT' );
    END;
    /
    
    /* IF SUCCESSFUL - THIS WILL RESET THE PIPELINE*/
    /
    BEGIN DBMS_CLOUD_PIPELINE.RESET_PIPELINE( pipeline_name => 'ORA$AUDIT_EXPORT', purge_data => TRUE);
    END;
    /
    
    /* THIS WILL MAKE IT ACTIVE AND RUNNING ON THE SET INTERVAL */
    /
    BEGIN DBMS_CLOUD_PIPELINE.START_PIPELINE( pipeline_name => 'ORA$AUDIT_EXPORT' );
    END;
    /
    Wenn die Pipeline richtig konfiguriert ist, wird eine Datei im Azure-Blob-Speichercontainer angezeigt, die in den Pipelineattributen konfiguriert wurde. Im Laufe der Zeit werden inkrementelle Dateien im Speichercontainer erstellt, die nur die neuesten einheitlichen Audittraildatensätze enthalten.

Option 6: Oracle SQL Firewall für Oracle Autonomous Database Serverless 23ai verwenden

Neben den virtuellen Netzwerksicherheitslisten und Netzwerksicherheitsgruppen wird Oracle Autonomous Database Serverless 23ai mit Oracle SQL Firewall ausgeliefert.

Oracle SQL Firewall ist ein Defense-in-Depth-Feature, das innerhalb der Datenbanklaufzeit ausgeführt wird und eine richtlinienbasierte und kontextbasierte Zugriffskontrolle für Ihre Daten durchsetzt.

Für Oracle Database@Azure können die SQL-Firewall-Policys unabhängig vom Ingress-Punkt den Schutz auf der letzten Meile vor unbefugtem Zugriff bieten.



adbs-sqlfirewall-flow-oracle.zip



adbs-sqlfirewall-arch-oracle.zip

Um den hier vorgestellten Plan zu implementieren, müssen Sie zunächst die folgenden Voraussetzungen erfüllen:

  • Registrieren Sie Oracle Data Safe bei der Oracle Autonomous Database Serverless 23ai-Instanz.
  • Aktivieren Sie die SQL-Firewall in Oracle Data Safe (im Abschnitt "Weitere Informationen" finden Sie einen Link zu Anweisungen).

Um Oracle SQL Firewall für Oracle Autonomous Database Serverless 23ai zu verwenden, führen Sie die folgenden Schritte aus:

  1. Erfassen Sie SQL-Traffic für den Benutzer, den Sie für die Entra ID-Authentifizierung erstellt haben:
    1. Klicken Sie im SQL Firewall-Dashboard auf SQL-Collections.
    2. Geben Sie den Benutzer an, der die SQL-Firewall-Policy erstellen soll.
    3. Klicken Sie auf SQL-Collection erstellen und beginnen.
  2. Nachdem Sie SQL-Traffic mit dem ausgewählten Benutzer generiert haben, konfigurieren Sie die Policy basierend auf den erfassten SQL-Anweisungen:
    1. Klicken Sie auf der Detailseite der SQL-Collection auf Stoppen.
    2. Klicken Sie auf Firewall-Policy generieren.
    3. Prüfen und aktualisieren Sie optional die zulässigen SQL-Sessionkontextwerte nach Bedarf.
      Beispiel: Wählen Sie für eine zulässige Anweisung eine Zeile aus, klicken Sie auf Aktualisieren, und klicken Sie am Ende der Zeile auf das X, um die zulässige Anweisung zu entfernen. Für das Testen von Pupasen können Sie dies für alle zulässigen Anweisungen tun.
    4. Klicken Sie auf Bereitstellen und durchsetzen, um die Policy zu aktivieren.
  3. Testen Sie die aktivierte SQL-Firewall-Policy.
    Melden Sie sich mit SQL Developer (oder einem beliebigen SQL-Client) bei der Datenbank an, und authentifizieren Sie sich als Entra-ID-Benutzer, der für die Durchsetzung der SQL Firewall-Policy erstellt wurde (wobei alle zulässigen SQL-Anweisungen entfernt wurden). Nach der Authentifizierung gibt die Fehlermeldung an, dass die Datenbank die Sicherheitslisten und Netzwerksicherheitsgruppen erfolgreich durchlaufen hat. Die Anforderung wird jedoch auf SQL-Verbindungsebene abgelehnt.
  4. Um Verletzungsberichte anzuzeigen, klicken Sie im linken Navigationsbereich des SQL Firewall-Dashboards auf Verletzungsberichte.