デプロイメントの選択および実装

この項に示す方法を使用して、Oracle Autonomous Database Serverless@Azureを保護します:

  1. Transparent Data EncryptionおよびAzure Key Vaultの使用
  2. Oracle Database Vaultの構成および有効化
  3. Oracle Data Safeへのデータベースの登録
  4. Entra IDとの統合によるユーザーの認証と認可の一元化
  5. Azure Blob Storageにデータをエクスポートするための監査およびデータベース・パイプラインの統合
  6. Oracle Database 23aiでのOracle SQL Firewallの使用

オプション1: Transparent Data EncryptionおよびAzure Key Vaultの使用

Oracle Transparent Data Encryption (TDE)は、すべてのOracle Autonomous Database Serverlessデータベースでデフォルトで構成および有効化されます。

次のステップでは、デフォルトのTDE設定を検証する方法を示します。次に、Oracle Autonomous Database Serverless用にAzure Key Vaultを使用してお客様が管理する暗号化を実装するステップについて説明します。



adbs-key-vault-arch-oracle.zip

ここに示す計画を実装するには、最初に次の前提条件を満たす必要があります。

  • Microsoft Azureコンソールを使用したOracle Autonomous Database Serverlessインスタンスのデプロイ
  • Azure Key Vaultの作成(StandardまたはPremium)
  • Azure Key VaultでのRSA 2048ビット・キーの作成
  • Autonomous Databaseのサービス・プリンシパルを作成します

TDEおよびAzureキー・ボールトを使用するには、次のステップを実行します:

  1. サービス・プリンシパル・ボールト・アクセス・ポリシーを、Oracle Autonomous Database Serverlessインスタンスのazureサービス・プリンシパルに割り当てます:
    1. Azure Key Vaultインスタンスに移動します。
    2. 「設定」をクリックし、「アクセス構成」をクリックします。
    3. 「Vaultアクセス・ポリシー」をクリックします。
    4. 「アクセス・ポリシーに移動」をクリックします。
  2. Vaultアクセス・ポリシーを作成します。
    1. 次の権限を選択します。
      • 取得
      • List
      • 暗号化
      • 署名
      • 検証
    2. 「次へ」をクリックしてください。
  3. Oracle Autonomous Database Serverlessインスタンスに対して作成されたサービス・プリンシパルを選択します
    1. 「確認および作成」に進むまで、「次へ」をクリックします。
    2. 「作成」をクリックします。
  4. Oracle Cloud Infrastructure (OCI)で使用される次の情報を収集して、キー管理用にOracle Autonomous Database Serverlessを構成します。
    • ボールトURI
    • キー名
  5. Azure Key Vaultインスタンス内から、キーの名前をコピーします。
  6. OCIで、Oracle Autonomous Database Serverlessインスタンスに移動します。
    1. 「他のアクション」をクリックします。
    2. 「暗号化鍵の管理」をクリックします。
    3. 「顧客管理キーを使用した暗号化」をクリックします。
    4. 「キー・タイプ」メニューから、「Azure」を選択します。
    5. 次のフィールドにAzureからの情報を移入します:
      • Vault URI (末尾にはスラッシュを指定しません)
      • キー名
    6. 「保存」をクリックします。
      Autonomous Databaseは、「使用可能」が再度表示され、新しく割り当てられたキーが「Autonomous Databaseの詳細」に表示されると、更新に少し時間がかかります。

      キー履歴には、顧客マネージドキー(Microsoft Azure)がTDEに使用されるマスター暗号化キーになったことも表示されます。

  7. 管理者としてデータベースにサインインし、TDEを検証します。

    データベース・クライアントを開き、新しくプロビジョニングされたデータベースに接続します。接続したら、CloudShellまたは類似のSQL問合せを実行して、データベースにTDEマスター・キーがあり、表領域がAES256を使用して暗号化されていることを検証します。

    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>

オプション2: Oracle Database Vaultの構成および有効化

Oracle Autonomous Database ServerlessインスタンスでOracle Database Vaultを構成および有効化して、権限のないアカウント・アクセスからデータを保護します。

