というオーバーなタイトルにしましたが、main.yml内にクレデンシャルやパスワードを指定して、間違えてGitHubのパブリックリポジトリにpushしてAWSから連絡が来たり(プライベートは問題ないけど基本だめ)、パスワード漏洩など事例としてよくあります。そこで、Ansible Vaultを使うことで、暗号化ファイルになり、リポジトリもセキュアになるわけです。とりあえずやってみましょう。


■Ansible Vault

https://docs.ansible.com/ansible/2.7/user_guide/vault.html

ansible自体をインストールすると既にansible-vaultコマンドが使えるはずです。以下がサブコマンドになります。

・ansible-vault create

暗号化されたファイルを作成

・ansible-vault encrypt

既存のファイルを暗号化

・ansible-vault decrypt

暗号化されたファイルを復号化

・ansible-vault edit

暗号化されたファイルを編集

・ansible-vault rekey

パスワードを変更

・ansible-vault view
暗号化されたファイルを復号して PAGER で表示


■encrypt user.yml

[ansible]userモジュールでユーザ作成とパスワードの設定&公開鍵も

だいぶ前に作ったユーザー作成で、パスワードを直書きしていますが、基本的にダメです。このuser.ymlを暗号化してみましょう。

・ansible-vault encrypt (暗号化)

・user.yml

 次は復号化してみましょう。

・ansible-vault decrypt (復号化)

・ansible-playbookで適用する場合

暗号化したファイルをansibleで適用する場合、–ask-vault-pass付けて実行することで反映されます。


■まとめ

ユーザーのパスワードは$ grub-crypt –sha-512ハッシュ化された文字列をymlに書けば、Ansible Vaultを使わなくても良さそう。


カテゴリー: Ansible

adachin

1989年生まれのFindy/SRE。ホスティングから大規模なアドテクなどのインフラエンジニアとして携わる。現在はサービスの信頼性向上、DevOps、可用性、レイテンシ、パフォーマンス、モニタリング、オブザーバビリティ、緊急対応、AWSでのインフラ構築、Docker開発環境の提供、IaC、新技術の検証、リファクタリング、セキュリティ強化、分析基盤の運用などを担当している。個人事業主では数社サーバー保守とベンチャー企業のSREインフラコンサルティングやMENTA/TechBullで未経験者にインフラのコーチング/コミュニティマネージャーとして立ち上げと運営をしている。また、過去「脆弱性スキャナVuls」のOSS活動もしており、自称エバンジェリスト/技術広報/テクニカルサポート/コントリビュータでもある。

0件のコメント

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください