設定可觀測性 bucket 的預設值

本文說明如何設定機構、資料夾或專案,確保可觀測性值區符合法規或監管規定。

  • 對於機構、資料夾和專案,可觀測性 bucket 的預設設定可讓您設定下列項目:

    • 預設儲存位置。
    • 每個位置的預設 Cloud Key Management Service 金鑰。

    資源階層中的後代會自動使用這些設定,但您已設定預設設定的後代除外。

    可觀測性 bucket 的預設設定只會套用至新資源,不會套用至現有資源。

可觀測性值區設定的預設設定不適用於儲存記錄資料的記錄值區。如要瞭解如何設定預設位置或要求記錄檔 bucket 使用 CMEK,請參閱「為 Cloud Logging 設定預設資源設定」。

查看可觀測性 bucket 的預設設定

本節說明如何查看資源 (組織、資料夾或專案) 的可觀測性值區預設設定。

如要擷取可觀測性 bucket 的預設設定,您必須發出多個指令。第一個指令會傳回預設儲存位置。第二個指令會傳回該位置的 Cloud KMS 金鑰。

本節所述指令適用於特定資源。這些指令的回應僅限於該資源的使用者設定值。這些指令不會傳回資源可能使用的設定,但這些設定是為祖系設定。

事前準備

  1. 登入 Google Cloud 帳戶。如果您是 Google Cloud新手,歡迎 建立帳戶,親自評估產品在實際工作環境中的成效。新客戶還能獲得價值 $300 美元的免費抵免額,可用於執行、測試及部署工作負載。
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  5. Verify that billing is enabled for your Google Cloud project.

  6. 如要取得查看機構、資料夾或專案可觀測性 bucket 預設設定所需的權限,請要求管理員在機構、資料夾或專案中授予您「可觀測性檢視者 」(roles/observability.viewer) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。

    這個預先定義的角色具備 observability.settings.get 權限,可查看機構、資料夾或專案的可觀測性 Bucket 預設設定。

    您或許還可透過自訂角色或其他預先定義的角色取得這項權限。

  7. 選取這個頁面上的分頁,瞭解如何使用範例:

    gcloud

    在 Google Cloud 控制台中啟用 Cloud Shell。

    啟用 Cloud Shell

    Google Cloud 主控台底部會開啟一個 Cloud Shell 工作階段,並顯示指令列提示。Cloud Shell 是已安裝 Google Cloud CLI 的殼層環境,並已針對您目前的專案設定好相關值。工作階段可能要幾秒鐘的時間才能初始化。

    Terraform

    如要在本機開發環境中使用本頁的 Terraform 範例,請安裝並初始化 gcloud CLI,然後使用您的使用者憑證設定應用程式預設憑證。

    1. 安裝 Google Cloud CLI。

    2. 若您採用的是外部識別資訊提供者 (IdP),請先使用聯合身分登入 gcloud CLI

    3. 如果您使用本機殼層,請為使用者帳戶建立本機驗證憑證:

      gcloud auth application-default login

      如果您使用 Cloud Shell,則不需要執行這項操作。

      如果系統傳回驗證錯誤,且您使用外部識別資訊提供者 (IdP),請確認您已 使用聯合身分登入 gcloud CLI

    詳情請參閱 Google Cloud 驗證說明文件中的「 為本機開發環境設定 ADC」。

    REST

    如要在本機開發環境中使用本頁的 REST API 範例,請使用您提供給 gcloud CLI 的憑證。

      安裝 Google Cloud CLI。

      若您採用的是外部識別資訊提供者 (IdP),請先使用聯合身分登入 gcloud CLI

    詳情請參閱 Google Cloud 驗證說明文件中的「使用 REST 進行驗證」。

取得資源的預設儲存位置

如要取得資源的預設儲存位置,請將指令傳送至資源專屬端點,並將該指令的位置設為 global。回應資料包括預設儲存位置和服務帳戶名稱。如果您需要資源的 CMEK,系統會使用這個服務帳戶擷取 Cloud KMS 金鑰。

gcloud

使用下列任何指令資料之前,請先替換以下項目:

