みなさん、AWS CLIからスイッチロールって使ってますか?
きっとこの記事を開いたみなさんはAWS CLIを使ったことがあるけれど、 様々な事情によりSSOが使えず、仕方なくMFAの6桁のコードを毎回毎回打っていることかと思います!
この記事を見ればそんなみなさんの疲れた心を癒すことができるでしょう!
前提
1PassowrdのCLI設定
Macの場合はHomebrew、Linuxの場合はaptやyumなどからパッケージをダウンロードします!
# Macの場合 $ brew install 1password-cli # aptの場合 $ sudo apt update && sudo apt install 1password-cli # yumの場合 $ sudo dnf check-update -y 1password-cli && sudo dnf install 1password-cli
こちらのコマンドでバージョン情報が表示されればOKです!
$ op -v 2.24.0
1Passwordデスクトップアプリとの連携
1Password CLIとデスクトップアプリとの連携を行います! コマンドを実行すると「デスクトップアプリとの統合を許可する?」と聞かれるのでもちろん「yes」と回答します。
$ op signin Would you like to turn on the 1Password app integration? This allows you to sign in to 1Password CLI using the 1Password app. [Y/n] y
そうするとこのような画面が自動で出てくるので、 赤枠の「1Password CLIとの連携」にチェックを入れます。
チェックを入れると本当に許可して良いかと聞かれるので、指紋認証で許可してあげましょう!
AWS CLIと1Passwordを接続するプラグインを設定
1Password CLIのプラグインとしてAWS CLIと連携するものがあるのでそちらをセットアップします。
$ op plugin init aws
AWSのアクセスキーを1Passwordに保存するように言われるので手順に従って進めます。
AWS CLI Authenticate with AWS Access Key. ? Locate your AWS Access Key: Import into 1Password... #ローカルPCにあるアクセスキーを1Passwordに取り込む ? Import value from: File ~/.aws/credentials # 1Passwordに取り込む対象のプロファイルを選択 ? Enter a name to save it in 1Password [default: "AWS Access Key"]: # 1Passwordにアクセスキーを保存する時の名前 ? Select the vault to save the Access Key in: Expand vault search #1PasswordのどこのVaultに保存するか(Vaultの一覧から探す) ? Select the vault to save the Access Key in: #1PasswordのどこのVaultに保存するか ✔ Securely saved "AWS Access Key" in 1Password!
最後に選択した認証情報をどのように使用するか聞かれるので、自身のPCのグローバルな設定として登録する設定を行います。
? Configure when the chosen credential(s) will be used to authenticate: Use as global default on my system # 自身のPCのグローバルな設定として登録する $ echo "source /Users/xxxxxxxx/.config/op/plugins.sh" >> ~/.zshrc && source ~/.zshrc
MFA情報を1Passwordに入力
前のステップでアクセスキーを登録したものの、肝心のMFA情報はまだ登録されていないのでそちらを登録していきます。 登録する際、ラベルが日本語で「ワンタイムパスワード」となってしまうので、そちらを英語に「One-Time Password」修正します。
こちらで設定は完了になります!
最後に認証情報を取得してみてください!こちらが無事に取得できれば成功です!
$ aws sts get-caller-identity
まとめ
ということで、AWS CLIのMFAコードを1Passwordを介して楽に入力する方法の手順を紹介してきました。 開発者の方だとServerless Frameworkなどを利用していると都度MFAが要求されるなど意外と大変だったりすると思うので、こちらを利用して快適になれば幸いです。
さいごに
キュービックでは、一緒に働いてくれる仲間を募集しています。興味がある方はカジュアル面談Webエンジニアから応募をお願いします。ご応募お待ちしております。 herp.careers
また、エンジニアチームが運営しているYoutubeチャンネル【TEC TV】があるので、こちらでどんな人が働いているかを見ることができます!