You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Python/API获取BigQuery中Policy Tag关联的用户列表?

在BigQuery中获取Policy Tag关联的用户列表

要获取Policy Tag关联的用户/权限列表,需要借助Data Catalog API(因为Policy Tag属于Data Catalog分类体系的一部分),而非BigQuery的表操作API。以下是具体实现方式:

方法一:使用Python客户端库

  1. 先安装依赖库:
pip install google-cloud-datacatalog
  1. 获取Policy Tag的IAM权限配置
    需要先确认Policy Tag的完整资源名称,格式为:
    projects/{项目ID}/locations/{区域}/taxonomies/{分类ID}/policyTags/{Policy Tag ID}

通过以下代码获取关联的用户和角色:

from google.cloud import datacatalog_v1

def fetch_policy_tag_permissions(policy_tag_resource_name):
    client = datacatalog_v1.DataCatalogClient()
    request = datacatalog_v1.GetIamPolicyRequest(
        resource=policy_tag_resource_name,
        options=datacatalog_v1.GetIamPolicyOptions()
    )
    policy = client.get_iam_policy(request=request)
    
    # 解析并输出权限绑定信息
    for binding in policy.bindings:
        print(f"角色: {binding.role}")
        print(f"关联主体(用户/组/服务账号): {binding.members}\n")

# 替换为你的Policy Tag资源名称
target_policy_tag = "projects/your-project-id/locations/us-central1/taxonomies/your-taxonomy-id/policyTags/your-p1-tag-id"
fetch_policy_tag_permissions(target_policy_tag)

方法二:使用gcloud命令行工具

直接执行以下命令(替换占位符为实际信息):

gcloud data-catalog policy-tags get-iam-policy projects/your-project-id/locations/us-central1/taxonomies/your-taxonomy-id/policyTags/your-p1-tag-id

如何获取Policy Tag的资源名称

如果不知道Policy Tag的资源名称,可通过两种方式获取:

  • 控制台方式:进入Data Catalog分类体系页面,点击目标Policy Tag,在详情页的「资源名称」字段直接复制。
  • 代码方式:列出指定分类下的所有Policy Tag:
from google.cloud import datacatalog_v1

def list_policy_tags(taxonomy_resource_name):
    client = datacatalog_v1.DataCatalogClient()
    request = datacatalog_v1.ListPolicyTagsRequest(parent=taxonomy_resource_name)
    page_result = client.list_policy_tags(request=request)
    
    for tag in page_result:
        print(f"Tag名称: {tag.display_name}")
        print(f"资源名称: {tag.name}\n")

# 替换为你的分类资源名称
target_taxonomy = "projects/your-project-id/locations/us-central1/taxonomies/your-taxonomy-id"
list_policy_tags(target_taxonomy)

注意:Policy Tag的核心权限角色是roles/datacatalog.categoryFineGrainedReader,拥有该角色的主体才能访问绑定了该标签的列。

内容的提问来源于stack exchange,提问作者Sarthak Chandel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 12:12:03