AWS Cloudformation:如何使用用户名作为标签

AWS Cloudformation: How to use username as a tag

我需要为 ec2 实例创建一个 Cloudformation 脚本,它应该有标签指定其他内容,运行 脚本创建实例的人的 aws 用户名。获取 IAM 用户名的变量名称是什么?我脚本的标记部分如下所示。虽然可以检索 AccountId,但我无法获取用户名。

    Tags:
    - Key: Name
      Value: !Ref InstanceName
    - Key: team
      Value: !Ref Team
    - Key: awsAccount
      Value: !Sub ${AWS::AccountId}
    - Key: userName
      Value: !Sub ${AWS::IAM::User}
    - Key: purpose
      Value: !Ref Purpose

遗憾的是CloudFormation 中没有这样的伪参数。所有可用参数的列表,例如AWS::AccountIdhere.

解决此问题的一种方法是为您的 CloudFormation 模板创建一个 参数 (就像您使用 Purposeteam 所做的那样),例如

Parameters:
    UserName:
      Type: String

并在您的 Tags:

中引用它
- Key: userName
  Value: !Ref UserName

一种选择是使用服务目录。 aws:servicecatalog:provisioningPrincipalArn 自动标记将添加到所有配置的资源。

https://docs.aws.amazon.com/servicecatalog/latest/adminguide/autotags.html