gpt4 book ai didi

amazon-web-services - AWS S3 StringLike条件阻止对存储桶的请求

转载 作者:行者123 更新时间:2023-12-03 08:28:33 25 4
gpt4 key购买 nike

我有以下 s3 IAM 政策。它的目的是允许我从存储桶内的 temp/prod/tests 位置复制文件或将文件放入下面的存储桶中。

在策略中,我添加了 StringLike 条件,我希望该条件允许策略中的权限允许在对象前缀包含 temp/prod/tests 时进行复制和放置。 .

{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "",
"Effect": "Allow",
"Action": [
"s3:ReplicateObject",
"s3:PutObject",
"s3:ListBucket",
"s3:GetObjectAcl",
"s3:GetObject",
"s3:GetBucketLocation",
"s3:GetBucketAcl",
"s3:DeleteObject"
],
"Resource": [
"arn:aws:s3:::MYBUCKET/temp/prod/tests/*",
"arn:aws:s3:::MYBUCKET"
],
"Condition": {
"StringLike": {
"s3:prefix": [
"temp/prod/tests/*",
"temp/prod/tests/"
]
}
}
}
]
}

我的问题是,这种情况阻止我复制 temp/prod/tests/下的任何内容,或将任何新对象放入此位置下的存储桶中。

 $ aws s3 cp --recursive s3://MYBUCKET/temp/prod/tests/ /tmp
download failed: s3://MYBUCKET/temp/prod/tests/testfiles/testfile to ../../../tmp/testfiles/testfile An error occurred (AccessDenied) when calling the GetObject operation: Access Denied

还有

$ aws s3 cp /tmp/test s3://MYBUCKET/temp/prod/tests/
An error occurred (AccessDenied) when calling the PutObject operation: Access Denied

如果我删除条件,我就可以按预期复制文件。

我不明白为什么条件不起作用,因为据我所知,我发出的请求与条件的前缀匹配。

有谁知道为什么这不能按我的预期工作?

最佳答案

首先,我认为根据资源拆分规则是一个很好的做法。有些 s3 操作需要存储桶,有些需要对象。它位于每项服务的文档中:https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html

此外,条件而不是适当的资源使政策更加困惑。

理论上,要上传对象,您只需要 PutObject,甚至不需要任何 List 操作。但对于各种命令行工具,我很好奇你能用这样的东西走多远:

{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "rule1",
"Effect": "Allow",
"Action": [
"s3:ListMultipartUploadParts",
"s3:AbortMultipartUpload",
"s3:PutObject",
"s3:GetObject",
"s3:DeleteObject"
],
"Resource": [
"arn:aws:s3:::MYBUCKET/temp/prod/tests/*",
]
},
{
"Sid": "rule2",
"Effect": "Allow",
"Action": [
"s3:ListBucket",
"s3:ListBucketMultipartUploads"
],
"Resource": [
"arn:aws:s3:::MYBUCKET",
]
}
}
}

关于amazon-web-services - AWS S3 StringLike条件阻止对存储桶的请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65874210/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com