为可观测性指标桶设置默认值

本文档介绍了如何配置组织、文件夹或项目,以便可观测性存储分区满足合规性或监管要求。

  • 对于组织、文件夹和项目,可观测性存储分区的默认设置可让您配置以下内容:

    • 默认存储位置。
    • 每个位置的默认 Cloud Key Management Service 密钥。

    资源层次结构中的后代会自动使用这些设置,除非您已为这些后代配置默认设置。

    可观测性存储分区的默认设置仅适用于新资源,而不适用于现有资源。

可观测性存储分区设置的默认设置不适用于存储日志数据的日志存储分区。如需了解如何设置默认位置或要求为日志存储分区启用 CMEK,请参阅为 Cloud Logging 配置默认资源设置

查看可观测性存储分区的默认设置

本部分介绍如何查看资源(组织、文件夹或项目)的可观测性存储分区的默认设置。

如需检索可观测性存储分区的默认设置,您必须发出多条命令。第一个命令会返回默认存储位置。第二个命令会返回相应位置的 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. 如需获得查看组织、文件夹或项目的可观测性存储分区默认设置所需的权限,请让您的管理员为您授予组织、文件夹或项目的 Observability Viewer (roles/observability.viewer) IAM 角色。如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限

    此预定义角色包含 observability.settings.get 权限,若要查看组织、文件夹或项目的可观测性存储分区的默认设置,则需要该权限。

    您也可以使用自定义角色或其他预定义角色来获取此权限。

  7. 选择标签页以了解您打算如何使用本页面上的示例:

    gcloud

    在 Google Cloud 控制台中,激活 Cloud Shell。

    激活 Cloud Shell

    Cloud Shell 会话随即会在 Google Cloud 控制台的底部启动,并显示命令行提示符。Cloud Shell 是一个已安装 Google Cloud CLI 且已为当前项目设置值的 Shell 环境。该会话可能需要几秒钟时间来完成初始化。

    Terraform

    如需在本地开发环境中使用本页面上的 Terraform 示例,请安装并初始化 gcloud CLI,然后使用您的用户凭证设置应用默认凭据。

    1. 安装 Google Cloud CLI。

    2. 如果您使用的是外部身份提供方 (IdP),则必须先使用联合身份登录 gcloud CLI

    3. 如果您使用的是本地 shell,请为您的用户账号创建本地身份验证凭证:

      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
    • FOLDER_ID:文件夹的唯一数字标识符。如需了解如何使用文件夹,请参阅创建和管理文件夹
    • PROJECT_ID:项目的标识符。
  2. 点击执行

    成功后,该响应是一个 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 密钥是区域级资源。它们只能用于加密或解密与密钥存储在同一位置的数据。对于可观测性存储分区支持的每个位置,以及每个组织、文件夹或项目,您都可以使用 Cloud KMS 密钥配置可观测性存储分区的默认设置。

本部分介绍如何获取资源和位置的默认 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
    • FOLDER_ID:文件夹的唯一数字标识符。如需了解如何使用文件夹,请参阅创建和管理文件夹
    • PROJECT_ID:项目的标识符。
    • LOCATION_ID:您要查看其 CMEK 配置的位置。
  2. 点击执行

    成功后,该响应是一个 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"
      

设置可观测性存储分区的默认设置

本部分介绍了如何为资源(组织、文件夹或项目)配置可观测性存储分区的默认设置。

如果您计划为某个资源和位置要求使用 CMEK,请先为该资源和位置对配置可观测性存储分区的默认设置,然后再设置默认存储位置。 为资源和位置配置默认设置时,您需要指定要使用的 Cloud KMS 密钥。

以下说明适用于 APIs 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. 完成所需设置,以查看可观测性指标桶的默认设置

  2. 如需获得为组织、文件夹或项目设置可观测性存储分区默认设置所需的权限,请让管理员向您授予组织、文件夹或项目的以下 IAM 角色:

    如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限

    这些预定义角色包含为组织、文件夹或项目设置可观测性存储分区默认设置所需的权限。如需查看所需的确切权限,请展开所需权限部分:

    所需权限

    如需为组织、文件夹或项目设置可观测性存储分区的默认设置,您必须拥有以下权限:

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

    您也可以使用自定义角色或其他预定义角色来获取这些权限。

  3. 如果您计划要求使用 CMEK,请确保您在所需位置拥有 Cloud KMS 密钥。如有必要,请创建 Cloud KMS 密钥环Cloud KMS 密钥

  4. 确定您计划更新其可观测性存储分区默认设置的资源。此资源可以是组织、文件夹或项目。

    如果您为组织或文件夹配置了默认设置,则这些设置会应用于相应组织或文件夹的所有后代。如果您为某个项目配置了可观测性存储分区的默认设置,则这些设置仅适用于该项目。

向资源的服务账号授予对密钥的访问权限

