CloudFormation-策略变量的未解析资源依赖关系?

时间:2019-10-08 10:47:48

标签: amazon-web-services amazon-cloudformation sftp policy

我已经创建了一个CloudFormation模板,该模板部署了一个AWS Lambda函数,该函数由AWS Transfer调用以对sftp用户进行身份验证。 Lambda函数返回一个策略,AWS Transfer会选择该策略并将其用于锁定sftp用户权限。

此政策包括以下变量:

  • listener.concurrency=3
  • transfer:HomeFolder
  • transfer:HomeBucket

有关这些变量的作用的文档,请参见:Editing User Configuration - AWS Transfer for SFTP

当我尝试部署CloudFormation模板时,出现以下错误:

  

在调用CreateChangeSet操作时发生错误(ValidationError):模板格式错误:模板的资源块中未解决的资源依赖性[transfer:HomeFolder,transfer:HomeBucket,transfer:HomeDirectory]。

是否可以为策略变量transfer:HomeDirectorytransfer:HomeFoldertransfer:HomeBucket覆盖CloudFormation参数?

这是我CloudFormation模板的Lambda部分:

transfer:HomeDirectory

1 个答案:

答案 0 :(得分:0)

我怀疑CloudFormation可能对${xx}块感到困惑,这些块在CloudFormation模板中具有特殊含义。

我认为您仅希望将这些值作为文本传递,然后在IAM政策中进行解释。

您应该能够通过在Python中拆分文本字符串来避免这种行为,例如:

"arn:aws:s3:::$""{transfer:HomeBucket}"