Documentación de Automate Certificates
Destinos, agentes y webhooks
Un destino es un lugar donde se instala un certificado. Automate Certificates también puede buscar certificados que aún no gestiona y enviar eventos a sus propias herramientas.
Tipos de destino
- Azure: máquina virtual, SQL, App Service, Key Vault, Application Gateway y Front Door.
- AWS: ACM, CloudFront, balanceador de carga y RDS.
- Google Cloud: máquina virtual, balanceador de carga HTTPS, Cloud SQL y Cloud Run.
- Bases de datos: PostgreSQL, MySQL, MongoDB y Redis.
- Otros: Cloudflare, hosts SSH y una API personalizada.
Los planes Business y MSP cubren los 21 tipos de destino. Team cubre 5 destinos.
Destinos de API personalizada
El endpoint debe ser una URL https://. Un endpoint http:// sin cifrar se rechaza, porque la solicitud lleva la clave privada.
Agente de Linux
El agente es un pequeño servicio de Python 3 para un host Linux. Automate Certificates le envía el certificado por https y solo con la clave del agente. Dónde se guardan los archivos y cómo se recarga el servicio se define en el host durante la instalación y nunca se toma de una solicitud. El instalador necesita systemd.
- Cree una clave larga y aleatoria, por ejemplo con
openssl rand -hex 32. Debe tener al menos 32 caracteres. - Descargue y ejecute el instalador en el host, como root, con la clave y las rutas de su servicio.
- Cree un destino en Automate Certificates con la URL del agente (
https://<host>:8443) y la misma clave.
curl -fsSL https://api.automate-certificates.com/v1/agent/install/linux -o install-agent.sh
sudo CERTAI_AGENT_KEY="$(openssl rand -hex 32)" \
CERTAI_CERT_PATH=/etc/nginx/tls/site.crt \
CERTAI_KEY_PATH=/etc/nginx/tls/site.key \
CERTAI_RELOAD_COMMAND="systemctl reload nginx" \
bash install-agent.shImprima la clave una sola vez y guárdela; el destino necesita el mismo valor. El instalador escribe un archivo de configuración accesible solo para root en /etc/automate-certificates/agent.json e inicia la unidad systemd automate-certificates-agent. El agente responde solo por https y devuelve 401 a cualquier solicitud sin la clave correcta. Sirve https con el certificado en CERTAI_CERT_PATH (o CERTAI_TLS_CERT y CERTAI_TLS_KEY), por lo que ese archivo debe existir antes de la instalación. El puerto predeterminado es 8443 (CERTAI_PORT).
Agente de Windows
El agente de Windows es un servicio de PowerShell para un host Windows. Automate Certificates le envía los certificados solo por https y con la clave del agente. Dónde se guardan los archivos y qué se ejecuta después se define en el host durante la instalación y nunca se toma de una solicitud. El instalador necesita PowerShell 7.4 o posterior (pwsh) y debe ejecutarse como administrador.
- Cree una clave de al menos 32 caracteres, por ejemplo con el comando de PowerShell del bloque siguiente.
- Descargue el instalador y ejecútelo como administrador, con la clave y las rutas de su servicio.
- Permita el puerto TCP de entrada 8443 desde Automate Certificates en el Firewall de Windows. El instalador no lo abre.
- Cree un destino en Automate Certificates con la URL del agente (
https://<host>:8443) y la misma clave.
Invoke-WebRequest https://api.automate-certificates.com/v1/agent/install/windows -OutFile install-agent.ps1
$env:CERTAI_AGENT_KEY = [Convert]::ToHexString([Security.Cryptography.RandomNumberGenerator]::GetBytes(32))
$env:CERTAI_CERT_PATH = 'C:\certs\site.crt'; $env:CERTAI_KEY_PATH = 'C:\certs\site.key'
$env:CERTAI_CERT_STORE = 'My'; $env:CERTAI_RELOAD_COMMAND = '& C:\scripts\bind-certificate.ps1'
pwsh -NoProfile -ExecutionPolicy Bypass -File install-agent.ps1Guarde la clave; el destino necesita el mismo valor. El instalador registra el agente como una tarea programada llamada AutomateCertificatesAgent que se ejecuta como SYSTEM y guarda su configuración en C:\ProgramData\AutomateCertificates. El agente responde solo por https y devuelve 401 a cualquier solicitud sin la clave correcta. Los ajustes del instalador son:
| Ajuste | Qué hace |
|---|---|
CERTAI_AGENT_KEY | Obligatorio. Al menos 32 caracteres. El destino necesita la misma clave. |
CERTAI_CERT_PATH, CERTAI_KEY_PATH | Dónde se escriben cada certificado desplegado y su clave, en formato PEM. La carpeta predeterminada es C:\ProgramData\AutomateCertificates\certs. |
CERTAI_CERT_STORE | Un almacén de certificados LocalMachine, como My, en el que también se importa cada certificado. |
CERTAI_RELOAD_COMMAND | Comando de PowerShell que se ejecuta después de cada despliegue, con CERTAI_CERT_PATH, CERTAI_KEY_PATH y CERTAI_THUMBPRINT definidos, por ejemplo para enlazar el nuevo certificado en IIS. Un código de salida distinto de cero hace fallar el despliegue. |
CERTAI_PORT | El puerto en el que escucha el agente. El valor predeterminado es 8443. |
CERTAI_TLS_CERT, CERTAI_TLS_KEY | El certificado https propio del agente. De forma predeterminada usa el certificado y la clave que gestiona, que ya deben existir en formato PEM y ser válidos para el nombre de host de la máquina. Un archivo de certificado que también contiene su clave no necesita archivo de clave. |
Los archivos de clave siempre son legibles solo por SYSTEM y los administradores, en cada despliegue. Un servicio que deba leer su clave obtiene acceso en el comando de recarga, por ejemplo:
icacls "C:\certs\mongo.pem" /grant "NT SERVICE\MongoDB:R"; Restart-Service MongoDBSi el certificado gestionado caduca, Automate Certificates ya no puede alcanzar el agente. Para evitarlo, apunte CERTAI_TLS_CERT y CERTAI_TLS_KEY a un certificado independiente de larga duración. Para abrir el puerto, el instalador imprime esta regla para que la ejecute:
New-NetFirewallRule -DisplayName 'Automate Certificates agent' -Direction Inbound -Protocol TCP -LocalPort 8443 -Action AllowDiscovery
Los escaneos encuentran certificados que faltan en su inventario: escaneos de tenant de Azure, escaneos de AWS y GCP, y escaneos de red de dominios públicos. Los escaneos cuentan para el límite diario de escaneos de su plan, y iniciar uno requiere un administrador.
Webhooks
Añada un webhook en la página Alerts para enviar eventos a sus propias herramientas. Los eventos incluyen cert.issued, cert.expiring, cert.issue_failed, cert.renew_failed, cert.renewal_dns_required, deployment.success y deployment.failed. Cada solicitud va firmada: el encabezado X-Automate-Certificates-Signature contiene sha256= y un HMAC del cuerpo calculado con el secreto que se muestra una sola vez al crear el webhook.
MCP
Las herramientas MCP todavía no se pueden instalar desde el producto, por lo que hoy no forman parte de él.