LINEで送る
Pocket

というオーバーなタイトルにしましたが、
main.yml内にクレデンシャルやパスワードを指定して、間違えてpublicのリポジトリに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

 これは暗号化されてて無理ゲー

ちなみに私のリポジトリも上記のように暗号化しております。

https://github.com/RVIRUS0817/ansible_blog.adachin.me/blob/master/roles/common/tasks/user.yml

・ansible-vault decrypt (復号化)

 これで元のファイルに戻る

・ansible-playbook

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


■まとめ

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

LINEで送る
Pocket

カテゴリー: Ansible

adachin

1989年生まれのSRE。 ホスティングから大規模なアドテクなどのインフラエンジニアとして携わり、AnsibleやTerraformでのインフラコード化を推進。副業では数社サーバー保守、未経験によるエンジニアのメンターなども実施している。また、「脆弱性スキャナVuls」のOSS活動もしており、自称エバンジェリスト/技術広報/テクニカルサポート/コントリビュータでもある。現在はサービスの信頼性向上、可用性、レイテンシ、パフォーマンス、モニタリング、緊急対応、インフラコード化、リファクタリング、セキュリティ強化、新技術の検証、Docker開発環境の提供、AWSでのインフラ構築、Wordpressによるコーポレートサイトの修正、メンター、分析基盤の運用を担当している。

0件のコメント

コメントを残す

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