如何在CloudFormation中将已签名的S3 URL指定为模板?

hel*_*loV 5 amazon-s3 amazon-web-services aws-cloudformation

在AWS CloudFormation中,您可以通过上载模板文件或指定模板的S3 URL来指定模板.(指定Amazon S3模板URL)

如果存储桶是公共存储的,则可以为任何人构建URL以访问对象/模板.只要S3模板URL是一个简单的URL,这样就可以正常工作:

https://s3.amazonaws.com/public-bucket/unsigned.template

但如果存储桶是私有的,则可以生成已签名的S3 URL(如果要将对象共享给其他人).我获得了一个URL,它是私有存储桶中模板的已签名S3 URL:

https://s3.amazonaws.com/private-bucket/signed.template?Signature=Cs6sqUABadcfZAuFu5FSMWAQ%3D&Expires=1459636414&AWSAccessKeyId=AKIAJ23456AXIOUBCNQ

不幸的是,CF并不尊重已签名的URL,并在之后删除所有内容.template.由于这个原因,我得到了Access Denied错误.有没有人知道在CloudFormation中将已签名的S3 URL指定为模板的方法?

hel*_*loV 5

AWS最终承认这是CloudFormation中的错误,他们正在努力进行修复。目前尚无ETA。