细粒度权限模型(resource × role × principal)
角色和权限众多,学习曲线陡
POST /v1/projects/{projectId}/serviceAccounts 创建 service account;POST /v1/{resource}:setIamPolicy 设置 IAM policy。
可用率 · 30 天窗口
关于这个 API
IAM 是 GCP 的访问控制核心。它的模型是「principal → role → resource」三元组——principal 是 user/serviceAccount/group/domain,role 是一组权限的集合(预定义 role 如 roles/storage.admin,也可以自定义),resource 是 GCP 资源(project/bucket/instance 等)。重要特性是 conditional access——可以加条件如「只在工作时间」「只从公司 IP」「只针对带特定 tag 的资源」。Service Account 是机器身份(应用、CI、cron 用),可以颁发 key 或 STS 短期 token。IAM API 主要用于:自动化 CI/CD 权限配置(不在 console 手动点)、合规审计(导出 policy 检查)、和大规模权限管理(批量 revoke 离职员工)。
你可以做什么
- 1程序化创建 service account
- 2批量分配/回收 IAM 角色
- 3审计 IAM policy
- 4CI/CD pipeline 的最小权限配置
优劣对比
优点
- 细粒度权限模型(resource × role × principal)
- 支持 conditional access(基于属性的访问控制)
- audit log 完整可追溯
注意事项
- 角色和权限众多,学习曲线陡
- 某些资源仍用 legacy ACL 不走 IAM
示例请求
curl https://google.com/<endpoint>快速开始
POST /v1/projects/{projectId}/serviceAccounts 创建 service account;POST /v1/{resource}:setIamPolicy 设置 IAM policy。
常见问题
service account key 安全吗?+
key 是长期凭证,泄露风险高。强烈建议用 Workload Identity Federation(短期 token,无 key)替代。
predefined role vs custom role 怎么选?+
先用 predefined,权限太宽再 custom。custom role 维护成本高(GCP 新增功能时要手动加权限)。
技术细节
- 认证方式
- unknown
- 计费
- unknown
- 协议
- REST
- SDK
- python, javascript, go, java, csharp
- 上次巡检
- 2026/5/12 07:37:35
更多来自 Google 的 API
Google Workspace Admin SDK API 程序化管理 Workspace 组织:用户、组、设备、域名、审计日志、组织单元。
AdMob API 可读取 accounts、apps、adUnits 与 adSources,并生成 mediation 与 network 报表。
AdSense Host API 支持 accounts、adclients、adunits、reports 和 adcode 生成,适合托管式广告平台集成。
Apigee API 可管理 API proxy、deployments、attributes 与 organizations,适合把 API 网关运维接入自动化流程。
Google BigQuery API 是 GCP 旗舰数据仓库的 REST 接口:执行 SQL 查询、管理 datasets/tables、流式插入、ML 内置。
Binary Authorization API 用于管理 attestors、IAM policy 与镜像验证流程,面向 GKE 和 Anthos 的发布门禁。
Business Profile Performance API 能拉取 location 指标时间序列和 search keyword impressions,服务 Google 商家资料分析。
Google Calendar API 让应用程序化创建、读取、更新日历事件,是日程类应用最常用的集成。
