amazon-web-services - 在 serverless.yaml 中向 s3 存储桶添加策略时遇到问题
问题描述
我想将以下政策添加到我的 S3 存储桶中
s3Permissions:
Type: AWS::S3::BucketPolicy
Properties:
Bucket: ${self:provider.environment.S3_BUCKET}
PolicyDocument:
Id: Policy1590589947784
Version: '2012-10-17'
Statement:
- Sid: getObjectFromS3
Action:
- s3:GetObject
Effect: Allow
Resource: arn:aws:s3:::${self:provider.environment.S3_BUCKET}
Principal: "*"
我将此设置作为我的环境变量之一
S3_BUCKET: com.backbar.lookups.${self:provider.stage}
尝试部署时出现以下错误
An error occurred: s3Permissions - Action does not apply to any resource(s) in statement (Service: Amazon S3; Status Code: 400; Error Code: MalformedPolicy; Request ID: 3760256F6D1080A1; S3 Extended Request ID: ...
如何正确设置存储桶策略?
解决方案
我相信,而不是:
Resource: arn:aws:s3:::${self:provider.environment.S3_BUCKET}
它应该是:
Resource: arn:aws:s3:::${self:provider.environment.S3_BUCKET}/*
s3:GetObject
适用于对象。你的原件Resource
是一个桶。
推荐阅读
- javascript - JavaScript 只允许某些数字,如果不满足条件则不提交
- android - 为什么有@JvmStatic但从java调用仍然需要'Companion'
- python - Python 对象调用另一个文件函数
- python - 如何在 pandas/Python 中求和 dtype: timedelta64[ns]?
- c++ - 部分排序结合模板模板参数和可变参数模板
- javascript - 服务器端数据表返回额外页面
- azure - 使用 Azure 资源,如何设置从 myshortUrl.example/5 到 myreallylongurl.example/a/5 的重定向?
- php - PHP SwiftMailer 附件问题
- java - 如何避免Excel中大数字的自动数据格式化
- xslt-1.0 - 使用 XSLT 1.0 从 XML 中提取可能位于随机位置的属性