Cloudformation YAML! Sub! Ref ошибка, когда два значения ресурса требуют замены переменных - PullRequest
0 голосов
/ 10 июля 2020

В моей политике S3 следующие строки:

Resource:
 - !Sub 'arn:aws:s3:::website-${paramEnvironment}/*'
 - { Environment: !Ref paramEnvironment}
 - !Sub 'arn:aws:s3:::website-${paramEnvironment}'
 - { Environment: !Ref paramEnvironment}

производят Invalid Policy Syntax

Я не могу найти пример YML, в котором два ресурса объявлены с заменой переменных, и я пробовали варианты вышеперечисленного на основе AWS документов .

1 Ответ

0 голосов
/ 10 июля 2020

Я не уверен, что именно вы пытаетесь сделать с { Environment: !Ref paramEnvironment}, но действительным Resource будет:

 Resource:
   - !Sub 'arn:aws:s3:::website-${paramEnvironment}/*'
   - !Sub 'arn:aws:s3:::website-${paramEnvironment}'

Это основано на предположении, что paramEnvironment является существующий параметр CFN, а остальные разделы политики IAM (не показаны) верны.

Другой длинный вариант:

Resource:
 - !Sub
   - 'arn:aws:s3:::website-${Environment}/*'
   - Environment: !Ref paramEnvironment
 - !Sub
   - 'arn:aws:s3:::website-${Environment}'
   - Environment: !Ref paramEnvironment
...