使用下列其中一種方式,將要查詢的專案、資料夾或機構 ID 傳遞至指令:
  • --project=PROJECT_ID,其中 PROJECT_ID 包含專案的 ID。
  • --folder=FOLDER_ID,其中 FOLDER_ID 包含資料夾的 ID。
  • --organization=ORGANIZATION_ID,其中 ORGANIZATION_ID 包含貴機構的 ID。
將 `default_storage_location` 設為 [支援的位置](/stackdriver/docs/observability/observability-bucket-locations)

執行 gcloud beta observability settings describe 指令:

Linux、macOS 或 Cloud Shell

gcloud beta observability settings describe \
 --location=global --project=PROJECT_ID

Windows (PowerShell)

gcloud beta observability settings describe `
 --location=global --project=PROJECT_ID

Windows (cmd.exe)

gcloud beta observability settings describe ^
 --location=global --project=PROJECT_ID

以下說明指令的回應:

Parsed [location] resource: projects/my-project/locations/global
defaultStorageLocation: eu
name: projects/my-project/locations/global/settings
serviceAccountId: service-12345@gcp-sa-observability.iam.gserviceaccount.com

Terraform

您可以使用 Terraform 為資源 (專案、資料夾或機構) 設定預設儲存位置,但無法使用 Terraform 產生資源的預設儲存位置報表。

REST

  1. 如要顯示資源的預設設定,請選取適當的端點,然後在 API Explorer 中指定路徑參數:

    機構:

    資料夾:

    專案:

    上述運算式中的變數具有下列意義:

    • ORGANIZATION_ID:機構的專屬數字 ID。如要瞭解如何取得這個 ID,請參閱「取得機構 ID」。
    • FOLDER_ID:資料夾的專屬數字 ID。如要瞭解如何使用資料夾,請參閱「建立及管理資料夾」。
    • PROJECT_ID:專案的 ID。
  2. 點選「Execute」

    如果成功,回應會是 Settings 物件。如果 default_storage_location 欄位空白,表示未設定預設儲存位置。

    舉例來說,如果您發出 getSettings 指令,並將路徑參數設為機構,則回應會類似下列其中一種:

    • 預設儲存位置設為 "us"

      default_storage_location: "us"
      service_account_id: service-org-ORGANIZATION_ID@gcp-sa-observability.iam.gserviceaccount.com
      
    • 未設定預設儲存位置:

      service_account_id: service-org-ORGANIZATION_ID@gcp-sa-observability.iam.gserviceaccount.com
      

取得資源和位置的預設 Cloud KMS 金鑰

Cloud KMS 金鑰是區域性資源。只能用來加密或解密與金鑰儲存在相同位置的資料。針對可觀測性 bucket 支援的每個位置,以及每個機構、資料夾或專案,您都可以使用 Cloud KMS 金鑰設定可觀測性 bucket 的預設設定。

本節說明如何取得資源和位置的預設 Cloud KMS 金鑰。

gcloud

使用下列任何指令資料之前,請先替換以下項目:

  • LOCATION:資源的 Cloud KMS 金鑰位置。資源可以是專案、資料夾或機構。如果將位置設為 global,指令會傳回資源的預設儲存位置。
  • 使用下列其中一種方式,將要查詢的專案、資料夾或機構 ID 傳遞至指令:
    • --project=PROJECT_ID,其中 PROJECT_ID 包含專案的 ID。
    • --folder=FOLDER_ID,其中 FOLDER_ID 包含資料夾的 ID。
    • --organization=ORGANIZATION_ID,其中 ORGANIZATION_ID 包含貴機構的 ID。

執行 gcloud beta observability settings describe 指令:

Linux、macOS 或 Cloud Shell

gcloud beta observability settings describe \
 --location=LOCATION --project=PROJECT_ID

Windows (PowerShell)

gcloud beta observability settings describe `
 --location=LOCATION --project=PROJECT_ID

Windows (cmd.exe)

gcloud beta observability settings describe ^
 --location=LOCATION --project=PROJECT_ID

以下說明指令的回應:

Parsed [location] resource: projects/my-project/locations/us
kmsKeyName: projects/my-project/locations/us/keyRings/test/cryptoKeys/test-key
name: projects/my-project/locations/us/settings
serviceAccountId: service-12345@gcp-sa-observability.iam.gserviceaccount.com

Terraform

您可以使用 Terraform,為位置和資源 (專案、資料夾或機構) 設定預設的 Cloud Key Management Service 金鑰。您無法使用 Terraform 回報資源的預設儲存位置。

