gpt4 book ai didi

amazon-web-services - 带有预签名URL的S3 PUT请求拒绝访问

转载 作者:行者123 更新时间:2023-12-04 08:01:20 25 4
gpt4 key购买 nike

我正在尝试使用预先签名的URL将文件直接上传到S3存储桶,但在PUT请求上出现AccessDenied(禁止访问403)错误。

存储桶的CORS配置中允许PUT请求。

我还需要通过允许s3:PutObjects3:PutObjectAcl操作来更新存储桶策略吗?

P.S.忘记添加。我已经尝试过将s3:PutObjects3:PutObjectAclPrincipal: *添加在一起,在这种情况下,上传工作正常,但是如何限制上传的访问权限?它应该仅适用于预签名的URL,对吗?

最佳答案

好的,我想出了解决方法。步骤如下:

  • Principal: *替换"Principal": {"AWS":"arn:aws:iam::USER-ID:user/username"}。您可以在Amazon IAM部分中找到所需的用户凭证,而不是USER-ID:user/username。在此处阅读有关Principal的更多信息:https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html
  • 确保您在Principal中指定的用户具有所需存储桶的s3:PutObjects3:PutObjectAcl权限。
  • 检查您的Lambda的功能权限。对于所需的存储桶,它还应该具有s3:PutObjects3:PutObjectAcl。您可以在IAM角色页面(如果您为Lambda函数创建了单独的角色)上或通过函数设计器页面(只读)进行检查

  • enter image description here

    关于amazon-web-services - 带有预签名URL的S3 PUT请求拒绝访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48340823/

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