本页介绍了 Infrastructure Manager 角色和权限。
Infra Manager 使用 Identity and Access Management (IAM) 来控制对服务的访问权限。如需授予使用 Infra Manager 部署资源的权限,请向您用于调用 Infra Manager 的服务账号分配所需的 Infra Manager IAM 角色。如需详细了解如何向服务账号授予权限,请参阅管理对服务账号的访问权限。
服务账号无需拥有相应权限即可查看 Infra Manager 部署、修订和 IAM 政策。如需查看 Infra Manager,请向相应用户、群组或服务账号授予访问权限。
若要部署或查看 Terraform 配置中定义的 Google Cloud 资源,您需要向服务账号授予特定于这些资源的权限。除了本页面列出的 Infra Manager 权限之外,您还需要拥有以下权限。如需查看所有角色及其所含权限的列表,请参阅 Identity and Access Management 基本角色和预定义角色参考文档。
预定义的 Infra Manager 角色
IAM 提供预定义角色,可授予对特定 Google Cloud 资源的访问权限,并防止对其他资源进行未经授权的访问。
下表列出了 Infra Manager IAM 角色及其具备的权限:
角色 | 说明 | 权限 |
---|---|---|
Infra Manager Admin (roles/config.admin ) |
用户对 Infrastructure Manager 资源拥有完全控制权 | config.deployments.create config.deployments.delete config.deployments.get config.deployments.getIamPolicy config.deployments.list config.deployments.setIamPolicy config.deployments.update config.previews.create config.previews.delete config.previews.get config.previews.list config.previews.export config.previews.upload config.locations.get config.locations.list config.operations.cancel config.operations.delete config.operations.get config.operations.list config.resources.get config.resources.list config.revisions.get config.revisions.list config.artifacts.import config.terraformversions.get config.terraformversions.listt resourcemanager.projects.get resourcemanager.projects.list |
Infra Manager Service Agent (roles/config.agent ) |
向服务账号授予对 Infra Manager 的访问权限,以便使用部署、修订、日志记录和 Terraform 状态文件。 | storage.buckets.get storage.buckets.list storage.buckets.create storage.buckets.update storage.buckets.delete storage.objects.get storage.objects.list storage.objects.create storage.objects.update storage.objects.delete logging.logEntries.create config.deployments.getState config.deployments.updateState config.deployments.deleteState config.deployments.getLock config.previews.upload config.artifacts.import config.revisions.getState cloudbuild.connections.list cloudbuild.repositories.accessReadToken cloudbuild.repositories.list |
Infra Manager 服务账号 (roles/cloudconfig.serviceAgent ) |
启用 Infra Manager API 后,系统会在项目中自动创建 Infra Manager 服务账号,并为其授予项目中资源的此角色。Infra Manager 服务账号仅在创建、管理或删除部署和修订时需要执行操作时才会使用此角色。 | cloudbuild.builds.get cloudbuild.builds.list cloudbuild.builds.create cloudbuild.builds.update cloudbuild.workerpools.use storage.buckets.get storage.buckets.list storage.buckets.create storage.buckets.update storage.buckets.delete storage.objects.get storage.objects.list storage.objects.create storage.objects.update storage.objects.delete |
Infra Manager Viewer (roles/config.viewer ) |
读取部署、修订版和 IAM 政策。 | config.deployments.get config.deployments.getIamPolicy config.deployments.list config.previews.get config.previews.list config.locations.get config.locations.list config.operations.get config.operations.list config.resources.get config.resources.list config.revisions.get config.revisions.list config.terraformversions.get config.terraformversions.listt resourcemanager.projects.get resourcemanager.projects.list |
除了 Infra Manager 预定义角色之外,基本 Viewer 和 Owner 角色也包含与 Infra Manager 相关的权限。但是,我们建议您尽可能授予预定义角色,以便符合最小权限安全原则。
下表列出了基本角色以及它们包含的 Infra Manager IAM 角色。
角色 | 包含的角色 |
---|---|
查看者 | roles/config.viewer |
所有者 | roles/config.admin |
权限
REST API 参考文档中列出了调用方调用每个方法必须具备的权限。
后续步骤
- 了解 IAM。
- 详细了解如何在 IAM 中使用条件
- 详细了解Infra Manager 服务账号。