Pocket

というオーバーなタイトルにしましたが、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を使わなくても良さそう。

Pocket

カテゴリー: Ansible

adachin

1989年生まれのSRE。 ホスティングから大規模なアドテクなどのインフラエンジニアとして携わる。好きなツールはAnsible,Terraform,CircleCIで、ECS/Fargateでのインフラ構築を得意とする。個人開発では「夫婦、パートナー向け家事管理サービス/famii」をCakePHP/Laravelで開発中。副業では数社サーバー保守とベンチャー企業のインフラコンサルティングやMENTAで未経験者にインフラのコーチングを実施している。また、「脆弱性スキャナVuls」のOSS活動もしており、自称エバンジェリスト/技術広報/テクニカルサポート/コントリビュータでもある。現在はサービスの信頼性向上、DevOps、可用性、レイテンシ、パフォーマンス、モニタリング、緊急対応、インフラコード化、リファクタリング、セキュリティ強化、新技術の検証、Docker開発環境の提供、AWSでのインフラ構築、GCPでのGKE/Kubernetes保守などを担当している。

0件のコメント

コメントを残す

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