REST

  1. 如要顯示資源的預設設定,請選取適當的端點,然後在 API Explorer 中指定路徑參數:

    機構:

    資料夾:

    專案:

    上述運算式中的變數具有下列意義:

    • ORGANIZATION_ID:機構的專屬數字 ID。如要瞭解如何取得這個 ID,請參閱「取得機構 ID」。
    • FOLDER_ID:資料夾的專屬數字 ID。如要瞭解如何使用資料夾,請參閱「建立及管理資料夾」。
    • PROJECT_ID:專案的 ID。
    • LOCATION_ID:要查看 CMEK 設定的位置。
  2. 點選「Execute」

    如果成功,回應會是 Settings 物件。

    舉例來說,假設您發出 getSettings 指令,並將路徑參數設為 organizations/ORGANIZATION_ID/locations/LOCATION_ID/settings,則回應會類似下列其中一種:

    • 如果未為機構和位置設定 Cloud KMS 金鑰,回應只會列出服務帳戶:

      service_account_id: service-org-ORGANIZATION_ID@gcp-sa-observability.iam.gserviceaccount.com
      
    • 為機構和位置設定 Cloud KMS 金鑰後,回應會包含服務帳戶和 Cloud KMS 金鑰名稱:

      name: "organizations/ORGANIZATION_ID/locations/LOCATION_ID/settings"
      service_account_id: service-org-ORGANIZATION_ID@gcp-sa-observability.iam.gserviceaccount.com
      kms_key_name: "projects/my-kms-project/locations/LOCATION_ID/keyRings/my-key-ring/cryptoKeys/my-key"
      

設定可觀測性 bucket 的預設設定

本節說明如何為資源 (即機構、資料夾或專案) 設定可觀測性 bucket 的預設設定。

如果您打算為資源和位置啟用 CMEK,請先為該配對設定可觀測性 bucket 的預設設定,再設定預設儲存位置。設定資源和位置的預設設定時,請指定要使用的 Cloud KMS 金鑰。

這些操作說明適用於 API Explorer,可讓您從說明文件頁面發出 API 指令。不過,您也可以發出 curl 指令。

設定範例

本節列出常見用途。

規定新值區必須位於特定位置

如要規定機構中系統建立的新可觀測性值區必須位於 us 位置,請將機構的預設儲存空間位置設為 us

如要覆寫機構層級設定,並要求在名為 my-eu-projects 的子資料夾中,系統建立的新可觀測性值區位於 eu 區域,請將 my-eu-projects 資料夾的預設儲存位置設為 eu

規定新值區必須位於特定位置,並使用 CMEK

如要規定機構中所有系統建立的新可觀測性值區都必須位於 us 位置並使用 CMEK,請按照下列步驟操作:

  1. 為貴機構和 us 位置設定可觀測性值區的預設設定,以指定 Cloud KMS 金鑰。

  2. 將貴機構的預設儲存位置設為 us

事前準備

如果您只打算設定預設儲存位置,則不需要任何 Cloud KMS 角色。

  1. 完成必要設定,即可查看可觀測性 bucket 的預設設定

  2. 如要取得為機構、資料夾或專案設定可觀測性 bucket 預設設定所需的權限,請要求管理員在機構、資料夾或專案中授予您下列 IAM 角色:

    如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。

    這些預先定義的角色具備為組織、資料夾或專案設定可觀測性值區預設設定所需的權限。如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:

    所需權限

    如要為機構、資料夾或專案設定可觀測性 bucket 的預設設定,您必須具備下列權限:

    • observability.settings.get
    • observability.settings.update
    • cloudkms.cryptoKeys.getIamPolicy
    • cloudkms.cryptoKeys.setIamPolicy

    您或許還可透過自訂角色或其他預先定義的角色取得這些權限。

  3. 如果您打算要求使用 CMEK,請務必在所需位置備妥 Cloud KMS 金鑰。如有必要,請建立 Cloud KMS 金鑰環Cloud KMS 金鑰

  4. 找出您要更新可觀測性 bucket 預設設定的資源。這項資源可以是機構、資料夾或專案。

    如果您為機構或資料夾設定預設設定,這些設定會套用至該機構或資料夾的所有子系。如果您為專案設定可觀測性 bucket 的預設設定,則這些設定只會套用至該專案。

