So verwenden Sie Ansible Vault in Playbooks, um sensible Daten zu schützen - Teil 10

So verwenden Sie Ansible Vault in Playbooks, um sensible Daten zu schützen - Teil 10

Wenn Sie Ansible verwenden, müssen Sie möglicherweise einige vertrauliche oder geheime Informationen in Playbooks entscheiden. Dies beinhaltet SSH private und öffentliche Schlüssel, Passwörter und SSL -Zertifikate, um nur einige zu erwähnen. Wie wir bereits wissen, ist es aus offensichtlichen Gründen eine schlechte Praxis, diese sensiblen Informationen im Klartext zu speichern. Diese Informationen müssen unter Sperre und Schlüssel gehalten werden.

Zum Glück bietet Ansible uns eine praktische Funktion, die als bekannt ist Ansible Vault. Wie der Name schon sagt, die Ansible Vault Hilft dabei, wichtige geheime Informationen zu sichern, wie wir zuvor besprochen haben. Ansible Vault Kann Variablen oder sogar ganze Dateien und Yaml -Playbooks verschlüsseln, wie wir später demonstrieren werden. Es ist ein sehr praktisches und benutzerfreundliches Tool, das das gleiche Passwort beim Verschlingen und Entschlüsseln von Dateien erfordert.

Lassen Sie uns nun eintauchen und einen Überblick über die verschiedenen Operationen haben, die verwendet werden können Ansible Vault.

So erstellen Sie eine verschlüsselte Datei in Ansible

Wenn Sie eine verschlüsselte Erstellung erstellen möchten Spielbuch Datei verwenden einfach die Ansible-vault erstellen Befehl und geben Sie den Dateinamen wie gezeigt an.

# Ansible-vault Dateiname erstellen 

Zum Beispiel um eine verschlüsselte Datei zu erstellen meine Geheimnisse.YML Führen Sie den Befehl aus.

# Ansible-vault erstellen mySecrets.YML 

Danach werden Sie für ein Passwort aufgefordert, und nach der Bestätigung wird ein neues Fenster mit dem VI -Editor geöffnet, in dem Sie mit dem Schreiben Ihrer Spiele beginnen können.

Erstellen Sie eine verschlüsselte Datei in Ansible

Nachfolgend finden Sie ein Beispiel einiger Informationen. Sobald Sie fertig sind, speichern Sie einfach das Spielbuch und beenden Sie das Spielbuch. Und das ist genau das, wenn Sie eine verschlüsselte Datei erstellen.

Verschlüsselte Datei in Ansible

Verwenden Sie den Befehl cat wie gezeigt, um die Dateiverschlüsselung zu überprüfen.

# Cat Mysecrets.YML 
Überprüfen Sie die verschlüsselte Datei in Ansible

Wie man eine verschlüsselte Datei in Ansible anzeigt

Wenn Sie eine verschlüsselte Datei anzeigen möchten, übergeben Sie einfach die Ansible-Vault-Ansicht Befehl wie unten gezeigt.

# Ansible-vault anzeigen MySecrets.YML 

Noch einmal werden Sie für ein Passwort aufgefordert. Noch einmal haben Sie Zugriff auf Ihre Informationen.

Zeigen Sie die verschlüsselte Datei in Ansible an

So bearbeiten Sie eine verschlüsselte Datei in Ansible

Um Änderungen an einer verschlüsselten Datei vorzunehmen, verwenden Sie die Ansible-vault bearbeiten Befehl wie gezeigt.

# Ansible-vault bearbeiten MySecrets.YML 

Geben Sie wie immer das Passwort an und bearbeiten Sie danach die Datei.

Bearbeiten Sie verschlüsselte Datei in Ansible

Nachdem Sie bearbeitet haben, speichern und beenden Sie den VIM -Editor.

So ändern Sie das Kennwort des Ansible Vault

Falls Sie das Ansible Vault -Kennwort ändern müssen, können Sie dies einfach mit dem tun Ansible-Vault Rekey Befehl wie unten gezeigt.

# Ansible-vault Rekey Mysecrets.YML 
Ändern Sie das Kennwort des Ansible Vault

Dies fordert Sie für das Tresorkennwort auf und fordert später auf, das neue Passwort einzugeben und später zu bestätigen.

Wie man eine unverschlüsselte Datei in Ansible verschlüsselt

Angenommen, Sie möchten eine unverschlüsselte Datei verschlüsseln. Sie können dies tun, indem Sie das ausführen Ansible-vault verschlüsseln Befehl wie gezeigt.

# Ansible-vault-Verschlüsselung klassifiziert.txt 
Verschlüsseln Sie eine unverschlüsselte Datei

Sie können die Datei später mit dem CAT -Befehl wie unten angegeben anzeigen.

Verschlüsselte Datei anzeigen

So entschlüsseln Sie eine verschlüsselte Datei

Um den Inhalt einer verschlüsselten Datei anzuzeigen, entschlüsseln Sie einfach die Datei mit der Datei Ansible-vault verschlüsseln Wie im folgenden Beispiel dargestellt.

# Ansible-vault entschlüsselt klassifiziert.txt 
Entschlüsseln Sie eine verschlüsselte Datei

So verschlüsseln Sie bestimmte Variablen in Ansible

Darüber hinaus gewährt Ihnen ein ansible Vault die Möglichkeit, bestimmte Variablen zu verschlüsseln. Dies geschieht mit dem Ansible-Vault Encrypt_string Befehl wie gezeigt.

# Ansible-vault Encrypt_string 
Verschlüsselte spezifische Variablen in Ansible

Ansible Vault fordert Sie für das Passwort auf und verlangt später, dass Sie es bestätigen müssen. Geben Sie als Nächstes den String -Wert ein, den Sie verschlüsseln möchten. Schließlich drücken Sie Strg + d. Danach können Sie den verschlüsselten Wert in einem Spielbuch zuweisen.

Dies kann in einer einzelnen Zeile erreicht werden, wie unten gezeigt.

# Ansible-Vault Encrypt_string 'String' --Name 'Variable_Name' ' 
Weisen Sie im Ansible Playbook verschlüsselte Wert zu

So entschlüsseln Sie während der Laufzeit eine Playbook -Datei

Wenn Sie eine Playbook -Datei haben und sie während der Laufzeit entschlüsseln möchten, verwenden Sie die --Ask-vault-Pass Option wie illustriert.

# Ansible-Playbook-Bereitstellung.YML-Task-Vault-Pass 
Entschlüsseln Sie die Playbook -Datei während der Laufzeit

Dies entschlüsselt alle Dateien, die im Spielbuch verwendet werden, vorausgesetzt, sie wurden mit demselben Passwort verschlüsselt.

Die Passwortaufforderungen können manchmal ärgerlich sein. Diese Eingabeaufforderungen machen die Automatisierung unhaltbar, insbesondere wenn die Automatisierung der Schlüssel ist. Um den Prozess der Entschlüsselung von Playbooks während der Laufzeit zu optimieren, wird empfohlen, eine separate Passwortdatei zu haben, die das Ansible Vault -Passwort enthält. Diese Datei kann dann während der Laufzeit wie gezeigt übergeben werden.

# Ansible-Playbook-Bereitstellung.YML-Vault-Password-Datei/Home/Tecmint/vault_pass.txt 

Dies bringt uns zum Abschluss dieses Themas und der Ansible Automation Series. Wir hoffen, dass die Tutorials nützliche Kenntnisse darüber infundiert haben, wie Sie Aufgaben über mehrere Server von einem zentralen System automatisieren können.