是否可以在AWS IAM中添加显式拒绝的例外?



是否可以在AWS IAM Policy中将卷从显式拒绝中排除

{
"Sid": "DenyCreationOfUnencryptedEBSVOL",
"Effect": "Deny",
"Action": "ec2:CreateVolume",
"Resource": "*",
"Condition": {
"Bool": {
"ec2:Encrypted": "false"
}
}
},

阻塞所有未加密的卷。

认为使用条件组合将只允许具有Name Value的卷

"Test_Unencrypted">

{
"Sid": "DenyCreationOfUnencryptedEBSVOL",
"Effect": "Deny",
"Action": "ec2:CreateVolume",
"Resource": "*",
"Condition": {
"Bool": {
"ec2:Encrypted": "false"
},
"StringNotLike": {
"aws:ResourceTag/Name":"*Test_Unencrypted*"
}
}
},

是否可以像上面那样从deny中排除单个资源?

您可以使用密钥NotResource。例子:

{
"Version": "2012-10-17",
"Statement": {
"Effect": "Deny",
"Action": "s3:*",
"NotResource": [
"arn:aws:s3:::HRBucket/Payroll",
"arn:aws:s3:::HRBucket/Payroll/*"
]
}
}

将deny动作应用于除上述object之外的所有资源。

示例取自https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_notresource.html

编辑:我现在看到你可能也意味着排除资源有一个特定的标签附加到他们。因此,当test_unencrypted标记出现时,允许创建它。我认为你也可以使用StringNotEqualsaws:RequestTag/MyTagKey: MyTagValue条件键。然后,只有在提供标记的情况下才能创建卷。请注意,此条件仅适用于设置或删除标记的api调用(CreateVolume支持此功能)

最新更新