Oracle Database Vaultの職務の分離を容易にするために、追加のデータベース・アカウントを作成する必要があります。Oracle Database Vaultを有効にした後、Oracle Database Vaultレルムを作成して、機密データをデータベース内の高度な特権アカウントから分離します。

Oracle Database Vaultを構成および有効化するには:

  1. Oracle Database Vault構成に必要なアカウントを作成します。

    Oracleでは、データからロックアウトされないように、複数のアカウントを作成することをお薦めします。これらのアカウントのパスワードを失うと、データにアクセスできなくなります。

    Oracle Autonomous Database Serverlessデータベースにサインインし、4つのデータベース・アカウントを作成します。2つのアカウントにDatabase Vault所有者ロールが割り当てられ、2つのアカウントにDatabase Vaultアカウント・マネージャ・ロールが割り当てられます。

    次のサンプル・コードを使用して、アカウントを作成します。<user_name>は、関連付けられたアカウントの識別に使用される名前です。

    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. Oracle Database Vaultを構成および有効にします。
    1. adminとしてデータベースにログインし、次のパッケージを実行してOracle Database Vaultを構成します。
      SQL>
      SQL> EXEC DBMS_CLOUD_MCADM.CONFIGURE_DATABASE_VAULT('DBVOWNER', 'DBVACCTMGR');
       
      PL/SQL procedure successfully completed.
      Oracle Database Vaultを構成したら、有効にします。Oracle Database Vaultを有効にすると、Database Vault所有者ロールを持つアカウントでボールト構成を管理でき、Database Vaultアカウント・マネージャ・ロールを持つアカウントでデータベース内のアカウントを作成および管理できます。これで、データベース内の職務の分離を利用できます。
    2. データベースを再起動します。
      OCIのデータベース・インスタンス・ページで、「その他のアクション」をクリックし、「再起動」を選択します。
    3. 次のサンプル・コードを使用して、Oracle Database Vaultが構成および有効化されていることを確認します。
      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. アカウントをバックアップするOracle Database Vaultロールを付与します:
      
      SQL> grant DV_OWNER to DBOWNER_BACKUP;
      
      Grant succeeded.
      
      SQL> grant DV_ACCTMGR to DBVACCTMGR_BACKUP;
      
      Grant succeeded.
      
      SQL>  
  3. 機密データを特権アカウントから分離するレルムを作成します。
    1. レルムを作成する前に、adminとしてログインし、特権アカウントが機密データ(この場合は人事(HR)データ)にアクセスできることを確認します。
      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. Database Vault所有者ロールを持つユーザーとしてOracle Autonomous Database Serverlessにサインインします。このPL/SQLブロックを実行して、Protect HR Dataというレルムを作成します。
      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. レルムによって保護されるデータベース・オブジェクトを追加します。次のPL/SQLブロックを実行して、HRスキーマ内のすべての表を「HRデータの保護」レルムに追加します。
      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. このPL/SQLブロックを実行して、HRスキーマ・アカウントと、レルム認可関係者としてのHRマネージャhr_debraを追加します。これにより、HRマネージャとアプリケーション・サービス・アカウントのみがHRスキーマのデータにアクセスできます。データベース内のDBAアカウントまたはその他の高権限を持つアカウントは、Database Vaultレルムで保護されているデータにアクセスできません。
      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. ADMINがHRデータにアクセスできなくなったことを検証します。
      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>

オプション3: Oracle Data Safeへのデータベースの登録

Oracle Data Safeは、データの機密性を理解し、データに対するリスクの評価、機密データのマスク、セキュリティ制御の実装とモニター、ユーザー・セキュリティの評価、ユーザー・アクティビティのモニター、およびデータ・セキュリティ・コンプライアンス要件への対処を支援する、Oracleデータベースの統合コントロール・センターである。

このオプションでは、ターゲット・インスタンスをOracle Data Safeに登録します。登録に成功したら、セキュリティ評価とユーザー評価の結果を確認し、それぞれのベースラインを構成します。

