配置组织和文件夹的默认设置

本文档介绍了如何为 Cloud Storage 存储分区配置默认资源设置, 使用 Google Cloud CLI 进行日志记录。 可应用于组织的默认资源设置 或文件夹,可以确定以下内容:

  • 新的日志存储分区是否需要 CMEK。

  • 存储位置,该位置决定了以下方面:

    • 其中存储了 _Default_Required 日志存储分区。

    • 日志浏览器日志分析页面中的查询的位置 (具体而言就是最近的查询)以及由 Google Cloud 项目。

  • _Default 接收器是处于启用状态还是已停用。

  • 应用于新资源的 _Default 接收器的过滤条件。

概览

组织资源处于 Google Cloud 资源层次结构。 组织资源是以下子资源的父级: Google Cloud 项目、文件夹、结算账号 Logging、存储分区

您可以将 Logging 配置为使用 Google Cloud 组织和文件夹。创建新的 那么这些资源会沿用其自身的默认资源设置 。

Cloud Logging 支持以下默认资源设置:

  • 是否使用 客户管理的密钥;如果是,则使用默认 Cloud KMS 密钥 用于加密

    如果您为资源配置 CMEK,则还必须设置 新的 _Default_Required 存储分区的默认存储位置 由子资源创建的

  • 新 Pod 的存储位置 _Default_Required 存储分区日志浏览器日志分析页面中的查询和查询。 此存储位置可让您 控制日志的存储位置

    如果您为资源设置默认存储位置,但未配置 CMEK,则资源中的新日志存储分区不需要 CMEK.

  • _Default 日志接收器 是为资源中的新项目启用或停用的。

  • 应用于所有新项目的包含过滤器或排除过滤器 子资源中的 _Default 接收器。

配置示例:

  • 您可以为组织配置默认存储位置。新款 项目,_Default_Required 存储分区 在指定位置创建的

  • 您为组织配置默认存储位置, 为该组织中的每个文件夹配置默认存储位置。 对于文件夹中的新项目,_Default_Required 存储分区 会在文件夹设置指定的位置创建。对于项目 不在文件夹中的此类实例及其 _Default_Required 存储分区 将在组织设置指定的位置创建。

  • 您可以配置一个默认存储位置,在该位置 日志浏览器已存储。其中包括近期 运行后自动保存的查询,以及由 Google Cloud 项目。

  • 您为一个组织和名为 Non-CMEK 的文件夹配置了 CMEK 您只需设置默认存储位置即可。如果您创建项目 文件不在名为 Non-CMEK 的文件夹中,则 _Default_Required 存储分区的创建位置与 Cloud Key Management Service 密钥,而这些日志存储分区由该密钥加密。 但是,如果您在名为 Non-CMEK 的文件夹中创建一个新项目, 其日志存储分区是在该文件夹的 并且这些日志存储分区不会由 CMEK 加密。

  • 您可以配置一个排除项过滤条件,以应用于_Default 组织级别。过滤器会排除数据访问审核日志 通过所有子资源中的 _Default 接收器进行路由,这会阻止 _Default 存储桶中存储的数据访问审核日志。

准备工作

本文档不包含有关如何将 CMEK 配置为 Logging 的默认资源设置。 有关该主题的信息,请参阅 为 Logging 配置 CMEK

开始配置默认资源设置 对于 Logging,请执行以下操作:

  1. 安装 Google Cloud CLI,然后通过运行以下命令初始化 Google Cloud CLI:

    gcloud init

  2. 确保您对 组织:

    • logging.settings.get
    • logging.settings.update
  3. 了解 LogBucket 格式要求,包括 您可以存储日志的受支持位置。 如需查看支持日志存储分区的存储位置的列表,请参阅 数据区域性:支持的区域

  4. 查找要为其创建文件的组织或文件夹的标识符 您要配置默认资源设置:

    • ORGANIZATION_ID 是 Google Cloud 组织。 如果您只计划配置 文件夹的默认资源设置。 如需了解如何获取此标识符,请参阅 获取您的组织 ID
    • FOLDER_ID 是 Google Cloud 文件夹。 如果您只计划配置 组织的默认资源设置。 有关使用文件夹的信息,请参阅 创建和管理文件夹
    • LOCATION 是您想要存储 日志数据。

