amazon-web-services - AWS S3 操作不适用于声明中的任何资源

标签 amazon-web-services amazon-s3

嗨,我按照这个回答的指示,得到了同样的错误。

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "Stmt1614469992506",
      "Principal": "*",
      "Action": [
        "s3:DeleteObject",
        "s3:GetObject",
        "s3:ListBucket",
        "s3:PutObject"
      ],
      "Effect": "Allow",
      "Resource": "arn:aws:s3:::<S3_Name>/*"
    }
  ]
}
我得到了错误:

Action does not apply to any resource(s) in statement


我检查了文档,但找不到任何解决方案。

最佳答案

ListBucket 应该在存储桶资源本身上,而其他对象操作应该在存储桶内的对象上。所以,我们需要 /*对于桶的所有对象。
IAM 政策 :

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "s3:GetObject",
                "s3:DeleteObject"
            ],
            "Resource": "arn:aws:s3:::<S3_Name>/*"
        },
        {
            "Effect": "Allow",
            "Action": "s3:ListBucket",
            "Resource": "arn:aws:s3:::<S3_Name>"
        }
    ]
}
存储桶策略:
与 IAM 策略相同,但附加了 Principal。"Principal":"*""Principal":{"AWS":"*"}将给予公众访问和"Principal":{"AWS":"arn:aws:iam::AccountNumber-WithoutHyphens:root"}将授予对整个 Aws 帐户的访问权限。
一些细节herehere
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:root"
            },
            "Action": [
                "s3:PutObject",
                "s3:GetObject",
                "s3:DeleteObject"
            ],
            "Resource": "arn:aws:s3:::<S3_Name>/*"
        },
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:root"
            },
            "Action": "s3:ListBucket",
            "Resource": "arn:aws:s3:::<S3_Name>"
        }
    ]
}

关于amazon-web-services - AWS S3 操作不适用于声明中的任何资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66404647/

相关文章:

amazon-web-services - 在 AWS Glue 中聚合数据帧的好方法是什么

java - 在 Java 运行时确定 AWS lambda 名称

amazon-s3 - 允许跨账户 Lambda 函数写入 S3 的 IAM 存储桶策略

amazon-web-services - AWS S3 : Trigger multiple targets via S3 Notification upon file receipt

typescript - 使用 AWS CDK 的 API 网关 GET 方法请求 URL 查询字符串参数

python - 如何使用 boto 检查 python (django) 应用程序是否正在 EC2 中运行?

amazon-web-services - AWS S3 最大文件和上传大小

Java amazonS3.generatePresignedUrl - 如何配置 https ://s3. amazonaws.com/mycompany 而不是 https ://mycompany. s3.amazonaws.com/com.mycompany

node.js - 从 s3 获取签名的 url 以使用 SSE-C 解密上传的对象

amazon-web-services - 使用 Terraform 进行 S3 跨区域复制