Coffre de secrets (Vault)¶
Les mots de passe de jonction domaine, comptes de service et autres identifiants ne sont jamais stockés en clair dans le JSON. Ils vivent dans un coffre de secrets que les séquences référencent par clé.
Créer un coffre¶
Initialize-SecretVault -Secrets @{
domainJoinPassword = 'MotDePasse-SvcJoinDomain!'
}
Par défaut, ceci utilise DPAPI, qui chiffre le coffre avec le compte Windows qui l'a créé.
DPAPI vs AES — lequel utiliser¶
DPAPI ne fonctionne que lorsque le coffre est lu sur la même machine, par le même compte qui l'a créé. Dans un scénario de déploiement réseau, ça ne tient pas :
Vault créé sur SERVEUR (compte SVC-DEPLOY)
→ chiffrement lié à SVC-DEPLOY sur SERVEUR
Machine cible (WORKSTATION-01) tente de lire le vault
→ contexte DPAPI différent → échec silencieux → repli sur un prompt interactif
Pour un coffre qui doit être lu depuis une autre machine (par exemple par WinPE ou un poste fraîchement imagé), utiliser AES avec un mot de passe à la place — le coffre devient portable puisque la clé de déchiffrement est le mot de passe lui-même, et non liée à un compte Windows :
Initialize-SecretVault -Secrets @{
domainJoinPassword = 'MotDePasse-SvcJoinDomain!'
} -Password 'MotDePasseVault!'
Le même mot de passe doit ensuite être fourni partout où le coffre est lu.
Référencer un secret dans une étape de séquence¶
{
"type": "JoinDomain",
"params": {
"domain": "corp.local",
"ou": "OU=Postes,OU=IT,DC=corp,DC=local",
"username": "svc-joindomain",
"credential": { "source": "vault", "key": "domainJoinPassword" }
}
}
Compte de service dédié
N'utilisez pas un compte administrateur du domaine pour JoinDomain. Créez un compte de service dédié (ex. svc-joindomain) avec uniquement la délégation « Join computers to domain » sur l'OU cible.