aws-vault使ってらくらくAWS CLI
Overview
ローカルからaws cliをセキュアに使いたい人向け
MFAで認証させてから利用します。
※この方法ではMFA用のアクセスキー/シークレットキーを発行します。
※手順はmacOS用です。
事前作業
AWS CLIのインストール
まずはこちらの手順にてaws cliをインストールします。
docs.aws.amazon.com
Session Manager Pluginのインストール
続いても手順にてSession Manager Pluginをインストールします。 docs.aws.amazon.com
aws-vaultのインストール
brew install --cask aws-vault
IAMから対象ユーザのアクセスキー/シークレットキーを発行
IAM
→ ユーザ
→ 対象ユーザ
→ 認証情報タブ
→ アクセスキーの作成
ここで発行したアクセスキー/シークレットキーは控えておく。
MFA用ポリシーを作成
適当な名前で下記アクションが許可されたポリシーを作成し、対象ユーザへポリシーを割り当てる。
※手動で管理しきれないと思うのでCFnで一元管理を推奨。
ResyncMFADevice DeactivateMFADevice EnableMFADevice CreateVirtualMFADevice DeleteVirtualMFADevice
プロファイル作成
aws-vault add プロファイル名
プロファイル名は相応しい命名を。
aws-vault add test Enter Access Key ID: XXX Enter Secret Access Key: YYY Added credentials to profile "test" in vault
XXX: 発行済アクセスキーを入力
YYY: 発行済シークレットキーを入力
そしてプロファイル用の妥当なパスワードを入力。
プロファイルとMFAの紐付け
[profile test] mfa_serial=arn:aws:iam::xxxxxxxxxxxxxxxx:mfa/対象ユーザ
実行方法
aws-vault exec test -- コマンド
で実行できる。
aws-vault exec test -- aws ssm start-session --target 対象インスタンス --region 対象リージョン
初回アクセス時にMFAトークンを入力後、キーチェーンのダイアログが出力されるので登録したパスワードを入力。
あとはssmのコンソールに繋がるので、良しなにご利用ください。