AWS Toolkit for Visual Studio がMFAに対応したのでクロスアカウントアクセスで試してみた

2021.04.30

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

いわさです。

AWS Toolkit for Visual Studio が バージョン 1.21.0.0から MFA認証に対応しました。
本日はVisual Studio 2019 で MFAを必要とするスイッチロールを利用してみました。

Visual Studioから以下のアクセスを行います。

https://aws.amazon.com/jp/blogs/security/how-do-i-protect-cross-account-access-using-mfa-2/

AWS Tooklit for Visual Studio とは

Visual Studio の拡張機能で、Visual StudioからAWSリソースの操作やデプロイを可能にするツールです。
Visual StudioをIDEとして使い、インフラがAWSである開発環境では必須と言って良い拡張機能です。

セットアップ

Visual Studioのツールメニューから拡張機能を選択します。
"AWS Toolkit for Visual Studio 2017 and 2019" を選択します。

アカウントAとアカウントBがあり、アカウントBにスイッチ用のロールを作成しMFAを要求させておきます。

%USERPROFILE%.awsにcredentialsファイルを以下のような内容で用意します。
defaultプロファイルはアカウントAの認証情報です。

[default]
aws_access_key_id = XXXXXXXX
aws_secret_access_key = hoge/fuga/piyo

[iwasa-role]
mfa_serial = arn:aws:iam::アカウントA:mfa/iwasa.hoge
role_arn = arn:aws:iam::アカウントB:role/iwasa.fuga
source_profile = default

使ってみる

Visual Studioのメニューで "表示" -> "AWS Explorer" を選択します。

AWS Explorerウインドウ内でスイッチロール用のプロファイルを選択します。

MFAの認証ダイアログが表示されました。
MFAコードを入力します。

アカウントBのAWSリソースへ無事アクセスすることが出来ました。

その他

今回のバージョンアップで、AWS SSOも AWS Toolkit for Visual Studio で対応されたようなので、近いうちにそちらも記事にしてみたいと思います。