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

あだちん

1989年生まれ。 ランサーズ/SRE。 ホスティングから大規模なアドテクなどのインフラエンジニアとして携わり、他社インフラレスポンス改善、ランサーズでの副業、ansibleでのインフラコード化を推進し、未経験によるエンジニアのMENTAなども実施している。また、「脆弱性スキャナVuls」のOSS活動もしており、自称エバンジェリスト/広報/VulsRepo init file,chatwork通知のコントリビュータでもある。現在はDocker開発環境の提供,AWSで新サービスのインフラ構築,PHPバージョンアップ,分析基盤を担当しておりDigdag,embulk,BigQueryを使いこなし中。

コメントを残す

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