Ir al contenido

Roles, permisos y autorización

Códigos de error · 65 códigos · catálogo del 2026-10-21

Roles, reglas de alcance, techo de permisos al asignar, explicación de accesos (authz-explain) y auditoría de decisiones (authz_decisions).

Para toda la familia

Lo que un código no dice lo hereda de aquí.

Cómo se detecta
El code viaja en la respuesta. Las negaciones de principales de servicio quedan en authz_decisions (allowed = 0, con su reason_code). El techo de permisos escribe una línea JSON con reasonCode en shadow.
Qué hacer
Revisar el rol y sus permisos en la pantalla de roles (o yarn -s boost authz …). Un *_AUDIT_UNAVAILABLE significa que no se pudo escribir la auditoría y por eso no se hizo nada: reintentar.
65 códigos

Códigos

AUDIT_INVALID_DECISION

interno

La decisión de autorización que se quiso auditar trae un campo inválido (entidad, principal, superficie, recurso). Es un bug de quien la registra: no se hizo el efecto.

AUDIT_UNAVAILABLE

interno

No se pudo escribir la decisión de autorización en la auditoría.

FORBIDDEN

HTTPHTTP 403

Solo plataforma puede consultar otras entidades

GRANT_NOT_ASSIGNABLE

detalleHTTPHTTP 403

Tu tipo de usuario no puede asignar uno o más de estos permisos

GRANT_SCOPE_EXCEEDS_ACTOR

detalleHTTPHTTP 403

No puedes crear ni asignar un rol que ve más registros que tú: un rol que ve toda la entidad o los clientes de una regla (el promotor) solo lo crea o lo asigna plataforma o quien ya ve toda la entidad.

INVALID_ID

HTTPHTTP 400

Un id de la ruta no es un entero positivo escrito tal cual.

ROLE_NOT_FOUND

HTTPHTTP 404

El rol consultado no existe (explicación de accesos).

ROLE_SCOPE_ENTITY_PLATFORM_ONLY

HTTPHTTP 403

Solo plataforma puede crear un rol que ve toda la entidad (plantilla admin). Un admin de entidad asigna el rol admin que ya existe; no crea otro.

ROLE_SCOPE_RULE_INVALID

internoHTTPHTTP 400

La regla de alcance (scope_rule_json) del rol no tiene la forma esperada.

ROLE_SCOPE_RULE_MISMATCH

HTTPHTTP 400

scope_rule_json es obligatorio con scope_profile 'criteria' y no se admite con otro perfil

ROLE_TEMPLATE_UNKNOWN

HTTPHTTP 400

template_key no es una de las plantillas con las que se puede crear un rol.

SERVICE_PRINCIPAL_ALTA_ACTOR_NOT_HUMAN

interno

Quien autoriza el alta de principales no es una persona (users.kind es service o agent): una automatización o la IA no dan de alta principales (regla heredada del script alta-principales-de-servicio.js).

SERVICE_PRINCIPAL_ALTA_TX_REQUIRED

interno

ensureEntityPrincipals se llamó sin una transacción activa: el alta de un principal y su decisión de auditoría van juntas o no van. Error de programación, no de uso.

Qué hacer
Llamarlo con el EntityManager de una transacción abierta (el alta de entidad y completeAuthz ya lo hacen).

SERVICE_PRINCIPAL_ALTA_WITHOUT_AUDIT

interno

ensureEntityPrincipals no tiene AuthzAuditService inyectado: sin auditoría no se da de alta ningún principal.

Qué hacer
Revisar el módulo que arma ServicePrincipalService; en la app real siempre viene.

SERVICE_PRINCIPAL_NOT_FOUND

interno

No existe un principal de servicio de ese tipo para esa entidad o alcance.

Causa típica
Falta dar de alta el principal (p. ej. channel_onboarding, media_refresh) en la entidad.
Qué hacer
Darlo de alta con las herramientas de scripts/authz/ (plataforma).

USER_NOT_FOUND

HTTPHTTP 404

El usuario consultado no existe (explicación de accesos).

Texto generado desde el catálogo de errores de BoostAPI. Para corregirlo, se cambia allá y se sincroniza: verMantener esta documentación. También enMarkdown.