【问题标题】:Create tag with multiple values in AWS在 AWS 中创建具有多个值的标签
【发布时间】:2020-09-09 06:50:45
【问题描述】:
你好,
我正在 AWS 上创建一个 lambda 函数来自动在 EC2 资源上创建标签。
该解决方案工作正常:
ec2.create_tags(Resources=instance_ids,Tags=[{'Key':'environnement','Value':'dev'}])
我的问题:
我可以创建具有有限值的标签吗?像一个下拉列表?
所以用户只能从这个列表中选择?
ec2.create_tags(Resources=instance_ids,Tags=[{'Key':'environnement','Value':['dev','prod','test']}])
提前致谢!
【问题讨论】:
标签:
amazon-web-services
amazon-ec2
aws-lambda
tags
【解决方案1】:
只有在预期的键/值对匹配时,您才能将 IAM 策略附加到 cloudwatch 服务以创建标签。示例 IAM 政策。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"ec2:DeleteTags",
"ec2:DescribeTags",
"ec2:CreateTags"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"aws:RequestTag/Env": [
"Prod",
"Stage",
"Dev"
]
}
}
}
]
}
这仅允许使用值 Prod/Stage/Dev 创建 Env 标签。您可以根据需要向策略中添加任意数量的键/值对。
【解决方案2】:
- 如果您使用 Cloudformation,您可以预定义一组供用户选择的值。
- 您还可以使用 IAM 角色权限强制执行标签和值,但这只会验证请求,不会提示用户选择任何标签/值。
参考:Tag based permissions