查看 Logging 的默认资源设置

如需查看 Logging 的默认资源设置,请执行以下操作: 包括默认存储位置,请使用 gcloud logging settings describe 命令:

文件夹

 gcloud logging settings describe --folder=FOLDER_ID

单位

gcloud logging settings describe --organization=ORGANIZATION_ID

上一条命令会返回有关默认资源设置的信息。 例如,下面显示了 特定组织:

name: organizations/ORGANIZATION_ID/settings
kmsKeyName: KMS_KEY_NAME
kmsServiceAccountId: SERVICE_ACCT_NAME@gcp-sa-logging.iam.gserviceaccount.com
storageLocation: europe-west1
disableDefaultSink: false

SERVICE_ACCT_NAME 的值的格式可能为 cmek-12345service-12345@....如果您无法使用 Google Cloud CLI,请运行 Cloud Logging API 方法 getSettings

设置默认存储位置

日志存储分区是存储分区中的容器 Google Cloud 项目、结算账号、文件夹和组织 和整理日志数据对于每个 Google Cloud 项目、结算账号 Logging 会自动创建两个日志 存储分区:_Required_Default,它们会自动存储在 未指定的 global 位置。

您可以为 _Required_Default 指定存储位置 组织或文件夹中包含的存储分区 Logging 的默认资源设置。此存储位置还 确定查询在日志浏览器日志分析页面中的什么位置 存储数据。这些查询包括自动保存的近期查询 运行后的查询以及 Google Cloud 项目成员保存的查询。

如需查看受支持的存储位置列表,请参阅 支持的区域

为组织配置默认存储位置后, 会发生以下情况:

  • 该组织或文件夹中的现有 _Required_Default 存储分区 保留当时分配给他们的存储位置 它们的创建日期

  • 对于在组织或文件夹中创建的子资源 默认存储位置配置完成后 _Required_Default 存储分区会继承默认存储位置。

  • 现有的 Logs ExplorerLog Analytics 查询会保留其 当前存储位置。

  • 新的 Logs ExplorerLog Analytics 查询, 已配置默认存储位置,即使用默认存储位置。 此位置也适用于自动保存的近期查询。

Cloud Logging 的默认存储位置适用 导出到 _Default_Required 日志存储分区,以及查询 在日志浏览器日志分析页面中。这些查询包括 运行后自动保存的查询,以及由 是 Google Cloud 项目的成员。不会应用于用户定义的日志 或者使用 Logging API 保存的查询作为位置 都必须在请求中指定。

配置组织政策

Logging 支持的组织政策 限制数据的存储位置。 如果您的组织有这样的政策,那么您只能 在政策允许的位置创建日志存储分区。

如果存在指定位置限制条件的组织政策, 限制条件的政策值必须包含在 Logging 的默认资源设置。 此外,如果您打算修改默认资源设置, 更新默认资源设置,查看并根据需要进行更新 组织政策

如需查看或更新组织政策,请执行以下操作:

  1. 在 Google Cloud 控制台中,前往组织政策页面:

    转到组织政策

    如果您使用搜索栏查找此页面,请选择子标题为 IAM 和管理的结果。

  2. 选择您的组织。

  3. 查看并在必要时使用 ID 更新限制条件 constraints/gcp.resourceLocations.如果未配置此限制条件 则不需要更新。

    有关如何查看特定约束条件以及如何修改 请参阅 创建和修改政策

配置 Logging 的默认存储位置

如需为 Cloud Logging 配置默认存储位置,请运行 gcloud logging settings update 命令并添加 --storage-location 标志:

文件夹

gcloud logging settings update --folder=FOLDER_ID--storage-location=LOCATION

单位

gcloud logging settings update --organization=ORGANIZATION_ID --storage-location=LOCATION

