Szyfrowanie pojedynczej zmiennej w miejscu
Łączenie zmiennych jawnych i sekretnych.
Szyfrowanie pojedynczej zmiennej w miejscu to bezpłatna lekcja DevOps Bootcamp na CoddyKit. To lekcja 3 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej DevOps Bootcamp, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs DevOps Bootcamp zawiera 4 lekcji w sumie.
Nie wszystko jest tajne
Czasami jedna wartość w pliku jest wrażliwa, a pozostałe są nieszkodliwe. Szyfrowanie całego pliku wydaje się wtedy przesadą. 🤔
Zaszyfruj tylko jedną zmienną
Vault może zaszyfrować pojedynczą wartość, pozostawiając resztę YAML-a czytelną. Dzięki temu różnice są przejrzyste, a konfigurację można przeglądać.
Polecenie encrypt_string
Użyj ansible-vault encrypt_string, aby przekształcić pojedynczą wartość jawną w zaszyfrowany blok, który można wkleić do dowolnego pliku vars.
ansible-vault encrypt_string 's3cr3t' --name 'db_password'Co jest wynikiem
Polecenie wyświetla klucz YAML, którego wartość korzysta z tagu !vault, po którym następuje wcięty blok szyfrogramu.
db_password: !vault |
$ANSIBLE_VAULT;1.1;AES256
39653764...Wklej do vars
Skopiuj ten blok bezpośrednio do group_vars lub sekcji vars playbooka, obok zwykłych zmiennych w tekście jawnym.
vars:
app_user: deploy
db_password: !vault |
$ANSIBLE_VAULT;1.1;AES256
39653764...Tag !vault
Tag !vault sygnalizuje Ansible, że ta pojedyncza wartość jest zaszyfrowana i przed użyciem musi zostać odszyfrowana.
Używaj jak każdej zmiennej
W czasie wykonywania wartość jest odszyfrowywana w sposób niewidoczny dla użytkownika. Odwołujesz się do niej za pomocą zwykłej składni {{ }}, dokładnie tak jak do jawnej zmiennej.
- name: Set DB password
debug:
msg: "{{ db_password }}"Unikaj tekstu jawnego w wierszu poleceń
Umieszczanie sekretu w historii powłoki jest ryzykowne. Dodaj --stdin-name, aby wprowadzić wartość interaktywnie.
ansible-vault encrypt_string --stdin-name 'db_password'Inline a cały plik
Szyfrowanie inline sprawdza się przy kilku sekretach wśród publicznej konfiguracji. W przypadku plików, które są w całości tajne, prostsze jest szyfrowanie całego pliku.
W obu przypadkach to samo hasło
Wartości inline używają tego samego hasła Vault co szyfrowanie całego pliku, więc Ansible odszyfrowuje oba rodzaje danych za pomocą jednego hasła podczas każdego uruchomienia.
Diffy pozostają czytelne
Największą zaletą jest to, że tylko wiersz z sekretem zawiera szyfrogram, więc przegląd kodu i polecenie git diff nadal wyraźnie pokazują każdą zmianę niezwiązaną z sekretami.
Szybki test
Chcesz zaszyfrować jedną wartość, pozostawiając resztę pliku vars w formie czytelnej.
Podsumowanie
Za pomocą encrypt_string szyfrujesz jedną wartość do bloku !vault, łącząc sekrety i tekst jawny w tym samym czytelnym pliku. ✨
Często zadawane pytania
Czy lekcja „Szyfrowanie pojedynczej zmiennej w miejscu” jest bezpłatna?
Tak — pełny tekst „Szyfrowanie pojedynczej zmiennej w miejscu” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu DevOps Bootcamp, przejdź na CoddyKit PRO. Kurs DevOps Bootcamp zawiera 4 lekcji w sumie.
Co nauczysz się w „Szyfrowanie pojedynczej zmiennej w miejscu”?
Łączenie zmiennych jawnych i sekretnych. Ćwiczysz DevOps Bootcamp z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć DevOps Bootcamp?
Nie wymagamy żadnego doświadczenia. DevOps Bootcamp w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 4.
Ile czasu zajmuje lekcja „Szyfrowanie pojedynczej zmiennej w miejscu”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji DevOps Bootcamp?
Tak. Każda lekcja DevOps Bootcamp zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Szyfrowanie pliku za pomocą ansible-vault create
- Edycja, wyświetlanie i zmiana klucza plików Vault
- Szyfrowanie pojedynczej zmiennej w miejscu
- Odszyfrowywanie w czasie działania za pomocą --ask-vault-pass