Terraform添加指定部门Azure AD用户至指定组报错求助
Terraform Azure AD用户组添加配置报错解决
错误原因
- 属性访问逻辑错误:遍历
data.azuread_users.users列表时,cod已经是单个用户对象,原代码中cod.data.azuread_users.users.department属于无效的嵌套属性访问,Terraform无法识别该路径。 - 列表元素属性访问不当:尝试在列表的单个元素上错误嵌套数据源路径,导致Terraform提示无法访问列表对象的属性。
修正后的配置
# 读取所有Azure AD用户(原配置无需修改) data "azuread_users" "users" { return_all = true } # 将部门为"codeur"的用户添加至目标组 resource "azuread_group_member" "Terra-Aad-Member-Cod" { for_each = { for user in data.azuread_users.users : user.object_id => user if user.department == "codeur" } group_object_id = azuread_group.Terra-Aad-Group["cod-xxx01"].object_id member_object_id = each.value.object_id }
补充说明
- 使用用户的
object_id作为for_each的键,保证键的唯一性,避免因用户列表顺序变化导致不必要的资源重建。 - 若存在未设置
department字段的用户,可添加空值判断避免报错:if user.department != null && user.department == "codeur"
内容的提问来源于stack exchange,提问作者Cookies
相关产品推荐
相关产品推荐