授予資源的服務帳戶金鑰存取權

如要為資源設定預設設定,請為該資源的服務帳戶授予角色:

  1. 找出要用於加密和解密的 Cloud KMS 金鑰。

    Cloud KMS 金鑰是區域性資源。舉例來說,如果您打算要求新的系統建立可觀測性 bucket 必須位於 us 位置,則需要位於 us 位置的 Cloud KMS 金鑰。

  2. 找出資源的服務帳戶。

    舉例來說,如果您希望組織中所有新建立的系統可觀測性 bucket 都位於 us 位置,並使用 CMEK,請global 位置發出 getSettings 呼叫,並將路徑參數設為組織。回應資料會列出機構的服務帳戶:

    service_account_id: service-org-ORGANIZATION_ID@gcp-sa-observability.iam.gserviceaccount.com
    
  3. Cloud KMS CryptoKey Encrypter/Decrypter (roles.cloudkms.cryptoKeyEncrypterDecrypter) 角色授予您在上一個步驟中識別的服務帳戶,以便使用 Cloud KMS 金鑰加密及解密資料。

    這個角色繫結適用於特定 Cloud KMS 金鑰。

    gcloud CLI

    執行 gcloud kms keys add-iam-policy-binding 指令:

    gcloud kms keys add-iam-policy-binding KMS_KEY_NAME \
    --project=KMS_PROJECT_ID \
    --member=serviceAccount:SERVICE_ACCT_NAME@gcp-sa-observability.iam.gserviceaccount.com \
    --role=roles/cloudkms.cryptoKeyEncrypterDecrypter \
    --location=LOCATION_ID \
    --keyring=KMS_KEY_RING
    

    執行上一個指令前,請先進行下列替換:

    • KMS_KEY_NAME:金鑰名稱。
    • KMS_PROJECT_ID:由專案名稱和隨機指派的數字組成的專屬英數字元 ID,用於執行 Cloud KMS 的專案。 Google Cloud Google Cloud 如要瞭解如何取得這個 ID,請參閱「識別專案」。
    • SERVICE_ACCT_NAME:資源服務帳戶的名稱,也就是您在上一個步驟中識別的名稱。
    • LOCATION_ID:Cloud KMS 金鑰的位置。
    • KMS_KEY_RING:Cloud KMS 金鑰環的名稱。

    Google Cloud 控制台

    1. 前往 Google Cloud 控制台的「金鑰管理」頁面。

      前往「金鑰管理」頁面

    2. 選取包含金鑰的金鑰環名稱。
    3. 勾選金鑰的核取方塊。

      「Permissions」(權限) 分頁隨即顯示。

    4. 在「Add members」(新增成員) 對話方塊中,指定您授予存取權的 Google Cloud Observability 服務帳戶的電子郵件地址。

    5. 在「Select a role」(選取角色) 選單中,選取「Cloud KMS CryptoKey Encrypter/Decrypter」(Cloud KMS CryptoKey 加密者/解密者)

    6. 按一下「新增」。

為資源和位置設定預設 Cloud KMS 金鑰

在上一步中,您已授予資源的服務帳戶權限,可使用特定 Cloud KMS 金鑰加密及解密資料。舉例來說,您可能已授予機構的服務帳戶 IAM 角色,讓該帳戶可存取 us 位置的 Cloud KMS 金鑰。

在這個步驟中,您要針對該資源和 Cloud KMS 金鑰的位置,使用金鑰資訊更新可觀測性值區的預設設定。舉例來說,在這個步驟中,您可能會為機構和 us 位置設定可觀測性 bucket 的預設設定,並將其設為同樣位於 us 位置的 Cloud KMS 金鑰。

gcloud

使用下列任何指令資料之前,請先替換以下項目:

  • KMS_KEY_NAME:Cloud KMS 金鑰的名稱。
  • LOCATION:資源的 Cloud KMS 金鑰位置。資源可以是專案、資料夾或機構。如果將位置設為 global,指令會傳回資源的預設儲存位置。
  • 使用下列其中一種方式,將要查詢的專案、資料夾或機構 ID 傳遞至指令:
    • --project=PROJECT_ID,其中 PROJECT_ID 包含專案的 ID。
    • --folder=FOLDER_ID,其中 FOLDER_ID 包含資料夾的 ID。
    • --organization=ORGANIZATION_ID,其中 ORGANIZATION_ID 包含貴機構的 ID。

