本文档介绍了如何使用非拦截汇总接收器来管理 Google Cloud 组织中包含的资源生成的日志条目。
您可以将汇总接收器配置为拦截或不拦截,具体取决于您是否希望控制可以查询哪些日志条目,或者通过子资源中的接收器路由哪些日志条目。在本教程中,您将创建 用于将组织的审核日志路由到 Google Cloud 项目 汇总到日志存储桶中。
如需详细了解聚合接收器,请参阅 整理组织级和文件夹级日志并将其路由到支持的目标位置。
在本教程中,您将执行以下步骤:
首先,在存储桶中创建日志存储桶和日志接收器 您用来存储汇总日志条目的 Google Cloud 项目。
接下来,您将在组织级别创建非拦截汇总接收器 将日志条目路由到包含 日志存储桶。
然后,您可以配置对新日志存储桶中日志视图的读取权限。
最后,您可以在“日志浏览器”页面中查询和查看日志条目。
准备工作
请确保:
-
为了获得配置聚合接收器所需的权限, 请让管理员授予您 组织中的以下 IAM 角色:
-
如需在项目中创建日志存储分区和接收器,请执行以下操作:
Logs Configuration Writer (
roles/logging.configWriter
) - 您的项目 -
如需创建汇总接收器,请执行以下操作:
日志配置写入者 (
roles/logging.configWriter
) - 您的组织 -
如需向主要人员授予角色,请执行以下操作:
所有者 (
roles/owner
) - 您的项目
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
-
如需在项目中创建日志存储分区和接收器,请执行以下操作:
Logs Configuration Writer (
- 如果您使用 VPC Service Controls,则必须添加一个 到服务边界的入站流量规则如需详细了解 VPC Service Controls 限制,请参阅汇总接收器和 VPC Service Controls 限制。
创建日志存储桶
日志存储桶用于存储从其他 Google Cloud 项目、文件夹或组织路由的日志条目。如需了解详情,请参阅 配置日志存储分区。
要在 Google Cloud 项目中创建 汇总日志条目,请完成以下步骤:
-
转到 Google Cloud 控制台:
在 Cloud Shell 终端中,运行
gcloud logging buckets create
命令。在运行以下命令之前,请执行以下操作: 替换项:
- BUCKET_NAME:日志存储桶的名称。
- LOCATION:日志存储桶的位置。创建日志存储桶后,您便无法更改其位置。
- PROJECT_ID:要在其中创建 日志存储桶。
执行
gcloud logging buckets create
命令:gcloud logging buckets create BUCKET_NAME \ --location=LOCATION --project=PROJECT_ID
验证是否已创建日志存储桶:
gcloud logging buckets list --project=PROJECT_ID
该命令的响应是一个日志存储分区列表, 项目。
日志存储分区具有可配置的保留期限。如果您想设置 日志存储桶中日志条目的保留期限,然后使用
gcloud logging buckets update
命令。例如,以下 可延长存储在 日志存储桶中的 365 天:gcloud logging buckets update BUCKET_NAME \ --location=LOCATION --project=PROJECT_ID \ --retention-days=365
有关选项的详细信息,请参阅
gcloud logging buckets update
。
创建项目级日志接收器
您可以通过创建接收器将日志条目路由到日志存储桶。一个接收器包含 包含过滤器、排除过滤器和目标位置。在本教程中,您将为新的日志存储桶配置包含项过滤条件和目标位置。您的接收器不包含任何排除项过滤条件。 如需详细了解接收器,请参阅 将日志路由到支持的目标位置。
如需创建接收器以将日志条目路由到您刚刚创建的日志存储桶,请执行以下操作:
运行 gcloud logging sinks create
命令。
在运行以下命令之前,请执行以下操作: 替换项:
- PROJECT_LEVEL_SINK_NAME:项目级的名称 日志接收器。
SINK_DESTINATION:日志条目所路由到的日志存储桶。通过 日志存储桶的目标路径格式如下:
logging.googleapis.com/projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_NAME
PROJECT_ID:要在其中创建 日志接收器。将此选项设置为您创建日志存储桶时所用的项目。
包含以下选项:
--log-filter
:使用此选项可设置 与日志匹配的过滤条件 列出您想要添加到接收器中的条目在本教程中,过滤器为 设置为选择所有审核日志条目。如果您没有设置过滤器 系统会将 Google Cloud 项目中的日志条目路由到目标位置。--description
:使用此选项描述 接收器。
执行 gcloud logging sinks create
命令:
gcloud logging sinks create PROJECT_LEVEL_SINK_NAME SINK_DESTINATION
--project=PROJECT_ID
--log-filter='logName:cloudaudit.googleapis.com' \
--description="Audit logs from my organization" \
创建汇总接收器
汇总接收器会合并和路由组织或文件夹包含的资源的日志条目到目的地。
在本教程中,您将创建一个非拦截汇总接收器。这个 意味着汇总接收器路由的每个日志条目也会同时 生成日志条目的资源中的接收器。例如, 源自某个项目的审核日志由汇总接收器和 接收器。因此,您可以向同一用户 日志条目的副本。
您可以创建拦截接收器。如需了解详情,请参阅 整理组织级和文件夹级日志并将其路由到支持的目标位置。
在组织级层设置接收器
如需创建非拦截且将日志条目路由到项目的汇总接收器,请完成以下步骤:
运行
gcloud logging sinks create
命令。在运行以下命令之前,请执行以下操作: 替换项:
- SINK_NAME:日志接收器的名称。数据流接收器一经创建便无法更改其名称。
- PROJECT_ID:存储日志存储桶的项目的标识符。
- ORGANIZATION_ID:组织的标识符。
执行
gcloud logging sinks create
命令:gcloud logging sinks create SINK_NAME \ logging.googleapis.com/projects/PROJECT_ID \ --log-filter='logName:cloudaudit.googleapis.com' \ --description="Audit logs from my organization" \ --organization=ORGANIZATION_ID \ --include-children
--include-children
选项很重要。此选项可确保 所有相关的日志条目 系统会路由贵组织中的 Google Cloud 项目和文件夹。 如需了解详情,请参阅 整理组织级日志并将其路由到支持的目标位置。验证接收器是否已创建:
gcloud logging sinks list --organization=ORGANIZATION_ID
获取服务账号的名称:
gcloud logging sinks describe SINK_NAME --organization=ORGANIZATION_ID
输出类似于以下内容:
writerIdentity: serviceAccount:o1234567890-ORGANIZATION_ID@gcp-sa-logging.iam.gserviceaccount.com
将
serviceAccount
字段的值复制到剪贴板。
授予对接收器的访问权限
创建汇总接收器后,您必须为该接收器授予权限 将日志条目写入您设置为目标位置的项目。您可以授予 使用 Google Cloud 控制台 或者修改 Identity and Access Management (IAM) 政策, 设置目标位置权限。
如需向接收器授予写入日志条目的权限,请执行以下操作:
-
在 Google Cloud 控制台中,进入 IAM 页面:
如果您使用搜索栏查找此页面,请选择子标题为 IAM 和管理的结果。
选择包含您的日志存储桶的 Google Cloud 项目。
点击
Grant access(授予访问权限),然后将该服务账号添加为新主账号。请勿添加 serviceAccount: 前缀。在选择角色菜单中,选择 Logs Writer。
点击保存。
生成日志条目以帮助进行接收器验证
如需验证聚合接收器是否已正确配置,请尝试 以下:
生成应路由到您的日志存储桶的审核日志条目。
如果您的组织中有多个 Google Cloud 项目,那么 那么您可能就有足够的审核日志流量 请创建任意广告素材以进行验证转到下一步。
否则,请前往其他项目,创建一个 Compute Engine 虚拟机实例,然后删除您创建的实例。创建、启动和删除虚拟机时,系统会写入审核日志。
请按照在“日志浏览器”页面中查看日志部分中的步骤查看审核日志。请务必选择
_AllLogs
视图。
配置对日志存储桶中日志视图的读取权限
当您创建日志存储桶时,Cloud Logging 会自动创建一个
名为 _AllLogs
的日志视图。
此视图包含日志存储桶中存储的每个日志条目。
如需限制主账号只能访问特定日志条目,请创建 然后执行以下某项操作:
向其授予
roles/logging.viewAccessor
角色以及 限制向日志视图授予的 IAM 条件。针对与日志视图关联的 IAM 政策 授予主账号访问权限我们建议您在创建 大量日志视图。
如需详细了解这两种方法,请参阅 控制对日志视图的访问权限。
在以下步骤中,您将向主账号授予
roles/logging.viewAccessor
以及 IAM 条件
用于将授权授予名为 _AllLogs
的视图:
-
在 Google Cloud 控制台中,进入 IAM 页面:
如果您使用搜索栏查找此页面,请选择子标题为 IAM 和管理的结果。
选择包含日志存储桶的 Google Cloud 项目。
点击
Add。在新的主账号字段中,添加主账号。
在选择角色菜单中,选择日志视图访问器。
如果您没有为此角色添加条件,则主账号将 访问所有用户定义的日志存储分区上的所有日志视图 Google Cloud 项目中的资源。
将 IAM 条件添加到该绑定:
- 点击添加条件,然后输入标题和说明。
- 在条件类型菜单中,滚动到资源,然后 选择名称。
- 在运算符菜单中,选择结尾为。
在值字段中,输入日志视图的全名:
locations/LOCATION/buckets/BUCKET_NAME/views/_AllLogs
点击保存以保存条件。
点击保存以保存该绑定。
在“日志浏览器”页面中查看日志条目
如需查看日志存储桶中的日志条目,请执行以下操作:
-
在 Google Cloud 控制台中,转到 Logs Explorer 页面。
如果您使用搜索栏查找此页面,请选择子标题为 Logging 的结果。
选择优化范围。
在优化范围面板上,选择日志视图。
选择要查看其日志条目的日志视图或日志视图。 例如,如需查看所有日志条目,请选择名为
_AllLogs
的视图。点击应用。
Logs Explorer 会刷新,以显示日志存储桶中的日志条目。 如需了解如何使用日志浏览器,请参阅 使用日志浏览器。