我试图创建一个策略,该策略将防止AMI的注销,除非AMI具有适当的“删除此”标签。当我运行IAM策略模拟器时,该策略似乎不起作用,并且允许注销AMI,因为用户已经与比我的新策略更宽松的策略相关联。
是否可以使我的自定义策略优先于其他策略?还是我必须创建明确没有“注销AMI”权限的新策略?
当该AMI没有“删除”标签或该标签的值不是“是”时,以下IAM策略将拒绝注销AMI(仅替换为您的具体资源ARN)。无论呼叫身份可能具有任何可能的“允许”权限,此方法都有效。
这是因为具有“拒绝”操作的权限语句始终优先于任何“允许”权限。
{
"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
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句