具有和不具有RoleName参数的Cloudformation AWS IAM角色

hangc

使用Cloudformation创建新的IAM角色资源时,AWS::IAM::Role

有一个可选RoleName参数,我不确定何时最好包含RoleName或排除参数。

以下是文档中指定的差异

  • 如果您未指定名称,则AWS CloudFormation会生成一个唯一的物理ID,并将该ID用作角色名称。
  • 如果指定名称,则必须指定CAPABILITY_NAMED_IAM值以确认模板的功能。
  • 如果您在多个区域中重复使用同一模板,则命名IAM资源可能会导致不可恢复的错误。

使用或排除RoleName参数之间是否还有其他功能差异

克里斯·威廉姆斯

如果您不指定名称,它将简单地为您生成一个名称(由堆栈和资源名称构成,结尾处是随机字符串)。

唯一的区别是可重用性。如果要多次重新创建堆栈,最好将此IAM角色ARN作为参数传递。

我建议不要命名,这样可以让您自由地创建堆栈,次数不限,而不必担心会破坏额外的资源。

如果确实需要,AWS的建议如下:

如果您在多个区域中重复使用同一模板,则命名IAM资源可能会导致不可恢复的错误为防止这种情况,我们建议使用Fn :: Join和AWS :: Region创建特定于区域的名称,如以下示例所示:{“ Fn :: Join”:[“”,[{“ Ref”:“ AWS ::: Region“},{” Ref“:” MyResourceName“}]]}。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章