データベースをOracle Data Safeに登録するには、次のステップを実行します:

  1. Oracle Data Safeにターゲット・データベースを登録します:
    1. OCIコンソールで、データ・セーフの下の「Oracle Database」「概要」の順にクリックします。左側のナビゲーション・ペインで「ターゲット・データベース」をクリックし、「データベースの登録」をクリックします。
    2. 「Oracle Autonomous Database Serverless」を選択し、必要な情報を入力して「登録」をクリックします。
    3. ターゲット登録が成功すると、Oracle Data Safeは、セキュリティ評価スキャンとユーザー評価スキャンの両方を開始します。
  2. セキュリティ評価を確認します。
    1. データ・セーフの概要ページで、左側のナビゲーション・ペインの「セキュリティ評価」をクリックします。ターゲットのサマリー・タブを選択し、データベースのターゲット・サマリーをクリックします。
    2. 下にスクロールして、各結果を確認します。必要に応じて、修正処理を実行し、別のスキャンを開始します。現在のスキャン結果に問題がない場合は、「ベースラインとして設定」をクリックします。今後のすべてのスキャンがベースラインと比較され、データベース構成がセット・ベースラインから逸脱している場合は通知を受け取ります。
  3. ユーザー評価をレビューします。
    1. データ・セーフの概要ページで、左側のナビゲーション・ペインの「セキュリティ評価」をクリックします。ターゲットのサマリー・タブを選択し、データベースのターゲット・サマリーをクリックします。
    2. 下にスクロールして、各結果を確認します。必要に応じて、修正処理を実行し、別のスキャンを開始します。現在のスキャン結果に問題がない場合は、「ベースラインとして設定」をクリックします。今後のすべてのスキャンがベースラインと比較され、データベース構成がセット・ベースラインから逸脱している場合は通知を受け取ります。

オプション4: Entra IDとの統合によるユーザー認証と認可の一元化

Oracle Databaseユーザーのユーザーおよび資格証明の管理は、データベース・インスタンスの数が増えるにつれて、すぐに困難な管理負担になる可能性があります。

Oracleは何十年もの間、この問題を軽減するための革新的なソリューションを構築してきました。Oracle Autonomous Databaseは、Microsoftのクラウド・アイデンティティ・プラットフォームであるEntra ID (以前のActive Directory)によって発行されたOAuth2トークンを尊重します。この機能により、中央クラウド・アイデンティティ・ソリューションでユーザーおよびロールを管理でき、Oracle Autonomous Databaseではポリシーベースのアクセス制御にこれらの資格証明を使用します。

次の図に認証フローを示し、次のステップで説明します。



azure-authentication-oracle.zip

  1. Azureユーザーは、Oracle Autonomous Database Serverlessインスタンスへのアクセスをリクエストします。
  2. データベース・クライアントまたはアプリケーションは、Entra IDからの認可コードをリクエストします。
  3. Entra IDはユーザーを認証し、認可コードを返します。
  4. ヘルパー・ツールまたはアプリケーションはEntra IDの認可コードを使用して、OAuth2トークンと交換します。
  5. データベース・クライアントは、OAuth2アクセス・トークンをOracleデータベースに送信します、トークンには、データベースのためのEntra IDアプリ登録でユーザーが割り当てられたデータベース・アプリケーション・ロールが含まれています。
  6. Oracle Autonomous Database Serverlessインスタンスは、Entra ID公開キーを使用して、アクセス・トークンがEntra IDによって作成されたことを確認します。

ここに示す計画を実装するには、最初に次の前提条件を満たす必要があります。

  • Oracle Autonomous Database ServerlessをMicrosoft Azure Entra IDエンタープライズ・アプリケーションとして設定します(チュートリアルは「詳細」の項で参照されています)。
  • シームレスなAzure Entra ID認証のためのSQL Developerクライアントを設定します。

