Saltar al contenido principal
El map hosts vincula la identidad de máquina de cada host gestionado con el conjunto de perfiles que puede solicitar.
hosts:
  edge01:
    identity: edge01.h.int.example.com
    profiles:
      - public_edge_main

  api01:
    identity: api01.h.int.example.com
    profiles:
      - api_san
      - public_edge_main

Campos

CampoTipoObligatorioNotas
identitystringCN del certificado de identidad del host (emitido por step-ca).
profilesstring[]Lista no vacía de nombres de perfil.
La clave de nivel superior (edge01, api01) es solo una etiqueta humana — aparece en auditoría y validación. El broker autoriza por identity.

Reglas de matching

  • identity debe ser un CN estable — el agente lo presenta como CN del certificado cliente sobre mTLS.
  • Dos entradas no pueden compartir identity. El compilador rechaza duplicados.
  • profiles deben referenciar perfiles del mismo archivo.
  • Un agente que pide un perfil no listado para su host es rechazado, aunque el perfil exista.

Añadir un host

  1. Emite un token de step-ca para el nuevo CN.
  2. Añade una entrada hosts.<etiqueta>:
    hosts:
      edge02:
        identity: edge02.h.int.example.com
        profiles:
          - public_edge_main
    
  3. Con policy.watch: true el cambio se aplica al instante. Si no, reinicia el broker.
  4. Despliega el agente y ejecuta enroll.

Eliminar un host

Borra su entrada en hosts. Con policy.watch: true se aplica al siguiente cambio de archivo. El certificado de identidad puede seguir siendo válido (eso lo decide step-ca), pero el broker rechazará todas sus peticiones.

Valida la lista de hosts

certplane-broker -c /etc/certplane/broker.yml policy validate --policy /etc/certplane/policy.yml
La salida incluye el número de identidades compiladas:
policy ok: hash=abc123… profiles=2 identities=42