はじめに
AWSシークレットをAWS CLIのコンフィグや環境変数に平文で持たず、安全なキーストアで管理できるようにしたいと考え、aws-vault を導入しました。その際の手順をまとめます。
インストール
macOSの場合は、Homebrewを使用して以下のコマンドでインストールできます。
$ brew install aws-vault
プロファイル作成
インストール完了後、プロファイルを作成し認証情報を登録します。ここでは例として sample というプロファイル名を使用します。
$ aws-vault add sample
Enter Access Key ID: AKIP****************
Enter Secret Access Key: ****************************************
Added credentials to profile "sample" in vault
キーチェーンのパスワードについて 初回実行時は、キーチェーンアクセスのパスワード設定を求められます。今後 aws-vault を経由してシークレット情報を読み出す際に入力が必要になるため、忘れないよう注意してください。
基本的な使い方
設定したプロファイルを使用して、安全にAWS CLIコマンドを実行する方法です。
1. コマンドの実行
exec サブコマンドを使用することで、一時的な認証情報を環境変数にセットしてコマンドを実行できます。
$ aws-vault exec sample -- aws s3 ls
2. 登録されているプロファイルの確認
現在登録されているプロファイルの一覧などの登録情報を確認できます。
$ aws-vault list
まとめ
aws-vault を導入することで、~/.aws/credentials ファイルにアクセスキーを平文で保存する必要がなくなります。セキュリティを手軽に向上させたい方には非常におすすめのツールです。