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

GCP Cloud SQL服务是否存在getIamPolicy接口?如何使用?

关于GCP Cloud SQL IAM策略查询接口的说明

GCP Cloud SQL 服务正式提供getIamPolicy接口,可用于获取指定实例的IAM权限策略配置。

调用前置要求
  • 依赖安装:需要先安装GCP Cloud SQL Python SDK,执行命令pip install google-cloud-sql
  • 权限要求:调用身份需要持有cloudsql.instances.getIamPolicy权限,可通过授予Cloud SQL Admin预定义角色快速获取对应权限
  • 身份认证:提前配置GCP身份认证,本地测试可通过设置环境变量GOOGLE_APPLICATION_CREDENTIALS,值为服务账号密钥JSON文件的本地路径
具体调用代码示例
from google.cloud import sql_v1

def get_cloudsql_iam_policy(project_id: str, instance_id: str) -> sql_v1.types.Policy:
    # 初始化Cloud SQL Admin客户端
    client = sql_v1.SqlInstancesServiceClient()
    
    # 构造请求参数
    request = sql_v1.GetIamPolicyRequest(
        resource=f"projects/{project_id}/instances/{instance_id}",
        # 可选:指定policy版本,建议指定为3以支持所有IAM特性
        options=sql_v1.GetPolicyOptions(
            requested_policy_version=3
        )
    )
    
    # 调用接口获取策略
    policy = client.get_iam_policy(request=request)
    return policy

# 调用示例
if __name__ == "__main__":
    # 替换为你的项目ID和Cloud SQL实例ID
    PROJECT_ID = "你的GCP项目ID"
    INSTANCE_ID = "你的Cloud SQL实例ID"
    
    iam_policy = get_cloudsql_iam_policy(PROJECT_ID, INSTANCE_ID)
    
    # 打印IAM策略绑定信息
    print("当前实例IAM权限策略:")
    for binding in iam_policy.bindings:
        print(f"角色: {binding.role}")
        print(f"授权成员: {binding.members}\n")
返回结果说明

返回的Policy对象核心字段为bindings数组,每个元素包含两个属性:

  • role:IAM角色标识,格式为roles/[角色名]
  • members:被授予该角色的身份列表,格式包含user:[邮箱]、serviceAccount:[服务账号邮箱]、group:[组邮箱]等类型

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 00:30:04