Log Analyticsでのログのセキュリティ

Oracle Log Analyticsは、ログに安全なデータ転送とストレージを提供します。このサービスは、Oracle Cloud Infrastructure (OCI)に本質的に使用可能な様々なセキュリティ機能を利用して、ログを保護するために拡張します。

移動中のログのセキュリティ

データが転送中の場合、OCI外部からOCI内へのすべての通信は、暗号化レイヤーが有効になっているhttpsプロトコルを介して行われます。これにより、MitMフィッシング攻撃からの機密データ保護が保証されます。

保存中のログのセキュリティ

次の機能により、OCIでの保存中にログがアクティブまたはアーカイブ・データであっても、ログは安全に保たれます。

  • AES-256サーバー側暗号化: OCIでは、256ビット暗号化のAdvanced Encryption Standard (AES)アルゴリズムを使用して、サーバー側のすべてのブロック・ボリューム、ブート・ボリューム、ボリューム・バックアップおよびオブジェクト・ストレージを常に暗号化および復号化します。Oracle Cloud Infrastructureドキュメンテーションオブジェクト・ストレージ暗号化およびブロック・ボリューム暗号化を参照してください。

    暗号化はデフォルトで有効になっており、オフにすることはできません。デフォルトでは、Oracleはマスター暗号化キーを管理します。

  • AES/GCM 256ビット・クライアント側の暗号化: OCI SDK for PythonおよびSDK for Javaでは、クライアント側の暗号化がサポートされています。クライアント側のデータは、「ローカルに格納する前」、または他のOCIサービスでそのデータを使用する前にクライアント側で暗号化されます。Oracle Cloud Infrastructureドキュメント: クライアント側の暗号化を参照してください。
  • 顧客提供の暗号化キー: Oracle Log Analyticsでは、OCI Vaultに格納した独自の暗号化キーを使用して、ログを暗号化できます。ログ・データのサイズに基づいてOracle Supportに連絡し、独自のキーを使用して暗号化のリクエストを発行すると、Oracleによって専用のブロック・ボリュームまたはオブジェクト・ストレージ・バケットが作成されます。これにより、データが分離され、選択的に暗号化されます。

    この機能を有効にすると、アクティブ・データに対してブロック・ボリュームで暗号化キーを使用するか、アーカイブ・データに対してオブジェクト・ストレージを使用するかを選択できます。

    詳細は、独自の暗号化キーの使用を参照してください。

独自の暗号化キーの使用

次のステップでは、独自の暗号化キーを確立し、Oracle Log Analyticsで使用するワークフローを示します。

トピック:

ノート

警告: データ損失の回避

次のいずれかのシナリオでは、データ収集が失敗し、Oracle Log Analytics内のデータが失われます:

  • キー・ローテーションの進行中に古いキーまたは新しいキーを削除した場合
  • 現在暗号化に使用されている鍵を削除した場合
  • 顧客提供の暗号化に関するIAMポリシーを変更すると、Oracle Cloudサービスがデータ・ストレージにアクセスできなくなります

Oracle Log Analyticsで独自の暗号化キーを使用するステップ

