如何解决 AWS::S3::Errors:: 拒绝访问?

Posted

技术标签:

【中文标题】如何解决 AWS::S3::Errors:: 拒绝访问?【英文标题】:How can I resolve AWS::S3::Errors:: Access Denied? 【发布时间】: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 .. 【参考方案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/

【讨论】:

请注意,除了删除主体之外,此建议与上述更改没有太大区别。通过删除主体,有效地削弱了访问控制。 尝试像这样更改资源参数

以上是关于如何解决 AWS::S3::Errors:: 拒绝访问?的主要内容,如果未能解决你的问题,请参考以下文章

令人困惑的 s3 存储桶策略上传问题

在HDFS权限被拒绝问题,怎么解决

拒绝承诺时如何解决 UnhandledPromiseRejectionWarning

应用使用权限被拒绝如何解决

如何解决 2.2 iphone 应用拒绝出现错误的应用将被拒绝

如何解决未处理的承诺拒绝?