如何解决 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"
]
【问题讨论】:
你能证明Principal
和Resource
是正确的吗?
是的,它们是正确的,我对其进行了编辑以符合安全目的
你能试试"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:: 拒绝访问?的主要内容,如果未能解决你的问题,请参考以下文章
拒绝承诺时如何解决 UnhandledPromiseRejectionWarning