什么是 IAM?Google Cloud 权限管理基础

Google・クラウドカテゴリを表すパンダのイラスト Google 云端硬盘
Google Cloudや関連サービスをやさしく学ぶためのカテゴリ画像です。

关于本文

本文是使用生成式 AI 的自动化生成流程创建的。

查阅 Google Cloud 官方的 Identity and Access Management (IAM) 资料,面向初学者梳理“向谁授予哪个角色、在哪个范围内”的权限管理基础。同时涵盖 Project 层级、Role、Permission 以及最小权限原则。

信息确认基准日: 2026-09-19

首先用一句话概括

IAM (Identity and Access Management) 是 Google Cloud 中用于管理谁、能对哪些资源、执行什么操作的机制。将 Principal 理解为“谁”、Role 理解为“可执行操作的集合”、Permission 理解为“单个操作权限”,会更容易理解。

在 Google 全局中的定位

观察视角IAM
大分类Google Cloud / 安全、身份与访问控制
主要目的将云资源的访问权限仅限制给必要的人员与处理流程
组件将 Principal 和 Role 绑定到 Resource 的权限管理基础设施
搭配使用的服务Organization、Folder、Project、Service Account、以及各云服务
主要使用者IT管理员、安全人员、云运维人员、开发人员
flowchart LR
  P[Principal<br/>ユーザー・グループ・Service Account等] --> B[Role Binding]
  R[Role<br/>Permissionの集合] --> B
  B --> X[Resource<br/>Organization / Folder / Project]
  X --> S[Compute / Storage / BigQuery等]

Role(角色)与Permission(权限)的区别

Permission是“允许特定操作的最小单位”,而Role则是多个Permission的集合。通常我们会将符合目的的Role授予给Principal(主体)。

Role分为权限较广的Basic role(基本角色)、Google按服务准备的Predefined role(预定义角色)以及在组织中创建的Custom role(自定义角色)。初学者应避免盲目使用范围过广的Basic role,掌握寻找符合用途的Predefined role的思路会更加安全。

资源层级(Resource hierarchy)与继承

Google Cloud具有 Organization → Folder → Project → 各服务Resource 的层级结构。由于在上层容器中设置的Allow policy(允许策略)可能会影响到下层,因此在检查实际生效的访问权限时,也需要确认上层层级的策略。

按用户类型的实际业务示例

普通用户与文职人员

“能够登录”和“能够查看云数据”是两码事。即使拥有账号,如果没有IAM Role,有时也无法操作目标资源。

IT管理员

按部门、运维团队或自动化处理来梳理所需的Role,并将其授予至Project或Folder等适当的范围内。在人员调动或外包结束时能够重新审查权限的运维机制同样非常重要。

开发人员

在应用程序或CI/CD中,有时会使用Service Account等非人类身份(Non-human ID)。切勿将开发人员本人的强大权限挪用到应用中,而应只赋予工作负载所需的Role。

有Microsoft经验的人应该如何理解?

Google CloudMicrosoft Azure中相近的概念共同点 / 区别
IAMAzure RBAC其理念相近,即将角色(Role)分配给主体以控制对资源的各项操作
主体 (Principal)用户(User)/ 组(Group)/ 服务主体(Service Principal)等名称及身份基础架构的结构有所不同
组织 (Organization) / 文件夹 (Folder) / 项目 (Project)管理组 (Management Group) / 订阅 (Subscription) / 资源组 (Resource Group) 相关范围层级并非完全的一对一对应
服务账号 (Service Account)托管身份 (Managed Identity) / 服务主体 (Service Principal) 相关范围身份验证方法和密钥管理的设计有所不同

有 Azure RBAC 经验的人如果将其理解为“Google Cloud版的资源访问控制”会更容易上手,但我们需要重新确认 Google Cloud 的资源层级和角色体系。

API、CLI 与身份验证

IAM 不仅可以通过 Google Cloud Console 进行操作,还可以通过 REST API、客户端库(Client Libraries)以及 gcloud CLI 进行操作。当程序调用 Google Cloud API 时,可以使用应用程序默认凭据(ADC)等取决于运行环境的身份验证方法。

由于更改权限的影响较大,初学者的第一个示例中应优先考虑读取操作,而不是更改操作。

安全地进行尝试

gcloud iam roles describe roles/viewer

查看什么? roles/viewer 检查类似这样的角色信息。

成功后会怎样? 将显示角色的标题、描述以及包含的权限(Permission)等。

改动一处能明白什么?在 Google 官方的角色列表中查看并替换为另一个角色名,即可对比不同角色的权限差异。请勿凭空猜测不存在的角色名,务必在官方列表中进行确认。

安全方面的要点

  • 最小权限:仅允许执行必要的操作。

  • 同时检查上级层级的权限继承情况。

  • 切勿长期常规使用高权限,应根据需要考虑采用临时且可审计的访问方式。

  • 切勿将服务账号(Service Account)的私钥保存在公开的 GitHub 仓库中。

  • 切勿通过“不断添加权限直到错误消失”的方式来解决 IAM 变更问题。

除了允许策略(Allow policy)外,IAM 还拥有拒绝策略(Deny policy)、IAM 条件(IAM Conditions)、主体访问边界(Principal Access Boundary)、特权访问管理器(Privileged Access Manager)等精细控制访问的机制。当产生需求时,请查阅官方文档。

费用、账户与项目

IAM 是 Google Cloud 资源的访问管理基础。在进行 IAM 设置的同时,还需要统筹设计 Google Cloud 账户、组织/文件夹/项目(Organization/Folder/Project)结构以及操作对象的费用和权限。

Google 官方信息

接下来应该做什么?

在测试项目中写出“主体 / 角色 / 资源”(Principal / Role / Resource)这三要素,并在 Google Cloud Console 中读取并确认当前的访问设置。如果需要进行更改,请在官方角色列表中寻找并评估符合目的的预定义角色(Predefined role)。

Papanda TRY:将主体→角色→资源可视化

通过 PowerShell 读取虚拟的 IAM 策略 JSON,并将主体、角色、资源以三列形式展示。该代码不自动更改权限,而是作为仅用于盘点的日常代码,将 Owner/Editor 等宽泛的角色标记为“需确认”。

这到底是一个什么样的服务?

IAM 是Google Cloud 中决定“谁可以做什么”的权限管理基础。它用于仅向所需的 Principal 授予所需的 Role 以及所需的 Resource 范围。

文档信息

文章??
什么是 IAM?Google Cloud 权限管理基础
?布日期
更新日期
来源
https://papanda925.com/?p=17705&lang=zh

?可: ?于本站?有相??利的正文及原??表,除非?有?明,可依据 CC BY 4.0 使用。本文可能包含使用生成式AI?建或??的内容。若代??有?可声明,或?接的GitHub???定了?可,?代?以??可?准。引用内容、第三方?料、?片及商?不在本?可范?内。 使用政策

标题和URL已复制