【问题标题】:AWS Cloudformation: How to use username as a tagAWS Cloudformation:如何使用用户名作为标签
【发布时间】:2021-01-20 20:51:55
【问题描述】:

我需要为一个 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

【问题讨论】:

    标签: amazon-web-services amazon-cloudformation aws-cloudformation-custom-resource


    【解决方案1】:

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

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

    Parameters:
        UserName:
          Type: String
    

    并在您的Tags 中引用它:

    - Key: userName
      Value: !Ref UserName
    

    【讨论】:

    • 谢谢马尔辛。我已经在使用你建议的方法了。只是想有一个更万无一失的方法,以便团队成员在使用脚本时不要输入其他人的名字。
    • @RameshMenon 如果你想对标签有更多的控制权,也许你可以看看服务目录。但这不能从普通的 CloudFormation 完成。我感觉到你的痛苦。标记很复杂,通常需要团队成员的纪律和教育。
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-28
      • 2015-03-04
      • 1970-01-01
      • 2020-01-15
      • 1970-01-01
      • 2018-05-26
      • 2015-04-27
      相关资源
      最近更新 更多