CUEBiC TEC BLOG

キュービックTECチームの技術ネタを投稿しております。

AWS CLIを使う時のスイッチロールってめんどくさくないですか?それ1Passwordでうまくいきます!

みなさん、AWS CLIは使ってますか?

みなさん、AWS CLIからスイッチロールって使ってますか?

きっとこの記事を開いたみなさんはAWS CLIを使ったことがあるけれど、 様々な事情によりSSOが使えず、仕方なくMFAの6桁のコードを毎回毎回打っていることかと思います!

この記事を見ればそんなみなさんの疲れた心を癒すことができるでしょう!

前提

  • 1Passwordの利用ができること
  • Mac or Linuxの手順のみ

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】があるので、こちらでどんな人が働いているかを見ることができます!

www.youtube.com

参考記事

developer.1password.com

dev.classmethod.jp