amazon-cloudformation - 从现有资源构建云形成中的字符串路径
问题描述
我正在云形成模板中创建一个托管策略,该策略锁定对 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的正确方法是什么
解决方案
你需要Fn::Sub
. 类似的东西:
Resource:
- !GetAtt ACHSFTPProxyBucket.Arn
- !Sub '${SomeBucketICreated.Arn}/supersecret/upload/*'
推荐阅读
- jekyll - jekyll的远程主题中应该更改哪个部分以扩大帖子的窗口大小?
- python - 玛雅蟒蛇。带有 for 循环的育儿组
- laravel - Spatie/Laravel 权限视图模板
- flutter - Flutter 检查 TextField 是否有焦点
- javascript - 类型检查运算符语句的结果
- python - 在python中出现错误,打印模式
- flutter - 如何创建扩展方法来着色、加粗、删除字符串上的内容
- fortran - Fortran 中的稀疏数组
- javascript - 单击按钮时,我想使用 Javascript 将文本字段的值增加一
- xml - 使用 XSLT 2.0 替换 XML 中的部分属性