Amazon web services AWS IAM策略权限冲突问题

Amazon web services AWS IAM策略权限冲突问题,amazon-web-services,amazon-iam,amazon-ami,Amazon Web Services,Amazon Iam,Amazon Ami,我试图制定一项政策,防止非盟特派团注销,除非非盟特派团有适当的“删除此”标签。当我运行IAM策略模拟器时,该策略似乎不起作用,并且允许取消注册AMI,因为用户已经与比我的新策略更宽松的策略相关联 是否可以使我的自定义策略优先于其他策略?或者我是否必须创建明确没有取消注册AMI权限的新策略?当所述AMI没有“delete”标记或该标记的值不是“yes”时,以下IAM策略将拒绝取消注册AMI(仅替换为您的具体资源ARN)。无论调用标识可能具有任何可能的允许权限,此操作都有效 这是因为具有“拒绝”操作

我试图制定一项政策,防止非盟特派团注销,除非非盟特派团有适当的“删除此”标签。当我运行IAM策略模拟器时,该策略似乎不起作用,并且允许取消注册AMI,因为用户已经与比我的新策略更宽松的策略相关联


是否可以使我的自定义策略优先于其他策略?或者我是否必须创建明确没有取消注册AMI权限的新策略?

当所述AMI没有“delete”标记或该标记的值不是“yes”时,以下IAM策略将拒绝取消注册AMI(仅替换为您的具体资源ARN)。无论调用标识可能具有任何可能的允许权限,此操作都有效

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

{
“版本”:“2012-10-17”,
“声明”:[
{
“效果”:“拒绝”,
“操作”:“ec2:注销图像”,
“资源”:“arn:aws:ec2:::::image/*”,
“条件”:{
“StringNotEquals”:{
“aws:ResourceTag/delete”:“是”
}
}
}
]
}

阅读本页了解IAM用于评估权限的详细算法:

当所述AMI没有“删除”标记或该标记的值不是“是”时,以下IAM策略将拒绝取消注册AMI(仅替换为您的具体资源ARN)。无论调用标识可能具有任何可能的允许权限,此操作都有效

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

{
“版本”:“2012-10-17”,
“声明”:[
{
“效果”:“拒绝”,
“操作”:“ec2:注销图像”,
“资源”:“arn:aws:ec2:::::image/*”,
“条件”:{
“StringNotEquals”:{
“aws:ResourceTag/delete”:“是”
}
}
}
]
}

阅读本页了解IAM用于评估权限的详细算法:

这似乎没有任何影响,至少在我使用策略模拟器进行测试时没有影响。然而,它似乎确实像我对真正的非盟特派团所期望的那样起作用。此外,这不会对AWS备份创建的自动过期AMI产生影响,是吗?我希望能够轻松删除AMI,除非它们被标记为AMI,因此我将条件切换为“StringEquals”,标记名为“Preserve”,因此:如果AMI被标记为“Preserve=yes”,则拒绝取消注册。不幸的是,策略模拟器与现实世界不匹配,尤其是在使用条件时,例如,在本例中发出的警告调用中的“如果您将条件键的值保留为空,则在模拟过程中忽略该键”似乎没有任何效果,至少在我使用策略模拟器进行测试时没有效果。然而,它似乎确实像我对真正的非盟特派团所期望的那样起作用。此外,这不会对AWS备份创建的自动过期AMI产生影响,是吗?我希望能够轻松删除AMI,除非它们被标记为AMI,因此我将条件切换为“StringEquals”,标记名为“Preserve”,因此:如果AMI被标记为“Preserve=yes”,则拒绝取消注册。不幸的是,策略模拟器与现实世界不匹配,尤其是在使用条件时,例如,在中发出警告时,“如果您将条件键的值保留为空,则在模拟过程中忽略该键”