我正试图使用桶策略限制用户对桶的访问。我有一组用户,他们都有S3FullAccess策略。我不能改变IAM中的任何东西。我只能使用我的水桶政策。因此,我希望使用桶策略来控制用户的访问。我把用户分成3类。
下面的政策是我尝试过的,但没有起作用。
{
"Version": "2012-10-17",
"Id": "PolicyTesting",
"Statement": [
{
"Sid": "0",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::<<account_id>>:user/users_with_limited_access"
},
"Action": [
"s3:GetBucketPolicy",
"s3:GetBucketLocation",
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::<<my_bucket_name>>",
"arn:aws:s3:::<<my_bucket_name>>/*"
]
},
{
"Sid": "1",
"Effect": "Deny",
"NotPrincipal": {
"AWS": "arn:aws:iam::<<account_id>>:user/admin_users"
},
"Action": "s3:*",
"Resource": [
"arn:aws:s3:::<<my_bucket_name>>",
"arn:aws:s3:::<<my_bucket_name>>/*"
]
}
]
}我尝试了上面的策略,但是只有管理员用户才能访问桶。具有有限访问权限的用户无法执行其授予的操作,如get-bucket策略、get-bucket- exception,他们正在获得一个拒绝访问的异常。帮我解决这个问题。
发布于 2021-06-10 22:42:52
在AWS IAM策略中没有优先级顺序。请参考策略评估逻辑这里。
AWS执行代码评估应用于请求的帐户中的所有策略。如果代码找到一个应用的显式拒绝,代码将返回一个拒绝的最终决定。
您的当前策略拒绝所有用户(管理员-用户除外)任何S3操作。因此,users_with_limited_access无法执行授予的操作。
请以适当的校长(如您的问题中的评论)更新您的政策,并参考下面更新的政策,使其发挥作用。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "1",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::111111111111:user/s3-limited-access-user"
},
"Action": [
"s3:GetBucketPolicy",
"s3:GetBucketLocation",
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::example-bucket",
"arn:aws:s3:::example-bucket/*"
]
},
{
"Sid": "2",
"Effect": "Deny",
"Principal": {
"AWS": "arn:aws:iam::111111111111:user/s3-no-access-user"
},
"Action": "s3:*",
"Resource": [
"arn:aws:s3:::example-bucket",
"arn:aws:s3:::example-bucket/*"
]
},
{
"Sid": "3",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::111111111111:user/admin-user"
},
"Action": "s3:*",
"Resource": [
"arn:aws:s3:::example-bucket",
"arn:aws:s3:::example-bucket/*"
]
}
]
}发布于 2021-06-11 17:25:41
您应该非常小心地对待NotPrincipal。这是避免同时使用它的最佳做法。在大多数情况下,不使用“危险”NotPrincipal很容易实现相同的功能(策略语义)。
我认为最好创建特定的IAM角色,并将它们分配给您希望允许访问S3桶的相应用户组。在此之后,用显式的Deny (用于"Principal" : "*"和aws:userId或aws:PrincipalArn )阻止对桶的所有其他访问。
查看本文以获得更多详细信息( https://levelup.gitconnected.com/how-i-locked-the-whole-company-out-of-an-amazon-s3-bucket-1781de51e4be )
最好,斯特凡
https://stackoverflow.com/questions/67921921
复制相似问题