認証をMicrosoft Entra IDと統合するには、次のステップを実行します。

  1. Azure Entra IDのエンタープライズ・アプリケーションを認証に使用するようにOracle Autonomous Database Serverlessを構成します。

    次の手順では、Entra IDテナンシをアイデンティティ・プロバイダとして使用するようにOracle Autonomous Database Serverlessに指示し、データベースへの認可のためにエンタープライズ・アプリケーションによって発行されたOAuth2トークンを具体的にバインドします。

    1. Oracle Database Actions (SQL Developer Web)インスタンスにサインインします。
    2. 左側のパネルで、適切な「接続」を選択します。
    3. 検索バーの上にあるメニューで「ビュー」をクリックします。
    4. 検索バーで、ビューの名前(MULTICLOUD_DEMO_AZURE_CONFIGSなど)を入力して、ビューをすばやく検索し、ビュー名をクリックします。
    5. 関連付けられたテナントIDおよびアプリケーションURIを含む次のSQLコードを入力します:
      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. ユーザー・アソシエーションを作成します。
    1. Oracle Autonomous Database Serverlessでユーザー・スキーマを作成し、そのユーザーをEntra IDのユーザー・プリンシパルIDに関連付けます。グローバル・ユーザーを定義すると、データベース・ユーザーのアイデンティティをアサートするためにEntra IDトークン・サブジェクトが使用されます。
      このユースケースでは、Entra ID Subject to Databaseの1対1マッピングが使用されます。大規模なデプロイメントの場合、管理者はEntra IDのロールおよびグループ・メンバーシップに基づいて共有スキーマ・ユーザー・マッピングを構成できます。
    2. Oracle Database Actions (SQL Developer Web)インスタンスのデータベース・ユーザーに接続権限を付与します。
      CREATE USER <azure_user_name> IDENTIFIED GLOBALLY AS 'AZURE_USER=<azure_user_name>';
      
      grant connect to <azure_user_name>;
  3. Oracle SQL DeveloperおよびEntra IDを使用してデータベースにサインインします。
    Oracle SQL Developerを開き、Azure Entra IDとの対話型ログインを可能にする最新のJDBCライブラリを使用して、Oracle Autonomous Database Serverlessインスタンスへの接続を構成します。
    1. Oracle SQL Developerの「接続」パネルで、「新規接続」をクリックします。
    2. 接続名を指定します。
    3. 認証タイプとして「OS」を選択します。
    4. 接続タイプとして「カスタムJDBC」を選択します。
    5. JDBC URLを入力します:
      jdbc:oracle:thin:@config=<jdbc_url>
    6. Entra IDへの対話型ログイン用のブラウザを開く「テスト」をクリックして、接続を確認します。
    7. データベース・グローバル・ユーザーとしてマップしたユーザーを使用して認証します。
      ログインに成功すると、オープンしているSQL接続が確立されます。
    8. show userを実行して、スキーマ・ユーザーを返します。
      show user;
      select sys_context('USERENV', 'AUTHENTICATED_IDENTITY') from dual;
    9. セッションのコンテキストをチェックして、認証されたプリンシパルがEntra IDプリンシパルを保持していることを確認します。
      これは、Entra IDユーザーを認証されたプリンシパルによって実行されるトランザクションに関連付けるために、統合監査証跡で使用されます。
    10. データベース接続ウィンドウで「保存」をクリックします。

オプション5: Azure Blob Storageにデータをエクスポートするための監査およびデータベース・パイプラインの統合

強力な予防的セキュリティ・コントロールを持つことは、戦いの半分に過ぎません。攻撃を受けていない場合でも、企業はシステムを監査および監視する必要があります。

データベース・トランザクションの監査証跡を作成することは、トレーサビリティを確保するための強力な方法です。Oracle Autonomous Databaseには、構成およびデプロイの準備ができ、これらの監査ログを選択したマルチクラウド・ストレージにプッシュできるパイプラインが含まれています。この項では、既存のEntra IDサービス・プリンシパル(前の項で作成)を使用して、監査証跡を連続した時間間隔でAzure Blob Storageにプッシュする方法を説明します。



adbs-pipeline-export-arch-oracle.zip

ここに示す計画を実装するには、最初に次の前提条件を満たす必要があります。

  • Oracle Data Safeで統合監査証跡を有効にします。
  • Oracle Autonomous Database Serverlessのサービス・プリンシパルを作成します。
  • Azureストレージ・アカウントを作成します。
  • Oracle Autonomous Database Serverless監査ログのAzureストレージ・アカウントにプライベート・コンテナを作成します。

