我希望能够授予我的管理员用户在 IAM 中创建策略的权限,但我想确保他们不能创建影响特定资源的策略。
更具体地说,这些管理员用户当前位于一个用户组中,该组策略授予他们完全的 S3 访问权限除了对于特定的 S3 存储桶(在本例中,它是包含 CloudTrail 日志的存储桶)。他们还属于另一个授予他们 IAM 完全访问权限的用户组,这意味着他们可以轻松创建/编辑此 S3 策略以再次授予自己对该存储桶的访问权限。有没有办法做我想做的事情,或者也许有更好的方法来设置它?
答案1
使用 AWS Organizations,您可以使用服务控制策略来拒绝对服务和资源的访问。考虑到您有特定角色或用户需要访问您的存储桶,您可以允许他们访问。SCP 看起来如下所示:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "DenyCloudtrailBucket",
"Effect": "Deny",
"Action": [
"s3:*"
],
"Resource": [
"arn:aws:s3:::mybucket",
"arn:aws:s3:::mybucket/*"
],
"Condition": {
"ArnNotLike": {
"aws:PrincipalArn": [
"arn:aws:iam::*:role/myrole",
"arn:aws:iam::*:user/myuser"
]
}
}
}
]
}
以下是有关如何创建 SCP 的文档: https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps_create.html