Wat is Ansible Vault?

Ansible Vault is een ingebouwde functie van Ansible die gevoelige gegevens zoals wachtwoorden, API-sleutels en certificaten versleutelt, zodat deze veilig naast playbooks en rollen in versiebeheer kunnen worden opgeslagen. Het gebruikt AES-256 symmetrische versleuteling met PBKDF2-sleutelafleiding, wat betekent dat één wachtwoord wordt gebruikt voor zowel versleuteling als ontsleuteling. Vault-versleutelde inhoud wordt geïdentificeerd door de $ANSIBLE_VAULT;1.1;AES256 header gevolgd door hex-gecodeerde ciphertext.

Ansible Vault lost een fundamentele DevOps-uitdaging op: hoe geheimen in dezelfde repository als infrastructuurcode kunnen worden bewaard zonder deze bloot te stellen. In plaats van afzonderlijke geheime opslagplaatsen te beheren of op omgevingsvariabelen te vertrouwen, kunnen teams versleutelde bestanden rechtstreeks naar Git committen en deze tijdens runtime ontsleutelen bij playbook-uitvoering.

Hulpprogrammabeschrijving

Dit hulpprogramma versleutelt en ontsleutelt Ansible Vault-inhoud rechtstreeks in de browser. Voer een vault-wachtwoord en platte tekst in om een volledig compatibele versleutelde vault-blob te produceren, of plak een bestaande vault-blob om het originele geheim zichtbaar te maken. Geen gegevens verlaten de browser — alle cryptografische bewerkingen worden aan de clientzijde uitgevoerd.

Voorbeelden

Platte tekst versleutelen:

Invoer (platte tekst):

db_password: s3cur3P@ss!

Uitvoer (versleutelde vault):

$ANSIBLE_VAULT;1.1;AES256
33383239333036363833303565653032383832663162356533343630623030613133623032636566
6536303436646561356461623866386133623462383832620a646363626137626635353462386430
34333937313366383038346135656563316236313139333933383139376333353266666436316536
6335376265313432610a313537363637383264646261303637646631346137393964386432313633
3666

Vault-inhoud ontsleutelen:

Plak het versleutelde blok hierboven met het juiste wachtwoord om de originele db_password: s3cur3P@ss! waarde terug te krijgen.

Functies

  • AES-256 versleuteling volledig compatibel met Ansible Vault 1.1-indeling
  • Alleen aan clientzijde — geen gegevens worden naar een server verzonden
  • Ondersteunt zowel versleuteling als ontsleuteling met een enkel wachtwoordveld
  • Directe conversie met live preview terwijl u typt
  • Werkt met multi-line geheimen, YAML-fragmenten en willekeurige tekst

Gebruiksscenario's

  • Snel een nieuw geheim versleutelen voordat het naar een Git-repository met Ansible-playbooks wordt gecommit
  • Vault-inhoud ontsleutelen en inspecteren tijdens foutopsporing zonder dat Ansible lokaal hoeft te zijn geïnstalleerd
  • Versleutelde geheimen delen met teamleden die deze in de browser kunnen ontsleutelen met behulp van een gedeeld vault-wachtwoord

Hoe het werkt

Ansible Vault 1.1 gebruikt het volgende proces:

  1. Sleutelafleiding — PBKDF2-HMAC-SHA256 leidt een 80-byte sleutel af van het wachtwoord en een willekeurige salt (10.000 iteraties). De sleutel wordt opgesplitst in een 32-byte versleutelingssleutel, een 32-byte HMAC-sleutel en een 16-byte IV.
  2. Versleuteling — De platte tekst wordt versleuteld met AES-256-CTR met behulp van de afgeleide sleutel en IV.
  3. Authenticatie — Een HMAC-SHA256 wordt berekend over de ciphertext om integriteit te garanderen.
  4. Codering — De salt, HMAC-digest en ciphertext worden hex-gecodeerd en gecombineerd onder de $ANSIBLE_VAULT;1.1;AES256 header.

Ontsleuteling keert het proces om: het wachtwoord leidt dezelfde sleutels opnieuw af, verifieert de HMAC en ontsleutelt de ciphertext.

Beperkingen

  • Ondersteunt alleen de Ansible Vault 1.1-indeling met AES-256 versleuteling
  • Ondersteunt geen vault ID-labels voor multi-wachtwoord-instellingen
  • Grote bestanden kunnen korte UI-vertragingen veroorzaken vanwege de CPU-intensieve sleutelafleiding