これらのステップに従うことで、Oracle Log Analyticsで独自の暗号化キーを正常に使用し、既存のキーを確認し、oci cliコマンドを使用して割当てを監視できます:

  1. リクエスト機能の有効化:

    テナンシの顧客提供の暗号化キー機能を有効にするには、Oracle Supportに連絡してください。Oracle Cloud Supportポータルからサービス・リクエスト(SR)を登録します。

    Oracleが機能が有効になっていることを確認した後にのみ、次のステップに進みます。

  2. OCI Vaultで暗号化キーを作成または選択します:

    OCI「セキュリティ」に移動し、「Vault」を選択します。ボールトを選択または作成してから、使用するキーを作成または選択します。OCI Vaultを使用すると、ボールト、キーおよびシークレットを管理できます。Oracle Cloud Infrastructureドキュメント: キーの管理を参照してください。

    ノート

    Block Volumes (アクティブ・ストレージ・データ)には、256ビットAdvanced Encryption Standard (AES-256)暗号化キーのみを使用します。ブロック・ボリューム暗号化キーに関する項を参照してください。

  3. 暗号化キー情報をノートにとります:

    次のステップで使用するために、Vault、VaultコンパートメントOCIDおよびキーが配置されているコンパートメントOCIDで、選択したキーのOCIDを見つけてコピーします。

  4. 必要なIAMポリシーの構成:

    キー管理、専用リソースからのデータへのアクセス、およびOracle Log Analyticsがログで暗号化キーを使用できるようにするために必要なIAMポリシー・ステートメントが作成されていることを確認します。ログを暗号化するための顧客指定キーの使用の許可を参照してください。

  5. Oracle Log Analyticsストレージにキーを割り当てます:

    oci cliリクエストでキーを割り当てます。

    oci log-analytics storage assign-encryption-key --key-id <key-id> --key-type <key_type> --namespace-name <namespace_name>
    • <key-id>を暗号化キーのOCIDに置き換えます。
    • <key_type>をアクティブ記憶域の場合は"ACTIVE_DATA"、アーカイブ記憶域の場合は"ARCHIVAL_DATA"に設定します。
    • <namespace_name>をテナンシ・ネームスペース名に置き換えます。

    前述のコマンドに対するレスポンスからの作業リクエストIDに注意してください。

    CLIコマンド、パラメータおよび例の詳細は、assign-encryption-keyを参照してください。

  6. 暗号化キー割当てステータスのモニター:

    進捗を追跡するには、上の応答から作業要求IDを使用します。

    oci log-analytics storage get-storage-work-request --namespace-name <namespace_name> --work-request-id <work_request_id>
    • <work_request_id>を、assign-encryption-key oci cliコールから返されたIDに置き換えます。
    • <namespace_name>をテナンシ・ネームスペース名に置き換えます。
    • 応答のステータスおよび詳細をレビューします。キー割当ては、レスポンス・ステータスがSUCCEEDEDの場合に完了します。

    CLIコマンド、パラメータ、および例の詳細は、get-storage-work-requestを参照してください。

    サンプル・レスポンス:

    {
      "compartmentId": "ocid1.tenancy.oc1..xxxxx",
      "id": "ocid1.loganalyticsstorageworkrequest.oc1.xxxxx",
      "operationDetails": "Encryption Completed",
      "operationType": "ENCRYPT_ACTIVE_DATA",
      "percentComplete": 100,
      "status": "SUCCEEDED",
      "statusDetails": "ENCRYPTED",
      "timeAccepted": "2025-05-30T18:29:05.153+00:00",
      "timeExpires": null,
      "timeFinished": "2025-05-30T18:30:27.980+00:00",
      "timeStarted": "2025-05-30T18:30:23.054+00:00"
    }

この機能を有効にすると、別の場所にある古いログ・データは、OCI管理暗号化キーを使用して引き続き暗号化されます。有効化の後に追加されるすべての新規データは、独自の暗号化キーを使用して暗号化されます。

ストレージ暗号化鍵の一覧表示

Oracle Log Analyticsテナンシに関連付けられている暗号化キーは、いつでも確認できます:

oci log-analytics storage list-encryption-key-info --namespace-name <namespace_name>

<namespace_name>をテナンシ・ネームスペース名に置き換えます。

JSONレスポンスの例:

[
  {
    "keyId": "ocid1.key.oc1..xxxxx",
    "keySource": "CUSTOMER_MANAGED",
    "keyType": "ACTIVE_DATA"
  },
  {
    "keyId": "ocid1.key.oc1..xxxxx",
    "keySource": "CUSTOMER_MANAGED",
    "keyType": "ARCHIVAL_DATA"
  }
]

CLIコマンド、パラメータおよび例の詳細は、list-encryption-key-infoを参照してください。

ストレージ暗号化キーのローテーション

暗号化キーを定期的にローテーションすることは、データ・セキュリティを強化するためのベスト・プラクティスです。Oracle Log Analyticsでは、assign-encryption-key oci cliコマンドを使用して新しいキーを割り当てて、キーをローテーションできます。次のステップは、プロセスの完了時にキーをローテーションし、進捗を監視し、古いキーをクリーンアップする方法を示しています。

  1. 新しい暗号化キーを準備します:

    OCI Vaultで新しい暗号化キーを生成または選択します。

    ノート

    Block Volumes (アクティブ・ストレージ・データ)には、256ビットAdvanced Encryption Standard (AES-256)暗号化キーのみを使用します。ブロック・ボリューム暗号化キーに関する項を参照してください。

    Oracle Log Analyticsに新しいキーを使用するために必要なIAMポリシーがあることを確認します。ログを暗号化するための顧客指定キーの使用の許可を参照してください。

  2. Oracle Log Analyticsストレージにキーを割り当てます:

    oci cliリクエストでキーを割り当てます。

    oci log-analytics storage assign-encryption-key --key-id <key-id> --key-type <key_type> --namespace-name <namespace_name>
    • <key-id>を暗号化キーのOCIDに置き換えます。
    • <key_type>をアクティブ記憶域の場合は"ACTIVE_DATA"、アーカイブ記憶域の場合は"ARCHIVAL_DATA"に設定します。
    • <namespace_name>をテナンシ・ネームスペース名に置き換えます。

    CLIコマンド、パラメータおよび例の詳細は、assign-encryption-keyを参照してください。

  3. 暗号化キー割当てステータスのモニター:

    進捗を追跡するには、上の応答から作業要求IDを使用します。

    oci log-analytics storage get-storage-work-request --namespace-name <namespace_name> --work-request-id <work_request_id>
    • <work_request_id>を、assign-encryption-key oci cliコールから返されたIDに置き換えます。
    • <namespace_name>をテナンシ・ネームスペース名に置き換えます。
    • 応答のステータスおよび詳細をレビューします。キー割当ては、レスポンス・ステータスがSUCCEEDEDの場合に完了します。

    CLIコマンド、パラメータ、および例の詳細は、get-storage-work-requestを参照してください。

    サンプル・レスポンス:

    {
      "compartmentId": "ocid1.tenancy.oc1..xxxxx",
      "id": "ocid1.loganalyticsstorageworkrequest.oc1.xxxxx",
      "operationDetails": "Encryption Completed",
      "operationType": "ENCRYPT_ACTIVE_DATA",
      "percentComplete": 100,
      "status": "SUCCEEDED",
      "statusDetails": "ENCRYPTED",
      "timeAccepted": "2025-05-30T18:29:05.153+00:00",
      "timeExpires": null,
      "timeFinished": "2025-05-30T18:30:27.980+00:00",
      "timeStarted": "2025-05-30T18:30:23.054+00:00"
    }
  4. 古いキーの削除:

    get-storage-work-requestコールに対するレスポンスがSUCCEEDEDであることを確認して、ローテーションが完了していることを確認します。list-encryption-key-infoコールに新規キーのみが表示されていることを確認した後、古いキーをOCI Vaultから安全に削除できます。ストレージ暗号化キーのリストを参照してください。

