0Pricing
DevOps Bootcamp · レッスン

ansible-vault create でファイルを暗号化する

Secrets ファイルを完全に保護します。

「ansible-vault create でファイルを暗号化する」はCoddyKit上の無料DevOps Bootcampレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはDevOps Bootcamp学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 DevOps Bootcampコースには全4レッスンが含まれています。

平文のYAMLにシークレット?

プレイブックはGitに保存されるため、データベースのパスワードを平文のvarsに置くと、いつ漏えいしてもおかしくありません。保存時の暗号化が必要です。🔒

Ansible Vaultの紹介

Ansible Vaultはファイルや変数を暗号化するため、シークレットを安全にコミットできます。Ansibleは実行時にのみ復号します。

暗号化ファイルを作成する

ansible-vault createコマンドを使うと、最初の入力から暗号化される新しいファイルを作成できます。

ansible-vault create secrets.yml

Vaultのパスワードを設定する

作成時に、Vaultはパスワードの入力を2回求めます。この1つのパスフレーズで、ファイルをロックし、後からロックを解除します。

New Vault password:
Confirm New Vault password:

エディターで編集する

パスワードを入力すると、Vaultは$EDITORを開き、平文のバッファーを表示します。ここでは通常のYAMLとしてシークレットを入力してください。

db_password: s3cr3t
api_key: AKIA123EXAMPLE

保存時に暗号化される

保存して終了すると、Vaultはバッファー全体を暗号化します。ディスク上のファイルは暗号文になり、入力した平文が残ることはありません。

ファイルの見た目

暗号化されたファイルは$ANSIBLE_VAULTヘッダーで始まり、その後にバージョン、暗号方式、16進数のデータが続きます。このヘッダーによって、Ansibleは復号すべきファイルだと判断します。

$ANSIBLE_VAULT;1.1;AES256
66386439653...
3935613...

内部ではAES256を使用

VaultはAES256の共通鍵暗号方式を使用します。強度は完全にパスワードに依存するため、長くて一意のパスワードを選んでください。

既存のファイルを暗号化する

すでに平文のファイルがありますか。ansible-vault encryptを使えば、新しく作り直さず、その場で暗号化できます。

ansible-vault encrypt vars/prod.yml

安全にコミットできる

内容が暗号文になっているため、secrets.ymlをGitにコミットできます。パスワードを持たない人には意味のない文字列しか見えません。

git add secrets.yml
git commit -m "Add vaulted secrets"

Vaultファイルを整理する

よくある構成では、シークレットをgroup_vars内のvault.ymlに置き、その隣に参照先を示す平文のvars.ymlを配置します。

group_vars/
  all/
    vars.yml
    vault.yml

クイックチェック

最初から暗号化された新しいシークレットファイルが必要です。

まとめ

ansible-vault createを使って、AES256で暗号化されたシークレットファイルを作成しました。ファイルには$ANSIBLE_VAULTヘッダーが付いており、安全にコミットできます。✨

よくある質問

「ansible-vault create でファイルを暗号化する」レッスンは無料ですか?

はい。「ansible-vault create でファイルを暗号化する」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、DevOps Bootcampコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 DevOps Bootcampコースには全4レッスンが含まれています。

「ansible-vault create でファイルを暗号化する」で何を学びますか?

Secrets ファイルを完全に保護します。 ブラウザで直接実行するハンズオンコードでDevOps Bootcampを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

DevOps Bootcampを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのDevOps Bootcampは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。

「ansible-vault create でファイルを暗号化する」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このDevOps Bootcampレッスンでコードを書いて実行できますか?

はい。すべてのDevOps Bootcampレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. ansible-vault create でファイルを暗号化する
  2. Vault ファイルの編集・表示・再暗号化
  3. 単一の変数をインラインで暗号化する
  4. --ask-vault-pass で実行時に復号する
← DevOps Bootcampに戻る