keenauth_directory_role_mapping
El recurso keenauth_directory_role_mapping asigna un grupo de un directorio SCIM a un rol. Los miembros del grupo obtienen el rol en la organización del directorio.
resource "keenauth_role" "engineer" {
key = "engineer"
name = "Engineer"
}
resource "keenauth_directory_role_mapping" "engineering" {
directory_id = keenauth_directory.acme_okta.id
directory_group_id = "dsg_01j9zq3v8c5m2x7k4t6r1n0b3d"
role_id = keenauth_role.engineer.id
}
Los grupos vienen del proveedor de identidad
El proveedor de identidad aprovisiona los grupos al directorio por SCIM, así que el grupo debe existir antes de asignarlo. Para listar los grupos de un directorio:
keenauth directories groups list <directory_id>
Un grupo que no está en el directorio se rechaza con 422 (unknown_group). Un grupo solo puede asignarse una vez por directorio, y un directorio tiene como máximo 500 asignaciones.
Solo crear, leer y eliminar
La API de administración no puede cambiar una asignación. Cada argumento (directory_id, directory_group_id, role_id) reemplaza la asignación cuando lo cambias. El proveedor lee la asignación de la lista de asignaciones del directorio en cada actualización; una asignación o un directorio eliminado fuera del proveedor se quita del estado y se vuelve a planificar.
Roles privilegiados
Asignar un rol privilegiado requiere una clave de API con roles:write además de directories:write; sin ella, la API responde 403 (privileged_role_mapping_forbidden). Una asignación así se crea aprobada.
Si un rol pasa a ser privilegiado después de crear la asignación, esta queda sin aprobar: approved_at está vacío y el rol no se concede. El proveedor no aprueba asignaciones; vuelve a crearla con una clave que tenga roles:write.
Argumentos
role_ides un rol del entorno o un rol de la organización del directorio; cualquier otro rol se rechaza con422(unknown_role).organization_id,role_privileged,approved_at,created_ateidson de solo lectura.
Importación
Importa con el ID del directorio y el ID de la asignación:
tofu import keenauth_directory_role_mapping.engineering dir_01j9zq3v8c5m2x7k4t6r1n0b3d/rmp_01j9zq4a2b3c4d5e6f7g8h9j0k