本文档介绍了如何使用标记管理 Cloud Logging 日志存储桶。通过在组织级或项目级创建的标记,您可以为资源添加注解。您还可以根据资源是否具有特定标记,有条件地授予 Identity and Access Management (IAM) 角色或有条件地拒绝 IAM 权限。如需了解标记,请参阅标记概览。
例如,如果您使用 BigQuery 分析 Cloud Billing 数据,则可以将 project:production
标记附加到存储来自生产资源的日志数据的日志存储桶,并将 project:development
标记附加到存储来自开发资源的日志数据的日志存储桶。然后,您可以查询带有标记的 Cloud Billing 数据,并查看开发和生产环境的费用明细。
标记可以明确附加到日志存储桶,也可以从其父级组织、文件夹和项目继承。
准备工作
如需开始使用标记管理日志存储桶,请执行以下操作:
- 确保您已创建标记并配置其值。您可使用 Resource Manager 管理标记定义。如需了解如何创建和管理标记,请参阅创建和管理标记。
-
如需获得使用标记管理日志存储桶所需的权限,请让您的管理员为您授予项目或组织的以下 IAM 角色:
-
Tag User (
roles/resourcemanager.tagUser
) -
Tag Viewer (
roles/resourcemanager.tagViewer
)
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
这些预定义角色包含使用标记管理日志存储桶所需的权限。如需查看所需的确切权限,请展开所需权限部分:
所需权限
您需要具备以下权限才能使用标记管理日志存储桶:
-
对日志存储桶添加或移除标记:
-
resourcemanager.tagValues.{get,list}
-
resourcemanager.tagKeys.{get,list}
-
resourcemanager.projects.get
-
logging.buckets.createTagbinding
-
logging.buckets.deleteTagBinding
-
-
查看附加到日志存储桶的标记:
-
resourcemanager.tagValues.{get,list}
-
resourcemanager.tagKeys.{get,list}
-
logging.buckets.listTagBindings
-
logging.buckets.listEffectiveTags
-
-
Tag User (
-
如需获得管理日志存储桶所需的权限,请让您的管理员为您授予项目的 Logs Configuration Writer (
roles/logging.configWriter
) IAM 角色。如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。此预定义角色包含管理日志存储桶所需的
logging.buckets.list
权限。
将标记附加到日志存储桶
如需将标记附加到日志存储桶,请执行以下操作:
Google Cloud 控制台
-
在 Google Cloud 控制台中,前往日志存储页面:
如果您使用搜索栏查找此页面,请选择子标题为 Logging 的结果。
找到要为其附加标记的日志存储桶。
对日志存储桶点击更多more_vert,然后点击修改标记。
在对话框的直接标记部分中,选择在其中创建标记的资源以找到标记。例如,如需使用在项目级创建的标记,请选择选择当前项目作为范围。
您还可以选择手动输入选项,以便手动搜索项目、组织或标记 ID。
选择相应的键值对,然后点击保存。
系统会显示一个对话框,以确认您的更改。点击确认以最终完成更改。
gcloud
如需将标记附加到日志存储桶,请通过运行 gcloud resource-manager tags bindings create
命令来创建标记绑定:
gcloud resource-manager tags bindings create \ --tag-value=TAG_VALUE_ID \ --parent=BUCKET_NAME \ --location=LOCATION
在上一个命令中,进行以下替换:
TAG_VALUE_ID:标记值的永久 ID 或命名空间名称。例如
tagValues/4567890123
。如需详细了解标记标识符,请参阅标记定义和标识符。BUCKET_NAME:日志存储桶的名称。例如
//logging.googleapis.com/projects/BUCKET_PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID
。LOCATION:日志存储桶的位置。
API
如需将标记附加到日志存储桶,请使用 tagBindings.create
方法。
查看附加到日志存储桶的标记
如需查看附加到日志存储桶的标记,请执行以下操作:
Google Cloud 控制台
-
在 Google Cloud 控制台中,前往日志存储页面:
如果您使用搜索栏查找此页面,请选择子标题为 Logging 的结果。
找到您要查看其标记的日志存储桶。
在标记列中,列出了与日志存储桶关联的标记。如需查看与日志存储桶关联的所有标记,请点击 arrow_drop_down 更多按钮以展开标记列表。
gcloud
运行 gcloud resource-manager tags bindings list
命令:
gcloud resource-manager tags bindings list \ --parent=BUCKET_NAME \ --location=LOCATION
在上一个命令中,进行以下替换:
BUCKET_NAME:日志存储桶的名称。例如
//logging.googleapis.com/projects/BUCKET_PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID
。LOCATION:日志存储桶的位置。
可选:如需查看日志存储桶继承的标记,请添加 --effective
标志。添加此标志会返回类似于以下内容的响应:
namespacedTagKey: 961309089256/environment namespacedTagValue: 961309089256/environment/production tagKey: tagKeys/417628178507 tagValue: tagValues/247197504380 inherited: true
如果所有标记都明确附加到日志存储桶,没有继承任何标记,则 inherited
字段为 false 且会被省略。
API
如需获取存储桶的标记绑定列表,请使用 tagBindings.list
方法。
移除日志存储桶上的标记
如需移除附加到日志存储桶的标记,您必须删除附加到日志存储桶的标记绑定。如需删除标记,您必须从所有附加的资源中移除标记。
Google Cloud 控制台
-
在 Google Cloud 控制台中,前往日志存储页面:
如果您使用搜索栏查找此页面,请选择子标题为 Logging 的结果。
找到您要移除其标记的日志存储桶。
对日志存储桶点击更多more_vert,然后点击修改标记。
在对话框中,将指针悬停在要移除的标记上,然后点击
删除项。点击保存以保存更改。系统会显示一个对话框,以确认您的更改。点击确认以最终完成更改。
gcloud
运行 gcloud resource-manager tags bindings delete
命令:
gcloud resource-manager tags bindings delete \ --tag-value=TAG_VALUE_ID \ --parent=BUCKET_NAME \ --location=LOCATION
在上一个命令中,进行以下替换:
TAG_VALUE_ID:标记值的永久 ID 或命名空间名称。例如
tagValues/4567890123
。如需详细了解标记标识符,请参阅标记定义和标识符。BUCKET_NAME:日志存储桶的名称。例如
//logging.googleapis.com/projects/BUCKET_PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID
。LOCATION:日志存储桶的位置。
API
如需移除日志存储桶上的标记,请使用 tagBindings.delete
方法。
限制
您无法使用 IAM 角色授予来控制主账号在列出 Google Cloud 项目中的日志存储桶时所看到的日志存储桶。主账号会看到完整列表或空列表。不过,您可以将 IAM 角色授予与 IAM 条件搭配使用来限制主账号可以对日志存储桶执行的操作。例如,您可以限制主账号是否可以删除特定日志存储桶。
如果您将 Cloud Billing 数据导出与 BigQuery 搭配使用,则标记可能需要长达一小时才能在导出中使用。如果标记是在一个小时内添加或移除的,或者日志存储桶存在的时间不超过一个小时,则该标记可能不会出现在导出结果中。
自定义角色和包含 IAM 条件的角色授予
如果您计划使用自定义 IAM 角色,并且计划将 IAM 条件附加到角色授予,则可能需要创建多个自定义角色。将 IAM 条件附加到角色授予时,某些 IAM 权限会失效。
对于 Cloud Logging,如果角色授予包含 IAM 条件,则以下 IAM 权限会失效:
logging.buckets.list
logging.buckets.create
因此,您可能需要创建一个包含 list
和 create
权限的角色,以及另一个包含其他特定于存储桶的权限的角色。例如,您可以创建一个包含 logging.buckets.delete
和 logging.buckets.update
权限的角色。
授予包含 list
和 create
权限的角色时,请勿将 IAM 条件附加到角色授予。授予包含 delete
和 update
权限的角色时,您可以添加 IAM 条件,以将授予限制为具有特定标记的资源。
后续步骤
了解如何设置带有标记的组织政策。
如需了解如何在 Cloud Billing 数据导出中使用标记,请参阅 Cloud Billing 数据导出文档。