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::AccountId
是here.
解决此问题的一种方法是为您的 CloudFormation 模板创建一个 参数 (就像您使用 Purpose
或 team
所做的那样),例如
Parameters:
UserName:
Type: String
并在您的 Tags
:
中引用它
- Key: userName
Value: !Ref UserName
一种选择是使用服务目录。 aws:servicecatalog:provisioningPrincipalArn
自动标记将添加到所有配置的资源。
见https://docs.aws.amazon.com/servicecatalog/latest/adminguide/autotags.html
我需要为 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::AccountId
是here.
解决此问题的一种方法是为您的 CloudFormation 模板创建一个 参数 (就像您使用 Purpose
或 team
所做的那样),例如
Parameters:
UserName:
Type: String
并在您的 Tags
:
- Key: userName
Value: !Ref UserName
一种选择是使用服务目录。 aws:servicecatalog:provisioningPrincipalArn
自动标记将添加到所有配置的资源。
见https://docs.aws.amazon.com/servicecatalog/latest/adminguide/autotags.html