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
我已尝试创建一个策略来防止注销 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