AWS IAM 组:设计最小权限 - 拒绝或允许

AWS IAM 组:设计最小权限 - 拒绝或允许

我正在尝试创建适当的 AWS IAM 组来实现最小权限。最好是创建明确拒绝特定操作并允许其他所有操作的组,还是创建仅允许所需特定操作的组?AWS 的策略评估逻辑和我习惯的有点不同。

例如,假设我想要以下效果。

  1. 除了访问 IAM(高级用户)或更改 CloudFormation 之外,某些管理员可以做任何事情。
  2. 除了访问 IAM 之外,一些管理员可以做任何事情。
  3. 一些管理员可以做任何事情。

这样设计是不是最好:

Admins: Can do anything. AdminsNoIAM: Can do anything with explicit deny to IAM. AdminsNoCloudFormation: Can do anything with explicit deny to CloudFormation.

或者

Admins: Can do anything. AdminsLimited: Can do anything explicitly listed, cloudformation and IAM not listed. CloudFormationAdmins: Explicitly allows CloudFormation access.

第一个选项似乎是最简单的实现方式,但感觉可能有点笨重。我可能不习惯 AWS 处理显式拒绝的方式。谢谢!

答案1

IAM 用户默认没有权限,您必须先将其添加到组或授予其权限,然后他们才能执行任何操作。这表明 AWS IAM 默认拒绝,除非明确允许。

最好只添加单个用户或组所需的权限。默认情况下,IAM 将拒绝其他所有权限。如果您想拒绝所有权限,则违反了最佳实践和 AWS 设置 IAM 的方式。

此外,正如 ceejayoz 指出的那样,新功能会定期添加,因此如果您默认允许,您将不断更新策略。

相关内容