執行 gcloud beta observability settings update 指令:

Linux、macOS 或 Cloud Shell

gcloud beta observability settings update \
 --kms-key-name=KMS_KEY_NAME \
 --update-mask=kms-key-name \
 --location=LOCATION --project=PROJECT_ID

Windows (PowerShell)

gcloud beta observability settings update `
 --kms-key-name=KMS_KEY_NAME `
 --update-mask=kms-key-name `
 --location=LOCATION --project=PROJECT_ID

Windows (cmd.exe)

gcloud beta observability settings update ^
 --kms-key-name=KMS_KEY_NAME ^
 --update-mask=kms-key-name ^
 --location=LOCATION --project=PROJECT_ID

更新指令會啟動長時間執行的作業。 以下說明指令的回應:

Parsed [location] resource: projects/my-project/locations/us
Request issued for: [us]
Waiting for operation [projects/my-project/locations/us/operations/operation-1775247021184-64e93e8161585-1a55612f-73382a5a] to complete...done.
Updated location [us].
'@type': type.googleapis.com/google.cloud.observability.v1.Settings
kmsKeyName: projects/my-project/locations/us/keyRings/test/cryptoKeys/test-key
name: projects/my-project/locations/us/settings
serviceAccountId: service-12345@gcp-sa-observability.iam.gserviceaccount.com

Terraform

如要瞭解如何套用或移除 Terraform 設定,請參閱「基本 Terraform 指令」。詳情請參閱 Terraform 供應商參考文件

如要為位置和資源設定預設 Cloud Key Management Service 金鑰,請按照下列步驟操作:

  1. 根據要設定的資源,選取適當的 Terraform 資源: Google Cloud

    機構:

    資料夾:

    專案:

  2. 設定下列欄位:

    1. location 欄位設為預設 Cloud KMS 金鑰的位置。
    2. kms_key_name 欄位設為 Cloud KMS 金鑰。
  3. 更新 main.tf 檔案後,請升級 Terraform 安裝版本:

    terraform -init upgrade
    

    由於必要的 Terraform 資源為Beta 版,因此必須升級。

REST

  1. 如要設定資源的預設設定,請選取適當的端點,然後在 API Explorer 中指定路徑參數:

    機構:

    資料夾:

    專案:

    上述運算式中的變數具有下列意義:

    • ORGANIZATION_ID:機構的專屬數字 ID。如要瞭解如何取得這個 ID,請參閱「取得機構 ID」。
    • FOLDER_ID:資料夾的專屬數字 ID。如要瞭解如何使用資料夾,請參閱「建立及管理資料夾」。
    • PROJECT_ID:專案的 ID。
    • LOCATION_ID:Cloud KMS 金鑰的位置。
  2. updateMask 欄位設為下列值:

    updateMask=kmsKeyName
    
  3. 將「要求主體」設定如下:

    {
      "kmsKeyName"="projects/KMS_PROJECT_ID/locations/LOCATION_ID/keyRings/KMS_KEY_RING/cryptoKeys/KMS_KEY_NAME"
    }
    

    輸入值之前,請先替換下列項目:

    • KMS_PROJECT_ID:由專案名稱和隨機指派的數字組成的專屬英數字元 ID,用於執行 Cloud KMS 的專案。 Google Cloud Google Cloud 如要瞭解如何取得這個 ID,請參閱「識別專案」。
    • LOCATION_ID:Cloud KMS 金鑰的位置。
    • KMS_KEY_RING:Cloud KMS 金鑰環的名稱。
    • KMS_KEY_NAME:金鑰名稱。

    "kmsKeyName" 的值是金鑰的完整名稱。

  4. 點選「Execute」

    如果成功,回應會是 Settings 物件。

    舉例來說,假設您發出 updateSettings 指令來設定 Cloud KMS 金鑰,並將路徑參數設為 organizations/ORGANIZATION_ID/locations/LOCATION_ID/settings,則回應會類似於下列內容:

    name: "organizations/ORGANIZATION_ID/locations/LOCATION_ID/settings"
    service_account_id: service-org-ORGANIZATION_ID@gcp-sa-observability.iam.gserviceaccount.com
    kms_key_name: "projects/KMS_PROJECT_ID/locations/LOCATION_ID/keyRings/KMS_KEY_RING/cryptoKeys/KMS_KEY_NAME"
    

設定資源的預設儲存位置

本步驟說明如何為資源 (即機構、資料夾或專案) 設定預設儲存位置。資源階層中的所有子項都會自動使用預設儲存位置,但您已設定預設儲存位置的子項除外。

舉例來說,如果將機構的預設儲存位置設為 us 位置,則該機構中系統建立的新觀測能力 bucket 會位於 us 位置。如要讓資料夾或專案使用不同的預設儲存位置,請為該資料夾或專案設定可觀測性 bucket 的預設設定。

如要讓資源中系統建立的可觀測性 bucket 使用 CMEK,請先完成下列步驟,再為資源設定預設儲存位置:

  1. 將 IAM 角色授予資源的服務帳戶,讓服務帳戶可以加密及解密資料。這個角色適用於特定 Cloud KMS 金鑰,且該金鑰位於特定位置。
  2. 使用 Cloud KMS 金鑰資訊,為資源和金鑰位置設定可觀測性值區的預設設定

gcloud

使用下列任何指令資料之前,請先替換以下項目:

  • DEFAULT_STORAGE_LOCATION:專案、資料夾或機構的預設儲存位置。這個位置適用於新的可觀測性 bucket。您必須輸入支援的可觀測性值區位置
  • 使用下列其中一種方式,將要查詢的專案、資料夾或機構 ID 傳遞至指令:
    • --project=PROJECT_ID,其中 PROJECT_ID 包含專案的 ID。
    • --folder=FOLDER_ID,其中 FOLDER_ID 包含資料夾的 ID。
    • --organization=ORGANIZATION_ID,其中 ORGANIZATION_ID 包含貴機構的 ID。

執行 gcloud beta observability settings update 指令:

Linux、macOS 或 Cloud Shell

gcloud beta observability settings update \
 --default-storage-location=DEFAULT_STORAGE_LOCATION \
 --update-mask=default-storage-location \
 --location=global --project=PROJECT_ID

Windows (PowerShell)

gcloud beta observability settings update `
 --default-storage-location=DEFAULT_STORAGE_LOCATION `
 --update-mask=default-storage-location `
 --location=global --project=PROJECT_ID

