2016-03-03 1 views
3

В AWS CloudFormation вы можете указать шаблон, загрузив файл шаблона или указав URL-адрес S3 в шаблон. (Укажите URL-адрес шаблона Amazon S3)Как я могу указать подписанный URL-адрес S3 в качестве шаблона в CloudFormation?

Если ведро общедоступно, вы можете создать URL-адрес для доступа к объекту/шаблону. Это прекрасно работает до тех пор, как шаблон URL S3 является простым URL:

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

Но если ведро является частным, вы можете создать подписанный URL S3, если вы хотите поделиться объектом другим. Я дал URL, который является подписанным URL S3 для шаблона в частном ведра:

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

К сожалению CF не чтя подписанный URL и полосы все после .template. Из-за этого я получаю ошибку Access Denied. Кто-нибудь знает способ указать подписанный URL-адрес S3 в качестве шаблона в CloudFormation?

ответ

3

AWS наконец признал, что это ошибка в CloudFormation, и они работают над исправлением. Пока нет ETA.

0

Кажется, что вы можете использовать только URL-адрес, к которому у вас есть доступ (подписанные URL-адреса отмечены достаточно). Но если вы готовы использовать AWS консоли, вы можете также использовать локон, чтобы получить содержимое шаблона и создать стек с помощью --template-тело

$ aws cloudformation create-stack --template-body "$(curl -s '<signed url>')" --stack-name test --parameters ParameterKey=string,ParameterValue=string 

Если вы скриптинг, сохраните шаблон во временный файл, а затем передать его шаблону-телу

+0

Я использую приборную панель AWS, поэтому CLI и скрипт не являются параметрами. – helloV

+0

вы используете подписанный URL, чтобы давать разрешение только на определенное время или контролировать, кто имеет доступ. Если это второй вариант, вы можете использовать политику ведра вместо подписанных URL-адресов: http://docs.aws.amazon.com/AmazonS3/latest/dev/example-walkthroughs-managing-access-example2.html – Renan