設定可觀測性 bucket 的預設值

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

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

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

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

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

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

查看可觀測性值區的預設設定

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

如要擷取可觀測性 bucket 的預設設定,您必須發出多個 API 指令。第一個指令會傳回預設儲存位置。第二個指令會傳回該位置的 Cloud KMS 金鑰。以下操作說明適用於 API Explorer,可讓您從說明文件頁面發出 API 指令。不過,您也可以發出 curl 指令。

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

事前準備

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

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

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

取得資源的預設儲存位置

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

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 金鑰。

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

事前準備

如果只打算設定預設儲存空間位置,可以略過 Google Cloud CLI 設定,也不需要任何 Cloud KMS 角色。

  1. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  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 的預設設定,則這些設定只會套用至該專案。

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

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

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

      Cloud KMS 金鑰是區域性資源。舉例來說,如果您打算要求新的系統建立可觀測性值區必須位於 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 位置設定可觀測性值區的預設設定,並將這些值區連結至同樣位於 us 位置的 Cloud KMS 金鑰。

    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 的預設設定。

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

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

    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 金鑰為資源和位置設定可觀測性 bucket 的預設設定時,您必須將金鑰的 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 金鑰,資料可能無法完整儲存,甚至遭到捨棄。

    後續步驟