如何解决将ACL作为资源应用到部署存储桶
我希望使用ACL作为资源,并根据需要将资源引用到任何存储桶。
下面的代码片段将使用无服务器框架和无服务器部署桶插件将策略应用于部署存储桶。
...............
custom:
deploymentBucket:
versioning: true
policy:
{
"Version": "2012-10-17","Statement": [
{
"Effect": "Deny","Principal": "*","Action": "s3:*","Resource": [
"arn:aws:s3:::bucket-name","arn:aws:s3:::bucket-name/*"
],"Condition": {
"Bool": {
"aws:SecureTransport": "false"
}
}
}
]
}
provider:
region: eu-west-2
name: aws
runtime: nodejs12.x
deploymentBucket:
name: bucket-name
serverSideEncryption: AES256
resources:
- ${file(resources/deployment-bucket.yml)}
................
deployment-bucket.yml中的代码如下:
Resources:
ServerlessDeploymentBucket:
Type: AWS::S3::Bucket
Properties:
BucketName: !Ref ServerlessDeploymentBucketName -> this is the Identifier,taken from the CF template bundled by serverless framework.
AccessControl: Private
PublicAccessBlockConfiguration:
BlockPublicAcls: true
BlockPublicPolicy: true
IgnorePublicAcls: true
RestrictPublicBuckets: true
BucketEncryption:
ServerSideEncryptionConfiguration:
- ServerSideEncryptionByDefault:
SSEAlgorithm: aws:kms
错误发生错误:ServerlessDeploymentBucket-存储桶名称已存在。
该错误非常具有描述性,因此我认为我需要找到一种将ACL资源应用于存储桶的方法。 我已经尝试过并删除BucketName键。 没有成功。
SourceArn:
!Sub
- 'arn:aws:s3:::${Bucket}/*'
- { Bucket: Ref ServerlessDeploymentBucketName }
更新
这应该可以解决ACL问题
https://www.serverless.com/plugins/serverless-default-aws-resource-properties
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。