如何使用Terraform根据指定标签筛选获取符合条件的IAM用户
可行方案如下
方案1:在Terraform配置内直接筛选
如果需要在当前Terraform项目中直接过滤出符合标签要求的IAM用户,可以使用HCL的for表达式配合条件判断实现,示例代码如下:
# 定义本地值存储筛选后的结果 locals { # 筛选标签Role为developer的所有IAM用户资源 developer_iam_users = [ for user in aws_iam_user.users : user if user.tags.Role == "developer" ] # 若仅需要获取用户名列表,可使用如下写法 developer_usernames = [for u in local.developer_iam_users : u.name] }
注意:标签键大小写敏感,你现有配置中使用的标签键为大写Role,筛选时需要和实际配置的键名保持一致,否则会匹配失败。
方案2:查询AWS侧已部署的符合条件的IAM用户
如果需要查询已经部署到AWS云端的符合标签要求的IAM用户,可以直接使用AWS CLI命令实现:
aws iam list-users --query "Users[?Tags[?Key=='Role' && Value=='developer']].UserName" --output text
内容的提问来源于stack exchange,提问作者Martin Milev
相关产品推荐
相关产品推荐

