【问题标题】:How can I resolve AWS::S3::Errors:: Access Denied?如何解决 AWS::S3::Errors:: 拒绝访问?
【发布时间】:2020-09-23 20:11:14
【问题描述】:

您好,我已按照以下链接使用 AWS S3 配置回形针,但我不断从 heroku 日志中收到“AWS::S3::ERRORS::AccessDenied (Access Denied):”。如果我删除我的阻止公共访问设置,我可以将图像上传到我的 S3 文件夹而不会失败。

我可以知道是否应该配置任何东西以使其正常工作吗?我的 ENV 文件是 100% 正确的,因为当我删除阻止所有公共访问时它们能够连接..

我目前有这样的存储桶策略,但没有 CORS 配置

{
"Version": "2012-11-17",
"Id": "Policy1231xxx1231xx",
"Statement": [
    {
        "Sid": "Stmt1123123123",
        "Effect": "Allow",
        "Principal": {
            "AWS": "arn:aws:iam::2123123123:user/someuser"
        },
        "Action": "s3:*",
        "Resource": "arn:aws:s3:::somename"
    }
]

}

【问题讨论】:

  • 你能证明PrincipalResource是正确的吗?
  • 是的,它们是正确的,我对其进行了编辑以符合安全目的
  • 你能试试"Resource": ["arn:aws:s3:::somename","arn:aws:s3:::somename/*" ]吗? @stackedodds
  • 当我这样做时,它说“此策略包含无效的 Json”
  • 我设法通过了无效的 Json 部分,但我仍然得到 AWS::S3::Errors::AccessDenied。我应该删除阻止所有公共访问吗?似乎找不到合适的指南来集成回形针和 s3 ..

标签: amazon-s3 aws-sdk paperclip amazon-iam


【解决方案1】:

像这样改变你的资源参数

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "S3Permissions",
      "Action": "s3:*",
      "Effect": "Allow",
      "Resource": [
        "arn:aws:s3:::awsexamplebucket/*",
        "arn:aws:s3:::awsexamplebucket"
      ]
    }
  ]
}

您也可以参考此链接来定义您的存储桶策略https://aws.amazon.com/premiumsupport/knowledge-center/s3-access-denied-bucket-policy/

【讨论】:

  • 请注意,除了删除主体之外,此建议与上述更改没有太大区别。通过删除主体,有效地削弱了访问控制。
  • 尝试像这样更改资源参数
猜你喜欢
  • 2016-12-21
  • 1970-01-01
  • 2019-05-22
  • 1970-01-01
  • 2017-12-24
  • 2021-11-06
  • 2019-05-12
  • 2020-09-30
  • 1970-01-01
相关资源
最近更新 更多