Amazon CodeWhisperer を IAM Identity Center に統合させて使ってみた

2023.04.06

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

いわさです。

Amazon CodeWhisperer を IDE に統合すると、コーディングの際に機械学習モデルからコードの提案を受けることが出来ます。

IDE 上で CodeWhisperer へ認証を行うのですが、いくつかの認証オプションがあります。
AWS Builder ID か IAM Identity Center を ID プロバイダーとして使用することが出来ます。

AWS Builder ID を使う方法はいくつか記事が見当たりますが、IAM Identity Center で利用する手順を整理したかったので記事にしました。

Amazon CodeWhisperer はプレビューリリース中です。今後変更される場合があります。

マネジメントコンソールからアクセスする CodeWhisperer サービスは IAM Identity Center との統合用

IDE から使う Amazon CodeWhisperer ですが、なぜマネジメントコンソールのメニューとして存在しているのでしょうか。

これは Amazon CodeWhisperer と IAM Identity Center を統合するために存在しています。
次の画面から有効化と IAM Identity Center のユーザ許可のみを行うことが出来ます。

IAM Identity Center と同一リージョンの必要あり

Amazon CodeWhisperer は本日時点でバージニア北部リージョンでのみマネジメントコンソールではアクセス出来ます。
このとき、統合する IAM Identity Center は同じバージニア北部に存在している必要があります。

2023.04.21 追記
Amazon CodeWhisperer はその後 GA となり、最新では IAM Identity Center とのリージョンの兼ね合いは執筆時点と変わっています。GA 後の情報は公式ドキュメントや以下の記事も併せてご確認ください。
https://dev.classmethod.jp/articles/amazon-codewhisperer-ga/

同一リージョンで有効化されていない場合は次のように IAM Identity Center をまず有効化するように要求されます。

有効化すると IAM Identity Center にすぐに統合される

管理者は CodeWhisperer の有効化操作から IAM Identity Center との統合とオプションでユーザーへの許可を行うことが出来ます。
この時点でユーザーは追加せずに後から管理することも可能です。

セットアップ後に、IAM Identity Center のアプリケーション一覧に Amazon CodeWhisperer が追加されていることを確認しました。

次の操作から IAM Identity Center の管理ユーザーを CodeWhisperer へ追加することが出来ます。
それぞれのユーザーは IDE 上で自身のユーザー情報を使って認証を行う形となります。

IDE で IAM Identity Center で認証してみる

今回は Visual Studio Code で試してみたいと思います。
事前に AWS Toolkit for Visual Studio Code をインストール済みです。

AWS Toolkit for Visual Studio のメニューに CodeWhisperer が存在しているので Start メニューを押します。

すると認証に何を使うか問われるので、IAM Identity Center を選択します。
IAM Identity Center を使わない場合は、この時点で AWS Builder ID を選択します。

次に Start URL を入力するよう要求されます。

これは IAM Identity Center の開始 URL のことです。
次から取得が可能です。

URL を入力するとリクエストコードが表示されます。
Copy Code and Proceed ボタンを押すと、ブラウザで IAM Identity Center のサインイン画面が表示されるのでサインインしましょう。
なお、既にブラウザでサインイン済みの場合はこのサインインするステップが省略される場合があります。

サインイン後リクエストコード入力欄が表示されるので、先程コピーしたリクエストコードを入力します。

コード入力後、AWS Toolkit for Visual Studio に CodeWhisperer に関する認可許可を行う画面が表示されるので許可を行います。
なお、Detail リンクから許可する内容をよく確認し、ご判断ください。

許可されたらブラウザの操作は完了です。

AWS Toolkit for Visual Studio Code のいくつかの機能は IAM Identity Center に対応していません。
その場合にプロファイルを使うか切り替えるかを選択出来ます。私は Yes を選択しました。

先程の Start メニューが Pause Auto-Suggestions に変わっていれば IDE との統合は成功です。

コードを提案してもらう

以下を参考にコメントを入力して、コードを自動生成してもらってみましょう。

適当な Python コードを用意しました。
IDE の下部のバーを見ると CodeWhisperer が有効になっていることが確認出来ます。

参考にした記事のように、コメントと def キーワードを入力します。
そうすると先程の CodeWhisperer アイコンがロード中のアイコンになりました。何かを考えているようです。

少しすると提案コードが表示されました。
うまくいきましたね。

さいごに

本日は Amazon CodeWhisperer を IAM Identity Center に統合させて使ってみました。

先日 Supply Chain と IAM Identity Center を統合する際にも同一リージョンで有効化する必要がありましたが、こちらも同じでしたね。
IAM Identity Center は一つのリージョンでしか有効化が出来ないので覚えておきましょう。

プレビュー終了後に CodeWhisperer がもし東京リージョンで利用出来るようになれば、既存の東京リージョンの IAM Identity Center でも利用出来そうです。