Windows (cmd.exe)

gcloud beta observability settings update ^
 --default-storage-location=DEFAULT_STORAGE_LOCATION ^
 --update-mask=default-storage-location ^
 --location=global --project=PROJECT_ID

更新指令會啟動長時間執行的作業。 以下說明指令的回應:

Parsed [location] resource: projects/my-project/locations/global
Request issued for: [global]
Waiting for operation [projects/my-project/locations/global/operations/operation-1775247065869-64e93eabfee29-f7d39a96-5e23c6c7] to complete...done.
Updated location [global].
'@type': type.googleapis.com/google.cloud.observability.v1.Settings
defaultStorageLocation: us
name: projects/my-project/locations/global/settings
serviceAccountId: service-12345@gcp-sa-observability.iam.gserviceaccount.com

Terraform

如要瞭解如何套用或移除 Terraform 設定,請參閱「基本 Terraform 指令」。詳情請參閱 Terraform 供應商參考文件

如要設定預設位置,請按照下列步驟操作:

  1. 根據要設定的資源,選取適當的 Terraform 資源: Google Cloud

    機構:

    資料夾:

    專案:

  2. 設定下列欄位:

    1. location 欄位設為 global
    2. default_storage_location 欄位設為支援的位置
  3. 更新 main.tf 檔案後,請升級 Terraform 安裝版本:

    terraform -init upgrade
    

    由於所需的 Terraform 版本為 Beta 版,因此必須升級。

REST

