3

对于小型CloudFormation和CodePipeline模板,我们可以“尝试 - 测试”以针对所需角色获取最小特权IAM策略。针对云计算的最小特权AWS IAM策略

这通常包括:

  • 以最小的政策
  • 创建堆栈
  • 它失败开始 - 堆栈不具有权限someService:someAction
  • 服务行动加入政策
  • 更新堆栈并重试

对于较大的CloudFormation模板,此方法太耗时。
您是如何开发最低特权IAM政策

思路:

  • 允许“*”,然后刮cloudtrail事件和上市事件构建地图为等效的角色 - 那么角色降至只有那些在cloudtrail日志中列出。

  • 访问顾问

回答

1

Grant least privilege是有充分证据IAM Best Practice。该文档建议递增地添加特定的权限,使用Access Advisor标签来确定哪些服务实际上是正在使用的应用程序(可能使用在测试阶段更广泛的一组权限):

这是更安全的开始与最小的一组权限并根据需要授予额外的权限,而不是从过于宽松的权限开始,然后再尝试收紧权限。

定义正确的权限集合需要一些研究来确定特定任务需要什么,特定服务支持哪些操作以及执行这些操作需要什么权限。

有助于此的一个功能是Access Advisor选项卡,每当您检查用户,组,角色或策略时,该选项卡均可用于IAM控制台摘要页面。此选项卡包含有关用户,组,角色或使用策略的任何人实际使用哪些服务的信息。您可以使用此信息来识别不必要的权限,以便您可以优化您的IAM策略以更好地遵守最小特权原则。有关更多信息,请参阅Service Last Accessed Data

这种方法类似于刮CloudTrail由特定IAM角色/应用程序生成API的事件,尽管后者可能更困难,以便找到相关的事件在整个事件流进行过滤,而访问顾问列表已经为您筛选。