对于您计划配置默认设置的资源,请向其服务账号授予角色:

  1. 确定要用于加密和解密的 Cloud KMS 密钥。

    Cloud KMS 密钥是区域性的。例如,如果您计划要求新的系统创建的可观测性存储分区位于 us 位置,则需要一个位于 us 位置的 Cloud KMS 密钥。

  2. 确定资源的服务账号。

    例如,如果您希望组织中所有新创建的系统可观测性存储分区都位于 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:运行 Cloud KMS 的 Google Cloud 项目的唯一字母数字标识符,由 Google Cloud 项目名称和随机分配的编号组成。如需了解如何获取此标识符,请参阅标识项目
    • SERVICE_ACCT_NAME:您在上一步中确定的资源的服务账号的名称。
    • LOCATION_ID:Cloud KMS 密钥的位置。
    • KMS_KEY_RING:Cloud KMS 密钥环的名称。

    Google Cloud 控制台

    1. 在 Google Cloud 控制台中,前往密钥管理页面。

      前往密钥管理

    2. 选择包含密钥的密钥环的名称。
    3. 选中相应密钥对应的复选框。

      权限标签变为可用。

    4. 添加成员对话框中,指定您授予访问权限的 Google Cloud Observability 服务账号的电子邮件地址。

    5. 选择角色菜单中,选择 Cloud KMS CryptoKey Encrypter/Decrypter

    6. 点击 Add(添加)。

为资源和位置设置默认 Cloud KMS 密钥

在上一步中,您已向资源的服务账号授予了针对特定 Cloud KMS 密钥加密和解密数据的权限。例如,您可能已向组织的服务账号授予 IAM 角色,使其能够访问位于 us 位置的 Cloud KMS 密钥。

在此步骤中,您需要针对相应资源和 Cloud KMS 密钥的位置,使用密钥信息更新可观测性存储分区的默认设置。例如,在此步骤中,您可能会将组织和 us 位置的可观测性存储分区的默认设置配置为同样位于 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
    • FOLDER_ID:文件夹的唯一数字标识符。如需了解如何使用文件夹,请参阅创建和管理文件夹
    • PROJECT_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:运行 Cloud KMS 的 Google Cloud 项目的唯一字母数字标识符,由 Google Cloud 项目名称和随机分配的编号组成。如需了解如何获取此标识符,请参阅标识项目
    • LOCATION_ID:Cloud KMS 密钥的位置。
    • KMS_KEY_RING:Cloud KMS 密钥环的名称。
    • KMS_KEY_NAME:密钥的名称。

    "kmsKeyName" 的值是密钥的完全限定名称。

  4. 点击执行

    成功后,该响应是一个 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 位置,那么该组织中新创建的系统可观测性存储分区将位于 us 位置。如果您希望文件夹或项目具有不同的默认存储位置,请为该文件夹或项目配置可观测性存储分区的默认设置。

如果您希望资源中由系统创建的可观测性存储分区使用 CMEK,请在为资源设置默认存储位置之前完成以下步骤:

  1. 向资源的相应服务账号授予 IAM 角色,以便该服务账号可以加密和解密数据。此角色适用于特定的 Cloud KMS 密钥,而该密钥位于特定位置。
  2. 使用 Cloud KMS 密钥信息为资源和密钥位置配置可观测性存储分区的默认设置

gcloud

在使用下面的命令数据之前,请先进行以下替换:

  • DEFAULT_STORAGE_LOCATION:项目、文件夹或组织的默认存储位置。此位置适用于新的可观测性存储分区。您必须输入受支持的可观测性存储桶位置
  • 使用以下任一方法向命令传递要查询的项目、文件夹或组织的 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
    • FOLDER_ID:文件夹的唯一数字标识符。如需了解如何使用文件夹,请参阅创建和管理文件夹
    • PROJECT_ID:项目的标识符。
  2. 按如下所示设置 updateMask 字段:

    updateMask=defaultStorageLocation
    
  3. 按如下方式配置请求正文

    {
      "defaultStorageLocation"="DEFAULT_STORAGE_LOCATION"
    }
    

    DEFAULT_STORAGE_LOCATION 替换为受支持的可观测性存储桶位置

    例如,假设您希望组织中所有新创建的系统可观测性存储分区都位于 us 位置并使用 CMEK。在之前的步骤中,您向组织的服务账号授予了 IAM 角色,使其能够使用位于 us 位置的 Cloud KMS 密钥来加密和解密数据。您可以通过将 DEFAULT_STORAGE_LOCATION 设置为 us 来完成配置。

  4. 点击执行

    成功后,该响应是一个 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 密钥,请按照为位置设置默认 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 不会自动轮替临时灾难恢复文件的加密密钥。现有恢复文件将继续使用在创建它们时所用的密钥版本。新的恢复文件会使用当前的主要密钥版本。

如需了解详情,请参阅密钥轮替

限制

将可观测性存储分区的默认设置配置为具有 CMEK 设置时,存在以下已知限制。

由于密钥不可用而导致降级

Google Cloud Observability 使用 Cloud KMS API 来访问 Cloud KMS 密钥和 Cloud EKM 密钥。这两种类型的密钥都可能会变得无法使用。

如果密钥不可用,则会发生以下情况:

  • 您无法查询存储的数据。
  • Google Cloud Observability 会缓冲最近 3 小时的数据。早于此三小时滑动窗口的数据可能会被舍弃。
  • 对于永久性数据存储,在写入数据后的 48 小时内,Cloud KMS 密钥必须至少连续 24 小时可用且可访问。如果在此期间 Cloud KMS 密钥不可用且无法访问,数据可能无法完整保留到存储中,可能会被舍弃。

后续步骤