如要為機構、資料夾或專案設定預設儲存位置,請按照下列步驟操作:

  1. 如要設定資源的預設設定,請選取適當的端點,然後在 API Explorer 中指定路徑參數:

    機構:

    資料夾:

    專案:

    上述運算式中的變數具有下列意義:

    • ORGANIZATION_ID:機構的專屬數字 ID。如要瞭解如何取得這個 ID,請參閱「取得機構 ID」。
    • FOLDER_ID:資料夾的專屬數字 ID。如要瞭解如何使用資料夾,請參閱「建立及管理資料夾」。
    • PROJECT_ID:專案的 ID。
  2. updateMask 欄位設為下列值:

    updateMask=defaultStorageLocation
    
  3. 將「要求主體」設定如下:

    {
      "defaultStorageLocation"="DEFAULT_STORAGE_LOCATION"
    }
    

    DEFAULT_STORAGE_LOCATION 替換為支援的觀測能力 bucket 位置

    舉例來說,假設您希望組織中所有系統建立的新觀測能力 bucket 都位於 us 位置,並使用 CMEK。在先前的步驟中,您已授予機構的服務帳戶 IAM 角色,允許該帳戶使用 us 位置的 Cloud KMS 金鑰加密及解密資料。將 DEFAULT_STORAGE_LOCATION 設為 us,即可完成設定。

  4. 點選「Execute」

    如果成功,回應會是 Settings 物件。

    舉例來說,如果您發出 am updateSettings 指令,並將路徑參數設為機構,且將預設儲存位置設為 us,則回應會類似於下列內容:

    default_storage_location: "us"
    service_account_id: service-org-ORGANIZATION_ID@gcp-sa-observability.iam.gserviceaccount.com
    

更新資源的預設儲存位置

如要更新機構、資料夾或專案的預設儲存位置,請按照設定預設儲存位置時的程序操作。

管理 Cloud KMS 金鑰

下列各節說明如何變更、停用或撤銷 Cloud KMS 金鑰的存取權。

更新資源和位置的預設 Cloud KMS 金鑰

如要更新特定資源和位置的 Cloud KMS 金鑰,請按照設定 Cloud KMS 金鑰時的相同程序操作。

取消設定資源和位置的預設 Cloud KMS 金鑰

如要取消設定或清除特定資源和位置的 Cloud KMS 金鑰,請按照「為位置設定預設 Cloud KMS 金鑰」一節所述的相同程序操作。不過,設定要求主體時,請將鍵的值設為空白字串。

{
  "kmsKeyName"=""
}

如果資源沒有預設 Cloud KMS 金鑰,系統會搜尋資源的祖先,找出預設 Cloud KMS 金鑰:

  • 如果找到 Cloud KMS 金鑰,系統就會使用該金鑰加密儲存在新可觀測性值區中的資料。

  • 如果找不到 Cloud KMS 金鑰,新的可觀測性值區就不會使用 CMEK。

撤銷資源和位置的金鑰存取權

使用 Cloud KMS 金鑰為資源和位置設定可觀測性儲存空間的預設設定時,您必須將金鑰的 Cloud KMS CryptoKey Encrypter/Decrypter (roles.cloudkms.cryptoKeyEncrypterDecrypter) 角色授予資源的服務帳戶。

如果不想讓資源存取金鑰,請移除該金鑰的 IAM 繫結。如要移除這個繫結,請執行 gcloud kms keys remove-iam-policy-binding 指令。

角色變更可能需要數小時才會全面生效。

金鑰輪替行為

與 Google Cloud 機構或資料夾相關聯的 Cloud KMS 金鑰輪替時,Google Cloud Observability 不會自動輪替暫時性災難復原檔案的加密金鑰。現有的復原檔案會繼續使用當初建立時採用的金鑰版本。新的復原檔案會使用目前的主要金鑰版本。

詳情請參閱金鑰輪替一文。

限制

將可觀測性 bucket 的預設設定設為 CMEK 設定時,有下列已知限制。

因金鑰無法使用而導致效能降低

Google Cloud Observability 會使用 Cloud KMS API 存取 Cloud KMS 金鑰和 Cloud EKM 金鑰。這兩種金鑰都可能無法使用。

如果金鑰無法使用,會發生下列情況:

  • 您無法查詢儲存的資料。
  • Google Cloud Observability 會緩衝最近三小時的資料。超過這個三小時滑動視窗的資料可能會遭到捨棄。
  • 如要永久儲存資料,在資料寫入後的 48 小時內,Cloud KMS 金鑰必須可供使用及存取至少連續 24 個小時。如果在這段期間無法使用及存取 Cloud KMS 金鑰,資料可能無法完整儲存,甚至遭到捨棄。

後續步驟