Ansible ansible-vaultで極秘情報を暗号化せよ

AWSのシークレットキーをgithubで公開して、不正利用されて数十万などという話を聞く。

自分もAWSの操作をAnsibleで行っているので、Ansibleで利用するシークレットキーやパスワードなどの情報をどのように管理するか悩みどころである。

幸いにしてansibleには設定ファイルに書かれた情報を暗号化するansible-vaultというコマンドがある。
これは暗号化に使ったときと同じキー(文字列)を実行時に打ち込むことで、セキュリティを確保しようという仕組みである。

まずは普通の設定ファイルを用意する。ansible-vault encrypt を実行すると元のファイルを上書きしてしまうので注意。普段は暗号化した状態でコミットしておくのがよいだろう。

aws_access_key: HOGEHOGE
aws_secret_key: FUGAFUGAFUGAFUGA

# 暗号化する
ansible-vault encrypt secret.vault

# 編集するときは複合化する
ansible-vault decrypt vars/secret.vault

# 実行時に複合化キーを聞くようにansible.cfgを以下のように設定
[defaults]
ask_vault_pass = True

カテゴリー: Ansible タグ: , パーマリンク

コメントを残す

メールアドレスが公開されることはありません。

Time limit is exhausted. Please reload the CAPTCHA.