keenauth_management_client
El recurso keenauth_management_client define el acceso a la API de administración de una aplicación con app_type = "management": los permisos y la lista de IP permitidas con los que el cliente de máquina a máquina de la aplicación puede llamar a la API de administración. Una aplicación tiene como máximo un registro, y el registro se identifica por el ID de la aplicación.
Privilegio mínimo
Este recurso concede acceso a la API de administración. Manténgalo acotado:
- Incluya solo los permisos que necesita la automatización, por ejemplo
users:readen lugar de todos los permisosusers:*. - Restrinja
allowed_cidrsa las redes en las que se ejecuta el cliente. - Use una aplicación de administración por automatización, de modo que cada una pueda reducirse o eliminarse por separado.
La clave de API que aplica la configuración solo puede conceder permisos y redes que ella misma tenga.
resource "keenauth_application" "ops" {
key = "ops-automation"
name = "Ops automation"
app_type = "management"
party = "first_party"
}
resource "keenauth_management_client" "ops" {
application_id = keenauth_application.ops.id
permissions = ["users:read", "applications:read"]
allowed_cidrs = ["203.0.113.0/24"]
}
Claves de firma
El recurso no contiene ningún secreto ni ninguna clave. Registre la clave pública de la aplicación con POST /v1/applications/{application_id}/credentials (type: public_key) en la CLI o en el panel. La API rechaza jwks_uri y public_keys en este recurso.
allowed_cidrs en el plan
- Si omite
allowed_cidrsal crear el registro, la API escribe la lista propia de la clave de API que realiza la llamada. Si la clave no tiene lista, el cliente no tiene ninguna restricción de IP. El plan muestra(known after apply). - Una vez que el registro existe, omitir el atributo conserva el valor actual. Quitarlo de la configuración no restablece la lista, y un cambio realizado fuera de la configuración se acepta sin diferencias. Escriba la lista de forma explícita para gestionarla.
- Una lista vacía se rechaza en el momento del plan, porque la API convierte
[]en la lista de la clave que realiza la llamada. Omita el atributo en su lugar. - Escriba cada bloque en forma canónica: la dirección de red y los IPv6 en minúsculas. Por ejemplo, escriba
10.0.0.0/24, no10.0.0.5/24.
Errores
| Error | Significado |
|---|---|
403 insufficient_permissions |
Solo una clave de API puede gestionar estos registros; use un proveedor configurado con api_key, no con client_id + private_key. Con una clave de API, a una clave restringida le falta management-clients:read o management-clients:write. |
403 permission_escalation |
El registro tendría permisos o redes que la clave de API no tiene. |
404 al crear |
La aplicación no existe en el entorno de la clave de API. |
409 |
La aplicación ya tiene un registro. Impórtelo. |
422 en application_id |
La aplicación no es de tipo management. |
412 |
El registro cambió después del plan. No se cambió nada; ejecute plan de nuevo. |
Importación
Importe por ID de aplicación:
tofu import keenauth_management_client.ops app_01j9zq3v8c5m2x7k4t6r1n0b3d