如果您无法使用 Google Cloud CLI,请运行 Cloud Logging API 方法 updateSettings

了解如何解决更新默认存储空间时出现的错误 位置,请参阅 排查设置默认资源位置方面的问题

配置 _Default 接收器

Logging 提供预定义的 每个接收器有 _Default 个接收器 Google Cloud 项目、结算账号、文件夹和组织资源。不限 这是在与包含过滤器匹配的资源中生成的日志, 将被路由到资源的预定义 名为 _Default 的存储桶。

您可以为 _Default 接收器配置默认资源设置, 组织和文件夹。

  • 您可以为所有子资源停用 _Default 接收器。

  • 您可以配置一个或多个适用的包含过滤器 发送到新项目的 _Default 接收器。

停用“_Default”接收器

您可以在以下位置禁止为所有新资源创建 _Default 接收器: 组织或文件夹;停用_Default接收器可防止 日志存储在资源的 _Default 存储桶中。 如果你停止在存储分区中存储日志 资源的 _Default 存储桶,则本应路由到该存储桶的日志 从 Logging 的存储中排除,除非这些日志 显式包含在该资源的另一个用户定义的接收器中。

为某项资源及其任何子级停用 _Default 接收器 请运行以下命令 gcloud logging settings update 命令:

文件夹

gcloud logging settings update --folder=FOLDER_ID--disable-default-sink

单位

gcloud logging settings update --organization=ORGANIZATION_ID --disable-default-sink

disable-default-sink 标志仅适用于路由的 _Default 接收器 登录 _Default 存储桶。

您可以通过运行以下命令重新启用 _Default 接收器 gcloud logging settings update 命令:

文件夹

gcloud logging settings update --folder=FOLDER_ID--no-disable-default-sink

单位

gcloud logging settings update --organization=ORGANIZATION_ID --no-disable-default-sink

配置 _Default 个接收器的默认过滤条件

预定义的“_Default”接收器会路由与接收器条件匹配的所有日志 相应的 _Default 存储桶。您可以使用 包含项过滤条件排除项过滤器来配置 为组织中的新 _Default 接收器包含和排除哪些日志 或文件夹

包含过滤器可以覆盖或 附加到 _Default 接收器过滤条件,而排除过滤条件已附加到 因为 _Default 接收器默认没有排除项过滤器。

指定应用于所有项的包含过滤器或排除过滤器 组织或文件夹中新资源的 _Default 个接收器; 使用以下内容运行 Cloud Logging API 方法 updateSettingsdefaultSinkConfig 对象。您只能为 _Default 接收器。

您可以使用updateSettings 方法参考页面上的 APIs Explorer 微件。通过 以下示例展示了示例参数:

  • 名称(网址):organizations/ORGANIZATION_ID/settings
  • updateMask"default_sink_config"
  • 请求正文,其中包含一个 Settings 实例:

    "defaultSinkConfig": {
      {
      "filter": "NOT LOG_ID(\"externalaudit.googleapis.com/activity\") "
      "AND NOT LOG_ID(\"cloudaudit.googleapis.com/system_event\") "
      "AND NOT LOG_ID(\"externalaudit.googleapis.com/system_event\") "
      "AND NOT LOG_ID(\"cloudaudit.googleapis.com/access_transparency\") "
      "AND NOT LOG_ID(\"externalaudit.googleapis.com/access_transparency\") ",
      "exclusions": [
         {
            "name": "exclude-data-access",
            "description": "Prevents Data Access audit logs from being routed",
            "filter": "log_id(\"cloudaudit.googleapis.com/data_access\")",
         }
      ],
      "mode": OVERWRITE
      }
    }
    

上面的示例执行以下操作:

  • 覆盖 _Default 接收器的包含过滤器以包含“管理员” 活动审核日志,默认情况下会被排除。

  • 附加了排除项过滤条件,以防止数据访问审核日志被 路由到 _Default 存储桶。

排查配置错误

有关问题排查信息,请参阅 排查 CMEK 和默认设置错误