keenauth_role
El recurso keenauth_role gestiona un rol del entorno y su conjunto completo de permisos. Un rol que pertenece a una organización es otro recurso, keenauth_organization_role. La fuente de datos keenauth_role lee un rol por id o key.
resource "keenauth_permission" "invoices_read" {
api_id = "api_01j9zq3v8c5m2x7k4t6r1n0b3d"
value = "invoices:read"
}
resource "keenauth_role" "billing" {
key = "billing"
name = "Billing"
description = "Invoices and payment methods."
permission_ids = [keenauth_permission.invoices_read.id]
}
data "keenauth_role" "billing" {
key = "billing"
}
Ciclo de vida
keyes única en el entorno, aparece en la reclamaciónorg_rolesy no puede cambiarse: una nueva clave reemplaza el rol.nametiene de 1 a 128 caracteres ydescriptioncomo máximo 1024. Ninguno puede empezar ni terminar con espacios en blanco, porque la API los recorta.permission_idses el conjunto completo (como máximo 500). Se escribe con una solicitud separada tras los campos del rol; si esa solicitud falla al crear, el rol queda en el estado como contaminado y se reemplaza en el siguiente apply. Un permiso añadido o quitado en otro lugar se revierte con el siguiente apply.is_privilegedmarca un rol privilegiado. En autoservicio, solo un administrador que tenga el rol de administrador de la organización puede asignarlo, y un mapeo de grupo externo hacia él requiereroles:writey una aprobación. Hacer privilegiado un rol existente deja sin aprobar sus mapeos de grupo hasta que se aprueben. El valor predeterminado esfalse; al importar un rol privilegiado, escribais_privileged = trueexplícitamente, de lo contrario el siguiente apply lo dejará no privilegiado.- Las actualizaciones y eliminaciones envían
If-Matchcon el ETag leído por última vez. Si el rol cambió después de crear el plan, la API responde412y nada cambia; ejecuteplande nuevo. - Con
force_destroy = true, también se elimina un rol asignado y sus asignaciones se quitan en la misma solicitud; de lo contrario, eliminar un rol asignado falla con409 role_in_use. Un rol usado como rol de administrador o de miembro predeterminado de una organización no puede eliminarse en absoluto. Cambiar soloforce_destroyno envía ninguna solicitud. - Las asignaciones de roles a usuarios y las membresías no son recursos. Son datos personales y nunca se incluyen en el estado; gestiónelas con la API, la CLI o el panel.
Importación
Importe por clave o por ID:
tofu import keenauth_role.billing billing
tofu import keenauth_role.billing rol_01j9zq3v8c5m2x7k4t6r1n0b3d