Oracle Log Analyticsでの暗号化キーのローテーションに役立つヒント

  • ローテーション中に両方のキーが必要

    キーのローテーションを開始する場合、古いキーと新しいキーの両方がアクティブでアクセス可能なままである必要があります。古いキーを使用すると、既存の暗号化されたデータを新しいキーで読み取って再暗号化できます。

  • 新しいキーを追加してローテーションを開始します

    assign-encryption-key oci cliコマンドを使用して新しい暗号化キーを追加して、ローテーションを開始します。ストレージ暗号化キーのローテーションを参照してください。

  • ローテーション完了後の必須待機期間はありません

    一定の日数を待つ必要はありません。キー・ローテーションが完了すると、古いキーは不要になり、OCI Vaultから安全に削除できます。

  • ローテーション期間

    • アーカイブが有効でない場合:

      ACTIVE_DATAキー・タイプ: アクティブ・データアクティブ・データ・バックアップの両方が指定されたキーで暗号化され、両方がローテーションされます。アクティブ・データ・バックアップのローテーションには、通常、1TB = 時間、10TB = 日、100TB = 週を使用できます。データが多いほど、ローテーションにかかる時間が長くなる可能性があります。

    • アーカイブが有効の場合:

      ACTIVE_DATAキー・タイプ: アクティブ・データ・キーのみがローテーションされます。アクティブ・データ・サイズ(10TB、20TB、100TB)の影響はそれほど大きくありません。通常、ローテーションは、データ・サイズに関係なく、数分から1時間で迅速に完了します。

      ARCHIVAL_DATAキー・タイプ: アーカイブ・データ・キーのみがローテーションされます。アーカイブ・データのローテーションには、通常、1TB = 時間、10TB = 日、100TB = 週を使用できます。データが多いほど、ローテーションにかかる時間が長くなる可能性があります。

  • 古いキーの固定保存時間がありません

    • 古いキーは、新しいキーを使用してすべてのデータが再暗号化されるまで保持する必要があり、ローテーションが完了したことが確認されます。
  • 回転の進行状況を監視する方法

    暗号化キーの割当て操作は非同期です。キー・ローテーション・リクエストを送信した後、返されたworkRequestIdを使用して進行状況を追跡します。

    ストレージ暗号化キーのローテーションを参照してください。

    作業リクエストがステータスSUCCEEDEDで正常に完了し、list-encryption-key-infoコールに新しいキーのみが表示されるようになったら、古いキーを削除しても問題ありません。作業リクエストが失敗した場合は、レスポンスをレビューして失敗の理由を判断し、修正を組み込みます。サポートを受けるには、Oracle Supportに連絡してください。

  • アクティブなキーの確認

    現在の暗号化キーをリストして、新しいキーが使用中であることを確認します。

    ストレージ暗号化キーのリストを参照してください。

    削除する前に、古いキーがリストされていないことを確認してください。

  • 両方のキーをアクセス可能にする

    ローテーションが完全に完了して検証されるまで、古いキーを削除または無効化しないでください。ローテーション中に古いキーへのアクセスを失うと、データ・アクセスの問題が発生する可能性があります。

  • 小さいデータを最初にテスト

    可能な場合は、OCI環境のタイミングを見積るために、小さいデータ・セットのテスト・ローテーションを検討してください。

要約すると、両方のキーをローテーション中に使用可能にし、作業リクエスト・ステータスによるローテーションを監視し、完了後にのみ古いキーを削除し、データ・サイズが増加するとアーカイブ・ローテーションに時間がかかることを想定します。クリーンアップの前に常にキー・ステータスを確認してください。

Oracle管理の暗号化への切替え

キーのローテーションが原因でスケーラビリティ/パフォーマンスの問題が発生している場合、またはキー管理プロセスを保守できない場合は、Oracle管理の暗号化に切り替えることをお薦めします。テナンシのOracle管理暗号化に切り替えるには、Oracle Supportに連絡してください。Oracle Cloud Supportポータルからサービス・リクエスト(SR)を登録します。

顧客指定のキーを使用したログの暗号化の許可

Oracle Log Analyticsでは、OCI Vaultに格納した独自の暗号化キーを使用して、ログを暗号化できます。ログ・データのサイズに基づいてOracle Supportに連絡し、独自のキーを使用して暗号化のリクエストを発行すると、Oracleによって専用のブロック・ボリュームおよびオブジェクト・ストレージ・バケットが作成されます。これにより、データが分離され、選択的に暗号化されます。

