AWS IAM 策略权限冲突问题

AWS IAM policy permissions clash issue

我已尝试创建一个策略来防止注销 AMI,除非 AMI 具有适当的“删除此”标签。当我 运行 IAM 策略模拟器时,该策略似乎不起作用并且允许注销 AMI,因为用户已经关联了比我的新策略更宽松的策略。

是否可以让我的自定义策略优先于其他策略?或者我是否必须创建明确 具有注销 AMI 权限的新策略?

当所述 AMI 具有“删除”标签或该标签的值为不是“是”。无论调用身份可能具有任何可能的 Allow 权限,这都有效。

这是因为带有“拒绝”操作的权限语句始终优先于任何允许权限。

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Deny",
      "Action": "ec2:DeregisterImage",
      "Resource": "arn:aws:ec2:*::image/*",
      "Condition": {
        "StringNotEquals": {
          "aws:ResourceTag/delete": "yes"
        }
      }
    }
  ]
}

阅读此页面以了解 IAM 用于评估权限的详细算法:https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html