附註:

將多個 Oracle Cloud Infrastructure 租用戶的日誌集中至中央 Oracle Cloud Infrastructure 租用戶儲存桶

簡介

在某些情況下,您必須將所有日誌集中在一個位置,即使這些日誌來自不同的租用戶也一樣。可能是由於產業法規或公司政府政策;無論您的情況為何,您都可以面臨不同的管理考量來達成此目標。

在本教學課程中,我們將使用 OCI 跨租用戶存取和 OCI Connector Hub 服務,集中管理不同 Oracle Cloud Infrastructure (OCI) 租用戶中產生的稽核、服務或自訂日誌。

架構圖

架構圖。

注意:對於此教學課程,所有租用戶都應該位於相同的區域。

目標

必要條件

作業 1:在目的地租用戶中建立原則

下列 OCI IAM 原則將設定在 OCI 物件儲存的儲存桶所在目的地租用戶 (租用戶 C) 中。

  1. 擷取租用戶 A 的下列資訊。

    • OCID
    • 將部署 OCI 連線器中心的區間 OCID。
  2. 擷取租用戶 C 的下列資訊。

    • 建立儲存桶的區間名稱。
  3. 使用步驟 1 和 2 中收集的資訊建立下列原則。

    • 定義遠端租用戶。

      define tenancy SCTenancyA as <Tenancy A OCID>
      

      注意:使用步驟 1 中收集的資訊更新 <Tenancy A OCID>

    • 允許遠端租用戶的服務連線器主要項目讀取本機區間中的儲存桶。

      admit any-user of tenancy SCTenancyA to read buckets in compartment <Tenancy C Compartment name> where all { request.principal.type='serviceconnector', request.principal.compartment.id='<Tenancy A Compartment OCID>' }
      

      注意:<Tenancy C Compartment name><Tenancy A Compartment OCID> 更新為對應的資訊。

    • 允許遠端租用戶的服務連線器主要項目管理本機儲存桶中受限於物件檢查和物件建立動作的物件。

      admit any-user of tenancy SCTenancyA to manage objects in compartment <Tenancy C Compartment name> where all { request.principal.type='serviceconnector', request.principal.compartment.id=’ <Tenancy A Compartment OCID>' , any {request.permission='OBJECT_CREATE', request.permission='OBJECT_INSPECT'}}
      

      注意:

      • <Tenancy C Compartment name><Tenancy A Compartment OCID> 更新為對應的資訊。
      • 所有資源都位於來源或目的地區間的範圍內。如需有關「背書」、「入學」及「定義陳述式」的詳細資訊,請參閱背書、入學和定義陳述式
  4. 登入 OCI 主控台,瀏覽至識別與安全,然後按一下原則

  5. 請確定您位於根區間,然後按一下建立原則

  6. 輸入名稱描述,然後按一下顯示手動編輯器

  7. 寫入在「工作 1.3」中建立的原則,然後按一下建立

原則應該看起來如下所示:

Policies_destination.

作業 2:在來源租用戶中建立原則

必須在將部署 OCI Connector Hub 的每個來源租用戶 (租用戶 A 和租用戶 B) 中設定下列 OCI IAM 原則。OCI Connector Hub 會收集日誌並將其傳送到中央儲存區域。

  1. 擷取租用戶 A 的下列資訊。

    • 將部署 OCI 連線器中心的區間 OCID。
  2. 擷取租用戶 C 的下列資訊。

    • OCID
  3. 使用步驟 1 和 2 中收集的資訊建立下列原則。

    • 定義遠端租用戶。

      Define tenancy OSTenancyC as <Tenancy C OCID>
      

      注意:<Tenancy C OCID> 更新為對應的資訊。

    • 允許本機租用戶的服務連線器主要項目讀取目的地租用戶中的儲存桶。

      endorse any-user to read buckets in tenancy OSTenancyC where all {request.principal.type = 'serviceconnector', request.principal.compartment.id='<Tenancy A Compartment OCID>' }
      

      注意:<Tenancy A Compartment OCID> 更新為對應的資訊。

    • 允許本機租用戶的服務連線器主要項目管理目的地租用戶中的物件,限制為物件檢查和物件建立動作。

      endorse any-user to manage objects in tenancy OSTenancyC where all {request.principal.type = 'serviceconnector', request.principal.compartment.id='<Tenancy A Compartment OCID>' , any {request.permission='OBJECT_CREATE', request.permission='OBJECT_INSPECT'}}
      

      注意:

      • <Tenancy A Compartment OCID> 更新為對應的資訊。
      • 所有資源都位於來源或目的地區間的範圍內。如需有關「背書」、「入學」及「定義陳述式」的詳細資訊,請參閱背書、入學和定義陳述式
  4. 登入 OCI 主控台,瀏覽至識別與安全,然後按一下原則

  5. 請確定您位於根區間,然後按一下建立原則

  6. 輸入名稱描述,然後按一下顯示手動編輯器

  7. 輸入「工作 2.3」中準備的原則,然後按一下建立

原則應該看起來如下所示:

Policies_source.

作業 3:在來源租用戶部署 OCI 連線器中心

使用 OCI CLI 在來源租用戶 (租用戶 A 和租用戶 B) 中部署 OCI Connector Hub。

注意:若要建立可存取其他租用戶資源的連線器,您必須使用 OCI SDK、CLI 或 API。

  1. 連線至來源租用戶的 OCI CLI (租用戶 A 和租用戶 B)。本教學課程將使用 OCI Cloud Shell。如需如何使用 OCI Cloud Shell 的詳細資訊,請參閱使用 Cloud Shell

  2. 使用下列內容建立兩個檔案,名稱為 source.jsontarget.json

    • source.json:它會定義將收集日誌之來源租用戶 (租用戶 A 或租用戶 B) 的日誌來源。

      以範例程式碼中的值更新下列參數。

      • <Tenancy A OCID where Audit log resides>
      • <Tenancy A Compartment OCID where log group resides>
      • <Tenancy A Log Group OCID>
      • <Tenancy A _Log-ID OCID_>
      {
      
      "kind": "logging",
      
      "logSources": [
      
      					{
      
      					"compartment-id": "_<Tenancy A OCID where Audit log resides>_",
      
      					"log-group-id": "_Audit_Include_Subcompartment",
      
      					"log-id": null
      
      					},
      
      					{
      
      					"compartment-id": "_<Tenancy A Compartment OCID where log group resides>_",
      
      					"log-group-id": _"<Tenancy A Log Group OCID>",_
      
      					"log-id": "<Tenancy A _Log-ID OCID_>"
      
      					}
      
      				]
      
      }
      

      注意: 上述 source.json 範例有兩個日誌來源:第一個會設定 OCI Connector Hub 從根區間和所有子區間收集稽核日誌。第二將設定 OCI Connector Hub 從日誌群組 (由 log-idlog-group-id 定義) 收集特定日誌,例如子網路日誌。您可以視需要從此組態新增或移除日誌來源。

    • Target.json:它將定義目的地租用戶 (租用戶 C) 中的儲存桶,其中將存檔日誌。

      {
      			"kind": "objectStorage",
      			"bucketName": "<Tenancy C bucket name>",
      			"namespace": "<Tenancy C namespace where bucket was created>"
      }
      

      注意:您可以從儲存桶詳細資訊取得儲存桶命名空間。

  3. 執行下列命令。

    oci sch service-connector create --compartment-id <Compartment OCID where SCH will be placed in Tenancy A> --display-name <Display name> --source file://Source.json --target file://Target.json
    

    注意:必須能夠存取 source.jsontarget.json 檔案。

    Connector_deployment.

  4. 視需要對所有其他來源租用戶重複步驟 1 到 3。如需其他 OCI Connector Hub 目標選項,請參閱 ObjectStorageTargetDetails 參考資料

  5. 檢查結果。

    • 您將在來源租用戶中建立包含已定義來源和目的地儲存桶的 OCI 連線器中心。

      Connector_console.

    • 目的地儲存桶將包含每個 OCI Connector Hub 的項目。

      Bucket_Content.

認可

其他學習資源

瀏覽 docs.oracle.com/learn 的其他實驗室,或前往 Oracle Learning YouTube 頻道存取更多免費學習內容。此外,請造訪 education.oracle.com/learning-explorer 以成為 Oracle Learning Explorer。

如需產品文件,請造訪 Oracle Help Center