policy.path en broker.yml). Define perfiles (la forma de una solicitud) y hosts (qué identidades pueden pedir qué perfiles).
El esquema autoritativo es schemas/policy.schema.json.
Política mínima
Claves de nivel superior
| Clave | Obligatoria | Notas |
|---|---|---|
version | no | Debe ser 1 si se da. Reservado para migraciones futuras. Por defecto: 1. |
profiles | sí | Map nombre → definición. Al menos uno. |
hosts | sí | Map etiqueta → definición. Al menos uno. |
additionalProperties: false).
Cómo se autoriza una solicitud
Cuando un agente llama aPOST /v1/certificates:
- El broker lee el CN del certificado cliente (la identidad).
- Busca esa identidad en
hosts.<etiqueta>.identity. Si ningún host coincide, deniega. - El
profilesolicitado (cuerpo JSON) debe aparecer en losprofilesdel host. - Los DNS del CSR deben satisfacer los
dns_namesdel perfil — los wildcard exigen que las SAN caigan bajo el wildcard; losmulti_sanexigen que las SAN estén exactamente en la lista permitida. - Si pasa todo, sirve un bundle cacheado o emite por ACME.
Recarga en caliente
policy.watch: true en broker.yml recarga al cambiar el archivo. El broker registra el nuevo hash, útil para correlacionar recargas con el stream de auditoría.