一位同事发来一条需要在发布前评审的 IAM 策略语句。若要像 AWS 一样解读它,您需要先知道语句中每一部分各自负责什么。
这条语句被拆分为 6 个片段。每个片段在 AWS 即将进行的决策中只承担一个明确的职责。
本练习是课程的一部分
通过我们的互动练习之一,将理论转化为实践
本章将构建保护真实 AWS 工作负载的思维模型:区分发起调用的参与者与 AWS 实际评估的主体。接着,您将按照 AWS 的方式阅读 IAM 策略,判断一次调用是被允许、被拒绝,还是根本没有匹配到任何规则而被静默阻止。最后,您会用角色假设、临时凭证和预签名 URL 替换长期访问密钥,从根源上把密钥移出代码仓库。
当前练习
本章将明确划分用于登录的 Cognito 用户池与用于获取 AWS 凭证的身份池,并在信任令牌内容前先验证其签名。随后,您会梳理权限真实来源于哪里:身份策略、资源策略,以及对其进行限制的边界策略,并据此在 API Gateway 端点上在 IAM、Cognito 与 Lambda 授权器之间做出选择。最后,您将把机密从代码和日志中移除,选择能经受事件复盘的存储方式、遮蔽策略与轮换习惯。
本章将把加密模式与需求一一匹配:S3 对象的四种加密方式,以及用于强制传输中加密的那一条策略。接着,您会弄清当密钥策略与 IAM 策略同时生效时,谁才真正控制 KMS 密钥,并足够细致地阅读 CloudTrail,从"沉默"中判断是无人记录,还是确有其事但未被记录。最后,您将把整门课的检查清单应用到即将发布的一项服务上,看到相同的身份、机密与加密决策如何延伸到流水线和代表您调用 AWS 的 AI 代理。