如何解决AWS BucketPolicy创建失败-策略语法MalformedPolicy无效
我正在尝试在yaml中创建以下存储桶策略,但是bucketPolicy无法创建:
Cloudformation错误消息:
Invalid policy Syntax. (Service: Amazon S3; Status Code: 400; Error Code: MalformedPolicy; Request ID: CD4; S3 Extended Request ID: Noxxxx/sXX=; Proxy: null)
需要执行的存储桶策略:
{
"Version": "2012-10-17","Id": "ig","Statement": [
{
"Sid": "LZone","Effect": "Allow","Principal": {
"AWS": "arn:aws:iam::123:role/l-zone"
},"Action": [
"s3:AbortMultipartUpload","s3:ListBucket","s3:PutObject","s3:Getobject","s3:GetobjectVersion","s3:PutObjectAcl"
],"Resource": [
"arn:aws:s3:::bucketname-l/*","arn:aws:s3:::bucketname-l"
]
}
]
}
这是上述策略中yaml中的代码(不起作用):
LBucket:
Type: AWS::S3::Bucket
Properties:
BucketName: !Sub bucketname-l
LBucketPolicy:
Type: AWS::S3::BucketPolicy
Properties:
Bucket: !Ref LBucket
PolicyDocument:
Version: '2012-10-17'
Statement:
- Sid: LZone
Effect: Allow
Action:
- 's3:AbortMultipartUpload'
- 's3:ListBucket'
- 's3:PutObject'
- 's3:Getobject'
- 's3:GetobjectVersion'
- 's3:PutObjectAcl'
Resource:
Fn::Join:
- ""
-
- "arn:aws:s3:::"
-
Ref: "LBucket"
- "/*"
Principal: "AWS: arn:aws:iam::123:role/l-zone"
解决方法
政策应为:
const standardDeviation = (arr,usePopulation = false) => {
const mean = arr.reduce((acc,val) => acc + val,0) / arr.length;
return Math.sqrt(
arr.reduce((acc,val) => acc.concat((val - mean) ** 2),[]).reduce((acc,0) /
(arr.length - (usePopulation ? 0 : 1))
);
};
console.log('STDEV.S =>',standardDeviation([
10,2,38,23,21
])
);
console.log('STDEV.P =>',21
],true)
);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。