keenauth_directory

El recurso keenauth_directory crea un directorio SCIM 2.0 para una organización. Un directorio es el endpoint al que el proveedor de identidad de la organización (Okta, Entra ID y otros) aprovisiona usuarios y grupos.

resource "keenauth_directory" "acme_okta" {
  organization_id = keenauth_organization.acme.id
  name            = "Okta"
  scim_host       = "acme.eu.keenauth.app"
}

output "scim_base_url" {
  value = keenauth_directory.acme_okta.base_url
}

base_url es https://<scim_host>/scim/v2/<id>. Entréguelo al proveedor de identidad junto con un token SCIM.

Cambios en el sitio y reemplazos

name y la configuración del directorio se modifican en el sitio. El proveedor envía un JSON merge patch con solo los campos modificados y el ETag de la última lectura como If-Match; si el directorio cambió fuera de esta configuración después de esa lectura, la API responde 412, no se cambia nada y debe ejecutar plan de nuevo. La API no acepta configuración al crear un directorio, por lo que la configuración que defina se aplica justo después de la creación, en el mismo apply.

Cambiar organization_id, scim_host o type reemplaza el directorio.

Configuración

resource "keenauth_directory" "acme_okta" {
  organization_id = keenauth_organization.acme.id
  name            = "Okta"
  scim_host       = "acme.eu.keenauth.app"

  provisioning_mode   = "user_store"
  attribute_allowlist = ["title", "urn:ietf:params:scim:schemas:extension:enterprise:2.0:user:department"]
  delete_action       = "remove_membership"

  mass_deprovision_guard = {
    percent      = 20
    absolute_min = 50
  }
}
Configuración Valores Valor predeterminado
provisioning_mode user_store (se escriben los usuarios del entorno, las membresías de la organización y los roles de grupo) o mirror (solo se conservan los registros del directorio) user_store
attribute_allowlist Hasta 40 atributos SCIM opcionales que se conservan en los usuarios del directorio: title, usertype, phonenumbers y las claves de la extensión enterprise vacío
unverified_domain_action invite o mirror_only, para un usuario cuyo dominio de correo electrónico no está verificado para la organización invite
delete_action remove_membership o delete_user, para un DELETE /Users de SCIM remove_membership
on_delete_memberships keep, suspend o remove, para las membresías procedentes del directorio cuando este se elimina keep
mass_deprovision_guard enabled, percent (de 5 a 50) y absolute_min (de 10 a 1000); los desaprovisionamientos que superen ambos límites en 5 minutos quedan retenidos a la espera de aprobación activado, 10, 25
send_welcome_email true o false: un correo de activación de cuenta para los nuevos usuarios del directorio false

Tokens SCIM

El token SCIM es un secreto. La API lo devuelve una sola vez, en la respuesta que crea el directorio, y ningún endpoint puede leerlo después. El proveedor nunca lo escribe en el estado, en un archivo de plan, en una salida ni en un registro. Para mantener esa garantía, y para que no exista ninguna credencial válida que nadie posea, el proveedor revoca de inmediato el token que devuelve la creación.

Cree el token para su proveedor de identidad con keenauth_directory_token. Este mantiene el token en el estado solo cifrado con su clave pública RSA, y usted lo descifra con su clave privada.

Si el proveedor no puede revocar el token inicial, el apply se completa igualmente y muestra una advertencia con el comando que lo revoca (keenauth directories tokens delete <directory_id> <token_id>).

Argumentos

Importación

Importe por ID de directorio:

tofu import keenauth_directory.acme_okta dir_01j9zq3v8c5m2x7k4t6r1n0b3d