ログ・データの暗号化にキーを正常に使用するには、まず、様々なサービスがキーにアクセスして使用するために次の権限を指定する必要があります。

  1. データが格納されるLog Analyticsテナンシ(logan_tenancyなど)を定義します。

  2. 暗号化操作の実行に使用できるリソースの動的グループ(encr_app_tier_group_of_loganなど)を定義します。

  3. サービス・ブロック・ストレージに、テナンシ内の特定のコンパートメント(encryptionTierコンパートメントなど)に格納されている暗号化キーおよびボールトの使用を許可します。

  4. サービス・オブジェクト・ストレージに、テナンシ内の特定のコンパートメント(encryptionTierコンパートメントなど)に格納されている暗号化キーおよびボールトの使用を許可します。

  5. ステップ2で定義した動的グループが暗号化キーをボリュームに関連付けることを許可します。

  6. ステップ2で定義した動的グループに、暗号化キーとボリューム・バックアップの関連付けを許可します。

  7. ステップ2で定義した動的グループがキー委任を使用できるようにします。

  8. ステップ2で定義した動的グループが、暗号化キーをオブジェクト・ストレージ・バケットに関連付けることを許可します。

  9. ステップ2で定義した動的グループに、暗号化キーへのREADアクセス権を付与します。

  10. ステップ2で定義された動的グループに、ボールトへのREADアクセス権を付与します。

次のIAMポリシー・ステートメントの例は、前述の定義にマップされています。

Define tenancy logan_tenancy as <LOGAN_TENANCY_OCID>
Define dynamic-group encr_app_tier_group_of_logan as <LOGAN_APP_TIER_DYNAMIC_GROUP_OCID>
allow service blockstorage to use keys in compartment <CUSTOMER_KEY_COMPARTMENT_OCID>
allow service objectstorage-<REGION_IDENTIFIER> to use keys in compartment <CUSTOMER_KEY_COMPARTMENT_OCID>
Admit dynamic-group encr_app_tier_group_of_logan of tenancy logan_tenancy to associate keys in compartment <CUSTOMER_KEY_COMPARTMENT_OCID> with volumes in tenancy logan_tenancy
Admit dynamic-group encr_app_tier_group_of_logan of tenancy logan_tenancy to associate keys in compartment <CUSTOMER_KEY_COMPARTMENT_OCID> with volume-backups in tenancy logan_tenancy
Admit dynamic-group encr_app_tier_group_of_logan of tenancy logan_tenancy to use key-delegate in compartment <CUSTOMER_KEY_COMPARTMENT_OCID>
Admit dynamic-group encr_app_tier_group_of_logan of tenancy logan_tenancy to associate keys in compartment <CUSTOMER_KEY_COMPARTMENT_OCID> with buckets in tenancy logan_tenancy
Admit dynamic-group encr_app_tier_group_of_logan of tenancy logan_tenancy to read keys in compartment <CUSTOMER_KEY_COMPARTMENT_OCID>
Admit dynamic-group encr_app_tier_group_of_logan of tenancy logan_tenancy to read vaults in compartment <CUSTOMER_VAULT_COMPARTMENT_OCID>

前述のIAMポリシー・ステートメントの<LOGAN_TENANCY_OCID><REGION_IDENTIFIER><LOGAN_APP_TIER_DYNAMIC_GROUP_OCID><CUSTOMER_KEY_COMPARTMENT_OCID>および<CUSTOMER_VAULT_COMPARTMENT_OCID>を実際の値に置き換えてください。

リージョンをオンボードするには、Oracle Log Analyticsから<LOGAN_TENANCY_OCID><LOGAN_APP_TIER_DYNAMIC_GROUP_OCID>を収集します。

<REGION_IDENTIFIER>の値を取得するには、リージョンおよび可用性ドメインを参照してください。

<CUSTOMER_KEY_COMPARTMENT_OCID>は、キーが配置されているコンパートメントOCIDです。<CUSTOMER_VAULT_COMPARTMENT_OCID>は、キーを格納するためにボールトを作成したコンパートメントのOCIDです。Oracle Log Analyticsで独自の暗号化キーを使用するステップstep3のコンパートメントOCIDsに注意してください。