Jak używać ansible vault w podręcznikach w celu ochrony poufnych danych - część 10
- 1890
- 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.
Utwórz zaszyfrowany plik w AnsiblePoniż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.
Zaszyfrowany plik w AnsibleAby zweryfikować szyfrowanie pliku, użyj polecenia CAT, jak pokazano.
# Cat Mysecrets.ymlSprawdź zaszyfrowany plik w Ansible
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.
Zobacz zaszyfrowany plik w AnsibleJak 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.
Edytuj zaszyfrowany plik w AnsiblePo 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.ymlZmień hasło ansible vault
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.tekstZaszyfrować niedzielnik pliku
Później możesz wyświetlić plik za pomocą polecenia CAT, jak wskazano poniżej.
Zobacz plik zaszyfrowanyJak 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.tekstOdszyfrować zaszyfrowany plik
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_StringZaszyfrowane zmienne specyficzne w Ansible
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'Przypisz zaszyfrowaną wartość w Ansible Playbook
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-PASSOdszyfrowaj plik podręcznika w czasie wykonywania
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.