はじめに

この記事では、組織レベルでの利用を管理したい方向けのProfessional版をIAM Identity Centerで認証する手順と注意事項について記載します。

料金

CodeWhispererには、個人開発者向けの無料のIndividual版と、組織レベルでの利用を管理したい方向けのProfessional版があります。
Professional版は1ユーザーあたり$19/月で利用できます(2023年9月現在)。

参考:Amazon CodeWhisperer の料金

前提条件

CodeWhispererを利用するためには、まずIAM Identity Centerを有効にする必要があります。その後、CodeWhispererのコンソールでIdentity Centerユーザーに対してアクセス権限を設定します。

CodeWhispererをセットアップする際には、以下のアクションへのアクセス許可が必要です。

  • codewhisperer:ListProfiles
  • codewhisperer:CreateProfile
  • codewhisperer:TagResource
  • codewhisperer:ListTagsForResource

参考:Amazon CodeWhisperer で定義されるアクション

[補足]2023年9月現在、CodeWhispererはバージニア北部リージョンのみで利用可能です。

バージニア北部リージョン以外でIAM Identity Centerが有効になっている場合、IAM Identity Centerのコンソールをバージニア北部リージョンで開いた際に以下のエラーメッセージが表示されます。しかし、設定はリージョンをまたがって行えるため、IAM Identity Centerの設定を削除してバージニア北部リージョンで再設定する必要はありません。

今回の実施条件は以下の通りです。

  • バージニア北部リージョンでCodeWhispererを有効にする
  • 東京リージョンでIAM Identity Centerを有効にする
  • 東京リージョンのIAM Identity Centerのユーザーにアクセス許可を付与する

IAM Identity Center は現在 Asia Pacific (Tokyo) リージョンで設定されています
AWS Organizations は、一度に 1 つの AWS リージョンでのみ、IAM Identity Center をサポートします。このリージョンで IAM Identity Center を有効にするには、最初に Asia Pacific (Tokyo) リージョンの現在の IAM Identity Center 設定を削除する必要があります。 詳細については、「IAM Identity Center の前提条件 」を参照してください。

セットアップの手順

①AWSコンソール側での作業

①-1. Amazon CodeWhispererの「Get started」をクリック

「IAM Identity Centerを委任されたメンバーアカウント」または「管理アカウント」にログインし、バージニア北部リージョンでCodeWhispererを開いて、「Get started」をクリックします。

①-2. Identity Centerユーザーにアクセス権を付与

「Users」または「Groups」のタグから、CodeWhispererへのアクセス権を付与したい対象(東京リージョンのIAM Identity Centerのユーザー/グループ)を選択し、画面下部にある「Set up CodeWhisperer」ボタンをクリックします。

アクセス許可が付与されたIdentity CenterユーザーがAWSポータルサイトにログインすると、CodeWhispererのアイコンが表示されるようになります。

アクセス管理可能なアカウント

CodeWhispererコンソールでアクセス管理を行えるのは、以下の2つのアカウントのみです。

  • 管理アカウント
  • IAM Identity Centerを委任されたメンバーアカウント

CodeWhispererのアクセス件を付与できる対象

CodeWhispererのアクセス権を付与できるのは、IAM Identity Centerのユーザー/グループのみです。IAMユーザーにはアクセス権を付与できません。

②Visual Studio Code側での作業

②-1. AWS Toolkit をインストール

Visual Studio Code に 拡張機能の AWS Toolkit をインストールします。
参考:AWS Toolkit for Visual Studio Code のインストール

公式ドキュメントに以下の記載がありますので、念のため作業を進める前に最新バージョンのIDEとAWS Toolkitを使用していることを確認してください。

Before you proceed, make sure that you are using the latest version of both your IDE and the AWS Toolkit.
[訳]作業を進める前に、ご利用のIDEとAWS Toolkitの最新バージョンを使用していることを確認してください。

参考:Setting up CodeWhisperer for individual developers

今回の実施には以下のバージョンを使用しました。

- AWS Toolkit:v1.81.0
- Visual Studio Code:1.80.0 (Universal)

②-2. 認証作業

1. AWS Toolkit のアイコンをクリックし、CodeWhisperer内の「Start」をクリックして、「CodeWhisperer: AI-powered code suggestions」を選択します。

2. 「Start URL」を入力し、Identity Centerを設定しているリージョンを選択して、「Sign In」をクリックします。
「Start URL」はAWSポータルサイトのURLです。Identity Centerのコンソールから確認できます。

[注意]VS Code側で認証する際に選択するリージョンはIAM Identity Centerを有効化したリージョンです。その他のリージョンを選択すると、Codewhispererの画面上で「Invalid grant provided」というエラーメッセージが表示されます。

3.  「Copy Code and Proceed」をクリックします。

4. 「開く」をクリックします。

5. 先程コピーしたコードを貼り付けて「Next」をクリックします。

6. ユーザー名とパスワードを入力して「サインイン」をクリックします。

[注意]AWSポータルサイトにログインした状態だと、ログイン中のユーザーで認証が自動的に行われるので、ユーザー名とパスワードの入力は省略されます。
異なるユーザーで認証を行いたい場合は、AWSコンソールではなく、 IAM Identity CenterのAWSポータルサイトからサインアウトしておく必要があります。

7. 「Allow」をクリックします。

認証が成功すると以下の画面になります。このウィンドウは閉じてOKです。

[注意]Codewhispererへのアクセス許可がないユーザーで認証を行った場合は「Failed to setup」というエラーメッセージが表示されます。

8. Visual Studio Codeに以下の表示が出るので、「Yes, keep using IAM Identity Center (d-xxxxx) with CodeWhisperer while using profi…」をクリックします。

接続できると、以下のように表示されます。

さいごに

Professional版のAmazon CodeWhispererをIAM Identity Centerと連携させて認証まで行いました。
注意点としては、AWSポータルサイトにログインした状態だと、ログイン中のユーザーで認証が自動的に行われるので、IAM Identity CenterのAWSポータルサイトからサインアウトしておく必要があります。
この記事が誰かのお役に立てれば幸いです。