Documentation Automate Certificates
Cibles, agents, webhooks
Une cible est un endroit où un certificat est installé. Automate Certificates peut aussi rechercher les certificats que vous ne gérez pas encore et envoyer des événements à vos propres outils.
Types de cibles
- Azure : machine virtuelle, SQL, App Service, Key Vault, Application Gateway et Front Door.
- AWS : ACM, CloudFront, équilibreur de charge et RDS.
- Google Cloud : machine virtuelle, équilibreur de charge HTTPS, Cloud SQL et Cloud Run.
- Bases de données : PostgreSQL, MySQL, MongoDB et Redis.
- Autres : Cloudflare, hôtes SSH et une API personnalisée.
Les forfaits Business et MSP couvrent les 21 types de cibles. Team couvre 5 cibles.
Cibles API personnalisées
Le point de terminaison doit être une URL https://. Un point de terminaison http:// simple est refusé, car la requête transporte la clé privée.
Agent Linux
L'agent est un petit service Python 3 pour un hôte Linux. Automate Certificates lui envoie le certificat en https et avec la seule clé de l'agent. L'emplacement des fichiers et le mode de rechargement du service sont définis sur l'hôte à l'installation et ne sont jamais tirés d'une requête. L'installateur nécessite systemd.
- Créez une longue clé aléatoire, par exemple avec
openssl rand -hex 32. Elle doit comporter au moins 32 caractères. - Téléchargez et exécutez l'installateur sur l'hôte, en tant que root, avec la clé et les chemins de votre service.
- Créez une cible dans Automate Certificates avec l'URL de l'agent (
https://<host>:8443) et la même clé.
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.shAffichez la clé une fois et conservez-la ; la cible a besoin de la même valeur. L'installateur écrit un fichier de configuration réservé à root dans /etc/automate-certificates/agent.json et démarre l'unité systemd automate-certificates-agent. L'agent répond uniquement en https et renvoie 401 à toute requête sans la bonne clé. Il sert en https avec le certificat situé à CERTAI_CERT_PATH (ou CERTAI_TLS_CERT et CERTAI_TLS_KEY), ce fichier doit donc exister avant l'installation. Le port par défaut est 8443 (CERTAI_PORT).
Agent Windows
L'agent Windows est un service PowerShell pour un hôte Windows. Automate Certificates lui envoie les certificats uniquement en https, avec la clé de l'agent. L'emplacement des fichiers et ce qui s'exécute ensuite sont définis sur l'hôte à l'installation et ne sont jamais tirés d'une requête. L'installateur nécessite PowerShell 7.4 ou version ultérieure (pwsh) et doit être exécuté en tant qu'administrateur.
- Créez une clé d'au moins 32 caractères, par exemple avec la commande PowerShell du bloc ci-dessous.
- Téléchargez l'installateur et exécutez-le en tant qu'administrateur, avec la clé et les chemins de votre service.
- Autorisez le port TCP entrant 8443 depuis Automate Certificates dans le Pare-feu Windows. L'installateur ne l'ouvre pas.
- Créez une cible dans Automate Certificates avec l'URL de l'agent (
https://<host>:8443) et la même clé.
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.ps1Conservez la clé ; la cible a besoin de la même valeur. L'installateur enregistre l'agent comme tâche planifiée nommée AutomateCertificatesAgent, exécutée en tant que SYSTEM, et conserve sa configuration sous C:\ProgramData\AutomateCertificates. L'agent répond uniquement en https et renvoie 401 à toute requête sans la bonne clé. Les paramètres de l'installateur sont les suivants :
| Paramètre | Rôle |
|---|---|
CERTAI_AGENT_KEY | Obligatoire. Au moins 32 caractères. La cible a besoin de la même clé. |
CERTAI_CERT_PATH, CERTAI_KEY_PATH | Emplacement où chaque certificat déployé et chaque clé sont écrits, au format PEM. Le dossier par défaut est C:\ProgramData\AutomateCertificates\certs. |
CERTAI_CERT_STORE | Un magasin de certificats LocalMachine, tel que My, dans lequel chaque certificat est aussi importé. |
CERTAI_RELOAD_COMMAND | Commande PowerShell exécutée après chaque déploiement, avec CERTAI_CERT_PATH, CERTAI_KEY_PATH et CERTAI_THUMBPRINT définis, par exemple pour lier le nouveau certificat dans IIS. Un code de sortie non nul fait échouer le déploiement. |
CERTAI_PORT | Le port sur lequel l'agent écoute. La valeur par défaut est 8443. |
CERTAI_TLS_CERT, CERTAI_TLS_KEY | Le certificat https propre à l'agent. Par défaut, il utilise le certificat et la clé qu'il gère, qui doivent déjà exister au format PEM et être valides pour le nom d'hôte de la machine. Un fichier de certificat qui contient aussi sa clé n'a pas besoin de fichier de clé. |
Les fichiers de clé ne sont toujours lisibles que par SYSTEM et les administrateurs, à chaque déploiement. Un service qui doit lire sa clé obtient l'accès dans la commande de rechargement, par exemple :
icacls "C:\certs\mongo.pem" /grant "NT SERVICE\MongoDB:R"; Restart-Service MongoDBSi le certificat géré expire, Automate Certificates ne peut plus joindre l'agent. Pour l'éviter, faites pointer CERTAI_TLS_CERT et CERTAI_TLS_KEY vers un certificat distinct de longue durée. Pour ouvrir le port, l'installateur affiche cette règle à exécuter :
New-NetFirewallRule -DisplayName 'Automate Certificates agent' -Direction Inbound -Protocol TCP -LocalPort 8443 -Action AllowDécouverte
Les analyses trouvent les certificats absents de votre inventaire : analyses de tenant Azure, analyses AWS et GCP, et analyses réseau de domaines publics. Les analyses comptent dans la limite quotidienne de votre forfait, et en lancer une exige un administrateur.
Webhooks
Ajoutez un webhook sur la page Alertes pour envoyer des événements à vos outils. Les événements comprennent cert.issued, cert.expiring, cert.issue_failed, cert.renew_failed, cert.renewal_dns_required, deployment.success et deployment.failed. Chaque requête est signée : l'en-tête X-Automate-Certificates-Signature contient sha256= et un HMAC du corps calculé avec le secret affiché une seule fois à la création du webhook.
MCP
Les outils MCP ne peuvent pas encore être installés depuis le produit ; ils ne font donc pas partie du produit aujourd'hui.