Mikä on Ansible Vault?

Ansible Vault on Ansiblen sisäänrakennettu ominaisuus, joka salaa arkaluontoisia tietoja, kuten salasanoja, API-avaimia ja sertifikaatteja, jotta ne voidaan turvallisesti tallentaa playbookien ja roolien rinnalla versionhallinnassa. Se käyttää AES-256-symmetristä salausta PBKDF2-avainjohdannaisella, mikä tarkoittaa, että sama salasana käytetään sekä salaukseen että salauksen purkamiseen. Vault-salattu sisältö tunnistetaan $ANSIBLE_VAULT;1.1;AES256-otsikolla, jota seuraa heksadesimaalikoodattu salateksti.

Ansible Vault ratkaisee perustavanlaatuisen DevOps-haasteen: kuinka pitää salaisuudet samassa arkistossa kuin infrastruktuurikoodi ilman, että ne paljastuvat. Sen sijaan, että hallinnoidaan erillisiä salaisuuksien varastoja tai turvaudutaan ympäristömuuttujiin, tiimit voivat sitoa salatut tiedostot suoraan Gitiin ja purkaa ne ajon aikana playbookin suorittamisen yhteydessä.

Työkalun kuvaus

Tämä työkalu salaa ja purkaa Ansible Vault -sisältöä suoraan selaimessa. Syötä vault-salasana ja pelkkä teksti tuottaaksesi täysin yhteensopivan salatun vault-blokin, tai liitä olemassa oleva vault-blokki paljastaksesi alkuperäisen salaisuuden. Mikään tieto ei poistu selaimesta — kaikki kryptografiset operaatiot suoritetaan asiakaspuolella.

Esimerkit

Pelkkätekstin salaus:

Syöte (pelkkä teksti):

db_password: s3cur3P@ss!

Tulos (salattu vault):

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

Vault-sisällön salauksen purku:

Liitä yllä oleva salattu blokki oikealla salasanalla palauttaaksesi alkuperäisen db_password: s3cur3P@ss! -arvon.

Ominaisuudet

  • AES-256-salaus täysin yhteensopiva Ansible Vault 1.1 -muodon kanssa
  • Vain asiakaspuoli — mitään tietoa ei lähetetä millekään palvelimelle
  • Tukee sekä salausta että salauksen purkamista yhdellä salasanakentällä
  • Välitön muuntaminen reaaliaikaisella esikatsellulla kirjoitettaessa
  • Toimii monirivisillä salaisuuksilla, YAML-fragmenteilla ja mielivaltaisella tekstillä

Käyttötapaukset

  • Uuden salaisuuden nopea salaus ennen sitomista Git-arkistoon, joka sisältää Ansible-playbookeja
  • Vault-sisällön salauksen purku ja tarkastelu virheenkorjauksen aikana ilman, että Ansible on asennettuna paikallisesti
  • Salattujen salaisuuksien jakaminen tiimin jäsenille, jotka voivat purkaa ne selaimessa käyttämällä jaettua vault-salasanaa

Kuinka se toimii

Ansible Vault 1.1 käyttää seuraavaa prosessia:

  1. Avainjohdannainen — PBKDF2-HMAC-SHA256 johtaa 80-tavuisen avaimen salasanasta ja satunnaisesta suolasta (10 000 iteraatiota). Avain jaetaan 32-tavuiseksi salausavaimeksi, 32-tavuiseksi HMAC-avaimeksi ja 16-tavuiseksi IV:ksi.
  2. Salaus — Pelkkä teksti salataan AES-256-CTR:llä käyttämällä johdettua avainta ja IV:tä.
  3. Todennus — HMAC-SHA256 lasketaan salatekstin yli eheyden varmistamiseksi.
  4. Koodaus — Suola, HMAC-tiiviste ja salateksti heksadesimaalikoodataan ja yhdistetään $ANSIBLE_VAULT;1.1;AES256-otsikon alle.

Salauksen purku kääntää prosessin: salasana johtaa uudelleen samat avaimet, varmistaa HMAC:n ja purkaa salatekstin.

Rajoitukset

  • Tukee vain Ansible Vault 1.1 -muotoa AES-256-salauksella
  • Ei tue vault ID -tunnisteita monisalasanasetupeja varten
  • Suuret tiedostot voivat aiheuttaa lyhyitä käyttöliittymän viiveitä CPU-intensiivisen avainjohdannaisvaiheen vuoksi