Ansible Vault Kryptering och Dekryptering
Kryptera och dekryptera Ansible Vault-hemligheter direkt i webbläsaren med AES-256
Inmatning
Utdata
Readme
Vad är Ansible Vault?
Ansible Vault är en inbyggd funktion i Ansible som krypterar känslig data såsom lösenord, API-nycklar och certifikat så att de kan lagras säkert tillsammans med playbooks och roller i versionskontroll. Den använder AES-256 symmetrisk kryptering med PBKDF2-nyckelderivering, vilket betyder att ett enda lösenord används för både kryptering och dekryptering. Vault-krypterat innehål identifieras av $ANSIBLE_VAULT;1.1;AES256-huvudet följt av hex-kodad chiffertext.
Ansible Vault löser en grundläggande DevOps-utmaning: hur man håller hemligheter i samma arkiv som infrastrukturkod utan att exponera dem. Istället för att hantera separata hemlighetslager eller förlita sig på miljövariabler kan team commita krypterade filer direkt till Git och dekryptera dem vid körning under playbook-körning.
Verktygsbeskrivning
Det här verktyget krypterar och dekrypterar Ansible Vault-innehål direkt i webbläsaren. Ange ett vault-lösenord och klartext för att producera en helt kompatibel krypterad vault-blob, eller klistra in en befintlig vault-blob för att avslöja den ursprungliga hemligheten. Ingen data lämnar webbläsaren — alla kryptografiska operationer körs på klientsidan.
Exempel
Kryptering av klartext:
Inmatning (klartext):
db_password: s3cur3P@ss!Utmatning (krypterad vault):
$ANSIBLE_VAULT;1.1;AES256
33383239333036363833303565653032383832663162356533343630623030613133623032636566
6536303436646561356461623866386133623462383832620a646363626137626635353462386430
34333937313366383038346135656563316236313139333933383139376333353266666436316536
6335376265313432610a313537363637383264646261303637646631346137393964386432313633
3666Dekryptering av vault-innehål:
Klistra in det krypterade blocket ovan med rätt lösenord för att återställa det ursprungliga db_password: s3cur3P@ss!-värdet.
Funktioner
- AES-256-kryptering helt kompatibel med Ansible Vault 1.1-format
- Endast på klientsidan — ingen data skickas till någon server
- Stöder både kryptering och dekryptering med ett enda lösenordsfält
- Omedelbar konvertering med live-förhandsgranskning medan du skriver
- Fungerar med flerlinjiga hemligheter, YAML-fragment och godtycklig text
Användningsfall
- Snabb kryptering av en ny hemlighet innan den commitas till ett Git-arkiv som innehåller Ansible playbooks
- Dekryptering och inspektion av vault-innehål under felsökning utan att behöva ha Ansible installerat lokalt
- Delning av krypterade hemligheter med lagkamrater som kan dekryptera dem i webbläsaren med ett delat vault-lösenord
Hur det fungerar
Ansible Vault 1.1 använder följande process:
- Nyckelderivering — PBKDF2-HMAC-SHA256 härleder en 80-byte-nyckel från lösenordet och en slumpmässig salt (10 000 iterationer). Nyckeln delas upp i en 32-byte-krypteringsnyckel, en 32-byte-HMAC-nyckel och en 16-byte-IV.
- Kryptering — Klartexten krypteras med AES-256-CTR med den härledda nyckeln och IV.
- Autentisering — En HMAC-SHA256 beräknas över chiffertexten för att säkerställa integritet.
- Kodning — Salten, HMAC-sammanfattningen och chiffertexten hex-kodas och kombineras under
$ANSIBLE_VAULT;1.1;AES256-huvudet.
Dekryptering vänder processen: lösenordet härleder samma nycklar igen, verifierar HMAC och dekrypterar chiffertexten.
Begränsningar
- Stöder endast Ansible Vault 1.1-format med AES-256-kryptering
- Stöder inte vault ID-etiketter för flerlösenordsuppsättningar
- Stora filer kan orsaka korta gränssnittsförseningar på grund av det CPU-intensiva nyckelderiveringssteget