Jak używać ansible vault w podręcznikach w celu ochrony poufnych danych - część 10

- 1915
- 280
- Laura Zygmunt
W miarę korzystania z Ansible możesz być zobowiązany do kluczowania niektórych poufnych lub tajnych informacji w podręcznikach. Obejmuje to klucze prywatne i publiczne SSH, hasła i certyfikaty SSL, aby wymienić tylko kilka. Jak już wiemy, jest zła praktyka, aby zapisać te poufne informacje w prostym tekście z oczywistych powodów. Informacje te wymagają utrzymywania się pod blokadą i kluczem, ponieważ możemy sobie tylko wyobrazić, co by się stało, gdyby hakerzy lub nieautoryzowani użytkownicy otrzymali.
Na szczęście Ansible zapewnia nam poręczną funkcję znaną jako Ansible Vault. Jak sama nazwa wskazuje, Ansible Vault pomaga zabezpieczyć istotne tajne informacje, jak omówiliśmy wcześniej. Ansible Vault może szyfrować zmienne, a nawet całe pliki i podręczniki YAML, jak później zademonstrujemy. Jest to bardzo przydatne i przyjazne dla użytkownika narzędzie, które wymaga tego samego hasła podczas szyfrowania i odszyfrowywania plików.
Zanurzmy się teraz i miejmy przegląd różnych operacji, które można przeprowadzić za pomocą za pomocą Ansible Vault.
Jak utworzyć zaszyfrowany plik w Ansible
Jeśli chcesz utworzyć szyfrowane Podręcznik Plik po prostu użyj ansible-vault Utwórz polecić i podać nazwę pliku, jak pokazano.
# ansible-vault Utwórz nazwę pliku
Na przykład, aby utworzyć zaszyfrowany plik moje sekrety.yml Wykonaj polecenie.
# ansible-vault twórz myscrets.yml
Następnie zostaniesz poproszony o hasło, a po jego potwierdze.

Poniżej znajduje się próbka niektórych informacji. Po zakończeniu po prostu zapisz i wyjdź z podręcznika. I to właśnie przy tworzeniu zaszyfrowanego pliku.

Aby zweryfikować szyfrowanie pliku, użyj polecenia CAT, jak pokazano.
# Cat Mysecrets.yml

Jak wyświetlić zaszyfrowany plik w Ansible
Jeśli chcesz wyświetlić zaszyfrowany plik, po prostu przejdź Widok ansible-vault polecenie, jak pokazano poniżej.
# Ansible-Vault Widok Mysecrets.yml
Po raz kolejny zostaniesz poproszony o hasło. Jeszcze raz będziesz mieć dostęp do swoich informacji.

Jak edytować zaszyfrowany plik w Ansible
Aby wprowadzić zmiany w zaszyfrowanym pliku, użyj Ansible-Vault Edit polecenie jak pokazano.
# ansible-vault edytuj myscrets.yml
Jak zawsze podaj hasło, a następnie kontynuuj edycję pliku.

Po zakończeniu edycji, zapisz i wyjdź z edytora VIM.
Jak zmienić hasło ansible vault
Jeśli czujesz potrzebę zmiany hasła Ansible Vault, możesz to łatwo zrobić za pomocą Ansible-Vault Rekey polecenie, jak pokazano poniżej.
# ansible-vault rekey mysecrets.yml

To podpowiada o hasło sklepienia, a później żąda wprowadzenia nowego hasła, a później potwierdzenia.
Jak szyfrować niezaszyfrowany plik w Ansible
Załóżmy, że chcesz zaszyfrować plik niezaszyfrowany, możesz to zrobić, uruchamiając Ansible-Vault Encrypt polecenie jak pokazano.
# ansible-vault szyfrować klasyfikowane.tekst

Później możesz wyświetlić plik za pomocą polecenia CAT, jak wskazano poniżej.

Jak odszyfrować zaszyfrowany plik
Aby wyświetlić zawartość zaszyfrowanego pliku, po prostu odszyftować plik za pomocą Ansible-Vault Encrypt Jak pokazano w poniższym przykładzie.
# ansible-vault decrypt Classified.tekst

Jak szyfrować określone zmienne w Ansible
Dodatkowo, ansible Vault zapewnia możliwość szyfrowania niektórych zmiennych. Odbywa się to za pomocą Ansible-Vault Encrypt_String polecenie jak pokazano.
# Ansible-Vault Encrypt_String

Ansible Vault poprosi Cię o hasło, a później wymaga go potwierdzenia. Następnie wpisz wartość ciągu, którą chcesz zaszyfrować. Wreszcie, naciśnij Ctrl + d
. Następnie możesz zacząć przypisywać zaszyfrowaną wartość w podręczniku.
Można to osiągnąć w jednym wierszu, jak pokazano poniżej.
# ansible-vault encrypt_string 'string' --name 'zmienna_name'

Jak odszyfrować plik podręcznika w czasie wykonywania
Jeśli masz plik podręcznika i chcesz go odszyfrować w czasie wykonywania, użyj --Ask-Vault-Pass
opcja jak ilustrowano.
# ansible-playbook wdrożenie.YML-PASK-VAULT-PASS

To odszyfrowuje wszystkie pliki używane w podręczniku pod warunkiem, że zostały one zaszyfrowane przy użyciu tego samego hasła.
Podpisy hasła mogą być czasami denerwujące. Te podpowiedzi sprawiają, że automatyzacja jest nie do utrzymania, zwłaszcza gdy automatyzacja jest kluczowa. Aby usprawnić proces odszyfrowywania podręczników w czasie wykonywania, zaleca się posiadanie osobnego pliku hasła zawierającego hasło ansible vault. Ten plik można następnie przekazać w czasie wykonywania, jak pokazano.
# ansible-playbook wdrożenie.yml-vault-password-plik/home/tecMint/vault_pass.tekst
To prowadzi nas do zakończenia tego tematu i serii ansible automatyzacji. Mamy nadzieję, że samouczki podały jakąś przydatną wiedzę na temat automatyzacji zadań na wielu serwerach z jednego systemu centralnego.