監査ログを使用および格納するには、次のステップを実行します。

  1. ストレージBLOBデータ・コントリビュータ・ロールをOracle Autonomous Database Serverlessサービス・プリンシパルに割り当てます:
    1. Azureポータルで、以前に作成したストレージ・アカウントを選択します。
    2. 「アクセス制御(IAM)」をクリックします。
    3. 「追加」をクリックしてから、「ロール割当ての追加」をクリックします。
    4. 検索バーを使用して、ストレージ・BLOBデータ・コントリビュータを検索します。
    5. 「ストレージBlobデータ・コントリビュータ」ロールをクリックします。
    6. 「次へ」をクリックしてください。
  2. Oracle Autonomous Database Serverlessサービス・プリンシパルをロール割当てに追加します。
    1. 「メンバー」セクションで、Oracle Autonomous Database Serverlessサービス・プリンシパルを検索します。
    2. メンバーシップを割り当てます。
    3. 「確認と割当」をクリックします。
  3. Azureストレージ・コンテナの場所からパイプライン属性を構成します。

    SQLワークシートを開き、次のSQLプロシージャを実行します(<storage_location_url>はAzure記憶域の場所のURLです)。

    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. エクスポート・パイプラインをテストして実行するように設定するには、次の文を実行します。
    /* 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;
    /
    パイプラインが正しく構成されている場合は、パイプライン属性で構成されたAzure Blobストレージ・コンテナにファイルが表示されます。時間の経過とともに、最新の統合監査証跡レコードのみを含む増分ファイルがストレージ・コンテナに作成されます。

オプション6: Oracle Autonomous Database Serverless 23aiでのOracle SQL Firewallの使用

仮想ネットワーキング・セキュリティ・リストおよびネットワーク・セキュリティ・グループに加えて、Oracle Autonomous Database Serverless 23aiにはOracle SQL Firewallが付属しています。

Oracle SQL Firewallは、データベース・ランタイム内で実行され、ポリシーベースおよびコンテキストベースのアクセス制御をデータに適用する多層防御機能です。

Oracle Database@Azureの場合、SQLファイアウォール・ポリシーは、イングレス・ポイントに関係なく、不正アクセスに対するラストマイル保護を提供できます。



adbs-sqlfirewall-flow-oracle.zip



adbs-sqlfirewall-arch-oracle.zip

ここに示す計画を実装するには、最初に次の前提条件を満たす必要があります。

  • Oracle Data SafeOracle Autonomous Database Serverless 23aiインスタンスに登録します。
  • Oracle Data SafeでSQLファイアウォールを有効にします(指示へのリンクは「詳細表示」の項に記載されています)。

Oracle Autonomous Database Serverless 23aiにOracle SQL Firewallを使用するには、次のステップを実行します:

  1. Entra ID認証用に作成したユーザーのSQLトラフィックの収集を開始します。
    1. SQLファイアウォール・ダッシュボードで、「SQL収集」をクリックします。
    2. SQLファイアウォール・ポリシーを作成するユーザーを指定します。
    3. 「SQL収集の作成および起動」をクリックします。
  2. 選択したユーザーでSQLトラフィックを生成した後、取得したSQL文に基づいてポリシーを構成します。
    1. SQL収集の詳細ページで、「停止」をクリックします。
    2. 「ファイアウォールのポリシーの生成」をクリックします。
    3. 必要なSQLセッション・コンテキスト値をレビューし、必要に応じて更新します。
      たとえば、許可された文の場合は、行を選択し、「更新」をクリックしてから、行の最後にある「X」をクリックして許可された文を削除します。puposesをテストするために、許可されているすべての文に対してこれを実行できます。
    4. 「デプロイして強制」をクリックして、ポリシーを有効にします。
  3. 有効化されたSQLファイアウォール・ポリシーをテストします。
    SQL Developer (または任意のSQLクライアント)を使用して、データベースにサインインし、SQLファイアウォール・ポリシー強制用に作成されたEntra IDユーザーとして認証します(許可されるすべてのSQL文を削除します)。認証後、データベースが正常にセキュリティ・リストおよびネットワーク・セキュリティ・グループを通過したが、SQL接続レベルでリクエストが拒否されたことを示すエラー・メッセージが表示されます。
  4. 違反レポートを表示するには、SQLファイアウォール・ダッシュボードの左側のナビゲーション・ペインで「違反レポート」をクリックします。