简体   繁体   English

从组名中获取 Keycloak 组 ID(mrparkers/keycloak 提供者)

[英]Get Keycloak group ID from group name (mrparkers/keycloak provider)

I am trying to provision Keycloak users via Terraform using the mrparkers/keycloak provider.我正在尝试使用 mrparkers/keycloak 提供程序通过 Terraform 提供 Keycloak 用户。 I am very new to Terraform but have the below which successfully creates a user 'hellfire' and a group 'mrpc-admins'.我是 Terraform 的新手,但下面的内容成功创建了一个用户“hellfire”和一个组“mrpc-admins”。

vars变量

variable "mrpc-groups" {
    type = map(object({
        name = string
        realm = string
    }))
    default = {
        "10001" = {
            name = "mrpc-admins"
            realm = "mrpc"
        }
    }
}

variable "mrpc-users" {
    type = map(object({
        username = string
        email = string
        first_name = string
        last_name = string
        realm = string
        group = string
    }))
    default = {
        "10001" = {
            username = "hellfire"
            email = "bla@bla.bla"
            first_name = "hell"
            last_name = "fire"
            realm = "mrpc"
            group = "mrpc-admins"
        }
    }
}

resources资源

resource "keycloak_realm" "realm" {

  realm = "mrpc"

}

resource "keycloak_group" "group" {
for_each = var.mrpc-groups

realm_id = keycloak_realm.realm.id
name = each.value["name"]
}

resource "keycloak_user" "user" {
for_each = var.mrpc-users

realm_id = each.value["realm"]
username = each.value["username"]
email = each.value["email"]
first_name = each.value["first_name"]
last_name = each.value["last_name"]
}

The problem is when trying to use the keycloak_group_memberships resource with the below code.问题是在尝试将keycloak_group_memberships资源与以下代码一起使用时。

resource "keycloak_group_memberships" "group_members" {
  for_each = var.mrpc-users
  realm_id = each.value["realm"]
  group_id = each.value["group"] # this needs to have the group UUID not the name
  members  = [
    each.value["username"]
  ]
}

I don't know how to get the Keycloak generated UUID assigned to that group which is what the group_id key requires.我不知道如何将 Keycloak 生成的 UUID 分配给该组,这是 group_id 键所需要的。

Is there perhaps somehow I can look this up on the fly or something else I can do?也许我可以通过某种方式即时查看它或我可以做的其他事情?

Any help would be hugely appreciated!任何帮助将不胜感激!

Thanks谢谢

To get individual instance of your keycloak_group you can do要获取keycloak_group的单个实例,您可以这样做

group_id = keycloak_group.group[each.key].id

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM