GCP IAM Hands on#
以 Acme startup 的报表应用为例,学习人员身份、组、组织层级、授权、Service Account、最小权限、安全约束、审计和访问撤销。
这是 Hugo 文档中的独立实战教程。所有公司、账号和项目均为示例或占位符;编写教程不需要读者提供个人账号,也不会自动登录、创建资源或执行云端命令。实际练习由读者以后在独立实验环境中自行完成。
阅读与实验顺序#
| 顺序 | 文档 | 完成后应理解 |
|---|---|---|
| 背景 | 案例与设计原则 | 业务、职责、权限边界与最佳实践 |
| 01 | 准备与身份管理 | 创建人、管理组、创建组织与授权的区别 |
| 02 | 团队授权与继承 | 主体、绑定、角色、资源范围、权限累加 |
| 03 | 自定义角色 | 权限选择、角色定义和发布阶段 |
| 04 | 应用与服务账号 | 运行 SA、最小权限、ADC、正反验证 |
| 05 | 部署与调用身份 | 部署者、调用者、运行身份,以及外部流水线 |
| 06 | 条件与策略 | Conditions、Deny、Organization Policy 的边界 |
| 07 | 审计与故障排查 | 从日志与授权来源解释访问结果 |
| 08 | 离职复查与清理 | 完整访问生命周期与实验恢复 |
使用约定#
- 先在示例与下载下载实验包并解压,进入包内根目录,再执行相对路径命令。命令以 Bash 为例。
templates/lab.env.example只有占位符。复制成lab.local.env并替换所有REPLACE_后才可使用。不要读取工作目录之外现有的环境文件。
验证身份必须与配置权限的管理员分开。 否则管理员继承的宽权限会掩盖错误,无法证明“应被拒绝”的操作确实受限。
PROJECT_ID代表当前实验项目。主线先在 dev 完成;test 和 prod 使用各自独立的项目与 SA。教程中的 prod 也只是实验环境。- 云命令、IAM JSON/YAML 与应用源码提供可复用示例。尚未在真实 GCP 环境执行端到端验证,服务约束或组织默认策略可能要求调整。
- 命令可能产生资源和费用。预算告警不等于消费硬上限;完成后按第 08 章清理。
文件与练习成果#
示例与下载提供最小报表应用、环境变量与策略模板,可在线阅读或下载实验包。
每个实验保存:身份、资源、操作、预期结果、实际结果、证据、回滚状态。参考 实验记录模板。
完成标准不是背下所有角色名称,而是能够独立解释设计文档中的十二个验收问题,并用日志或策略证明结论。