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

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

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 Ansible

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.

Zaszyfrowany plik w Ansible

Aby zweryfikować szyfrowanie pliku, użyj polecenia CAT, jak pokazano.

# Cat Mysecrets.yml 
Sprawdź 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 Ansible

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.

Edytuj zaszyfrowany plik w Ansible

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 
Zmień 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.tekst 
Zaszyfrować niedzielnik pliku

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

Zobacz plik zaszyfrowany

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 
Odszyfrować 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_String 
Zaszyfrowane 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-PASS 
Odszyfrowaj 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.