Verwendung von Ansible Vault in Playbooks zum Schutz sensibler Daten – Teil 10

Während Sie Ansible verwenden, müssen Sie möglicherweise einige vertrauliche oder geheime Informationen in Playbooks eingeben. Dies umfasst private und öffentliche SSH-Schlüssel, Kennwörter und SSL-Zertifikate, um nur einige zu nennen. Wie wir bereits wissen, ist es aus offensichtlichen Gründen eine schlechte Praxis, diese vertraulichen Informationen im Klartext zu speichern. Diese Informationen müssen unter Verschluss gehalten werden, da wir uns nur vorstellen können, was passieren würde, wenn Hacker oder nicht autorisierte Benutzer darauf zugreifen würden.

Zum Glück bietet uns Ansible eine praktische Funktion, die als bekannt ist Ansible Vault. Wie der Name schon sagt, ist die Ansible Vault hilft dabei, wichtige geheime Informationen zu sichern, wie wir bereits besprochen haben. Ansible Vault kann Variablen oder sogar ganze Dateien und YAML-Playbooks verschlüsseln, wie wir später zeigen werden. Es ist ein sehr praktisches und benutzerfreundliches Tool, für das beim Ver- und Entschlüsseln von Dateien dasselbe Kennwort erforderlich ist.

Lassen Sie uns nun eintauchen und einen Überblick über die verschiedenen Operationen erhalten, die mit ausgeführt werden können Ansible Tresor.

So erstellen Sie eine verschlüsselte Datei in Ansible

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

# ansible-vault create filename

Zum Beispiel, um eine verschlüsselte Datei zu erstellen mysecrets.yml Führen Sie den Befehl aus.

# ansible-vault create mysecrets.yml


Anschließend werden Sie aufgefordert, ein Kennwort einzugeben. Nach der Bestätigung wird mit dem vi-Editor ein neues Fenster geöffnet, in dem Sie mit dem Schreiben Ihrer Stücke beginnen können.

Erstellen Sie eine verschlüsselte Datei in Ansible
Erstellen Sie eine verschlüsselte Datei in Ansible

Nachfolgend finden Sie einige Beispiele. Sobald Sie fertig sind, speichern Sie einfach das Playbook und beenden Sie es. Und genau darum geht es beim Erstellen einer verschlüsselten Datei.

Verschlüsselte Datei in Ansible
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
Überprüfen Sie die verschlüsselte Datei in Ansible

So zeigen Sie eine verschlüsselte Datei in Ansible an

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

# ansible-vault view mysecrets.yml

Sie werden erneut zur Eingabe eines Passworts aufgefordert. Sie haben wieder Zugriff auf Ihre Informationen.

Verschlüsselte Datei in Ansible anzeigen
Verschlüsselte Datei in Ansible anzeigen

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 edit mysecrets.yml

Geben Sie wie immer das Passwort ein und bearbeiten Sie anschließend die Datei.

Bearbeiten Sie die verschlüsselte Datei in Ansible
Bearbeiten Sie die verschlüsselte Datei in Ansible

Speichern und beenden Sie den vim-Editor, nachdem Sie die Bearbeitung abgeschlossen haben.

So ändern Sie das Ansible Vault-Passwort

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

# ansible-vault rekey mysecrets.yml
Ändern Sie das Ansible Vault-Passwort
Ändern Sie das Ansible Vault-Passwort

Dadurch werden Sie zur Eingabe des Tresorkennworts aufgefordert und später aufgefordert, das neue Kennwort einzugeben und später zu bestätigen.

So verschlüsseln Sie eine unverschlüsselte Datei in Ansible

Angenommen, Sie möchten eine unverschlüsselte Datei verschlüsseln, indem Sie die Datei ausführen Ansible-Vault-Verschlüsselung Befehl wie gezeigt.

# ansible-vault encrypt classified.txt
Verschlüsseln Sie eine unverschlüsselte Datei
Verschlüsseln Sie eine unverschlüsselte Datei

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

Verschlüsselte Datei anzeigen
Verschlüsselte Datei anzeigen

So entschlüsseln Sie eine verschlüsselte Datei

Um den Inhalt einer verschlüsselten Datei anzuzeigen, entschlüsseln Sie die Datei einfach mit Ansible-Vault-Verschlüsselung wie im folgenden Beispiel dargestellt.

# ansible-vault decrypt classified.txt
Entschlüsseln Sie eine verschlüsselte Datei
Entschlüsseln Sie eine verschlüsselte Datei

So verschlüsseln Sie bestimmte Variablen in Ansible

Darüber hinaus können Sie mit Ansible Vault bestimmte Variablen verschlüsseln. Dies geschieht mit dem ansible-vault encrypt_string Befehl wie gezeigt.

# ansible-vault encrypt_string 
Verschlüsselte spezifische Variablen in Ansible
Verschlüsselte spezifische Variablen in Ansible

Ansible Vault fordert Sie zur Eingabe des Kennworts auf und fordert Sie später auf, es zu bestätigen. Geben Sie als Nächstes den Zeichenfolgenwert ein, den Sie verschlüsseln möchten. Zum Schluss drücken Sie ctrl + d. Danach können Sie beginnen, den verschlüsselten Wert in einem Playbook zuzuweisen.

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

# ansible-vault encrypt_string 'string' --name 'variable_name'
Weisen Sie im Ansible Playbook einen verschlüsselten Wert zu
Weisen Sie im Ansible Playbook einen verschlüsselten Wert zu

So entschlüsseln Sie eine Playbook-Datei zur Laufzeit

Wenn Sie eine Playbook-Datei haben und diese zur Laufzeit entschlüsseln möchten, verwenden Sie die --ask-vault-pass Option wie abgebildet.

# ansible-playbook deploy.yml --ask-vault-pass
Entschlüsseln Sie die Playbook-Datei während der Laufzeit
Entschlüsseln Sie die Playbook-Datei während der Laufzeit

Dadurch werden alle im Playbook verwendeten Dateien entschlüsselt, sofern sie mit demselben Kennwort verschlüsselt wurden.

Die Passwortabfragen können manchmal ärgerlich sein. Diese Eingabeaufforderungen machen die Automatisierung unhaltbar, insbesondere wenn die Automatisierung der Schlüssel ist. Um das Entschlüsseln von Playbooks zur Laufzeit zu vereinfachen, wird empfohlen, eine separate Kennwortdatei zu verwenden, die das Ansible-Tresorkennwort enthält. Diese Datei kann dann zur Laufzeit wie gezeigt übergeben werden.

# ansible-playbook deploy.yml --vault-password-file  /home/tecmint/vault_pass.txt

Dies bringt uns zum Abschluss dieses Themas und der Ansible-Automatisierungsserie. Wir hoffen, dass die Tutorials einige nützliche Kenntnisse darüber vermittelt haben, wie Sie Aufgaben auf mehreren Servern von einem zentralen System aus automatisieren können.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *