gpt4 book ai didi

amazon-web-services - AWS Bucket策略错误: Policy has invalid action

转载 作者:行者123 更新时间:2023-12-04 23:14:04 31 4
gpt4 key购买 nike

我有一个非常基本的目标:将存储桶中的所有内容共享给特定用户列表(只读)。这曾经与称为s3cmd的工具一起使用。我需要做的就是将一个用户(通过电子邮件标识)添加到Access Control List with Read Permission,他们可以顺利列出或下载数据。
但是最近,这突然不再起作用了。系统只是拒绝任何访问我的存储桶的尝试。
然后,我开始考虑编辑存储桶策略。这是由策略生成器生成的我的策略草案(敏感信息被匿名化):

    {
"Id": "Policy123456789",
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt1512705836469",
"Action": [
"s3:GetObject",
"s3:ListBucket",
"s3:ListObjects"
],
"Effect": "Allow",
"Resource": "arn:aws:s3:::mybucketname",
"Principal": {
"AWS": [
"arn:aws:iam::anotheruserid:user/admin"
]
}
}
]
}
单击 save时,出现“ 策略具有无效操作”错误。然后,我尝试删除“ListObjects”,因此该策略变为
    {
"Id": "Policy123456789",
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt1512705836469",
"Action": [
"s3:GetObject",
"s3:ListBucket"
],
"Effect": "Allow",
"Resource": "arn:aws:s3:::mybucketname",
"Principal": {
"AWS": [
"arn:aws:iam::anotheruserid:user/admin"
]
}
}
]
}
并收到另一个错误消息“ 操作不适用于语句中的任何资源”。
这两个错误对我来说没有意义。如果我错了,请纠正我。如果我的方向不正确,请帮助我。
顺便说一句:我试图按照教程在
http://docs.aws.amazon.com/AmazonS3/latest/dev/example-walkthroughs-managing-access-example2.html
但没有成功。通过使用以下存储桶策略:
    {
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Example permissions",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::AccountB-ID:root"
},
"Action": [
"s3:GetBucketLocation",
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::examplebucket"
]
}
]
}
使用AccountB的awscli执行“ aws s3 ls s3://examplebucket ”时,出现错误消息。
错误消息为“ ”。调用ListObjects操作时发生错误(AccessDenied):访问被拒绝
这使我感到困惑。如果添加ListObjects,则会得到一个 "invalid" error
如果删除“ ListObjects ”,则另一个用户无法读取我的存储桶内容。
我应该怎么办?

最佳答案

我怀疑策略编辑器在针对在存储桶上操作而不是在存储桶上运行的操作变得更加聪明。

另外,ListObjects似乎使它不高兴,因此请忽略它。

此策略允许列出存储桶的内容并检索对象:

{
"Id": "Policy1",
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Statement1",
"Effect": "Allow",
"Action": [
"s3:ListBucket",
"s3:GetObject"
],
"Resource": [
"arn:aws:s3:::my-bucket",
"arn:aws:s3:::my-bucket/*"
],
"Principal": {
"AWS": "arn:aws:iam::123456789012:user/user-name"
}
}
]
}
ListBucket在存储桶上运行。
GetObject对存储桶的内容进行操作。

可以将其写为策略中的两个单独的语句(一个在存储桶中,一个在存储桶中的内容上),但是如上所述编写起来通常更容易。

关于amazon-web-services - AWS Bucket策略错误: Policy has invalid action,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47707762/

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