前提
Homebrew, aws-cliは導入済みとして記載します。
手順
Homebrewを使用してaws-vaultを入れる。
brew install --cask aws-vault
aws-vaultにアクセスキーを登録。
パスワードの設定が求められる。
# 以下の "foobar" は任意の文字列
aws-vault add foobar
aws-vaultの情報を使用するように~/.aws/credencials
を設定する。
[default]
credential_process=aws-vault exec -j foobar
挙動を確認。
先ほど設定したパスワードの入力が求められる。
aws s3 ls
以上。簡単&安心ですね。
詳細
Macにはキーチェーンという認証情報管理用のアプリケーションが含まれます。そこでAWSのアクセスキーを管理するためのOSSが今回使用したaws-vaultです。
デザインのクラウドソーシング大手である99designsがメンテしており、2020/07時点でGitHubのスターは3700ほどついており開発も活発です。
備考
以下は便利な使い方です。お好みでご利用ください。
セッションの持続時間を伸ばす
アクセスキーのローテーション
aws-vault rotate -n foobar
STSを用いずアクセスキーをそのまま使う-n
オプションを付加しないと私の環境ではエラーとなりました。
ベストプラクティスとして、アクセスキーは定期的にローテーションしたほうが良いので簡単なエイリアスを作成して気軽にローテーションできるようにしておきましょう。
以下はZ Shellでavr
というエイリアスを貼っています。(aws-vault rotate
の略)
echo "alias avr='aws-vault rotate -n foobar'" >> ~/.zshrc
source ~/.zshrc
ブラウザでログイン
aws-vault login foobar
環境
- sw_vers
- ProductName: Mac OS X
- ProductVersion: 10.15.6
- BuildVersion: 19G73
- aws-vault: v5.4.4
- aws-cli: aws-cli/2.0.32 Python/3.8.4 Darwin/19.6.0 botocore/2.0.0dev35