利用现有资源在云形成中构建字符串路径

时间:2019-08-28 17:54:20

标签: amazon-cloudformation amazon-iam

我正在云形成模板中创建托管策略,该模板可锁定对s3容器和密钥路径的访问。我已经跟踪了aws中使用!Join的文档,但是模板格式错误。

   Resource:
     - !GetAtt ACHSFTPProxyBucket.Arn
     -
     - !Join
         - - ''
           - !GetAtt SomeBucketICreated.Arn
           - /supersecret/upload/* #note I've also wrapped this in quotes and no dice

我过去使用动作的条件限制访问权限,但想知道是否可以在资源行和!Join上完成。

输出一旦部署在控制台的json编辑器中,应该看起来像这样

Resource:[
   "arn:aws:s3:::bucketbname", 
   "arn:aws:s3:::bucketbname/supersecret/upload/*"
]

我已经在控制台中手动修改了json以测试该策略是否有效,并且它只是在试图弄清楚如何将其转换为模板。

构造与字符串组合的arn的正确方法是什么

1 个答案:

答案 0 :(得分:0)

您需要Fn::Sub。大致情况:

   Resource:
     - !GetAtt ACHSFTPProxyBucket.Arn
     - !Sub '${SomeBucketICreated.Arn}/supersecret/upload/*'