このブログ記事は、公式ドキュメント「Configure the AWS CLI with IAM Identity Center authentication」を参考にしています。基本的には公式を参照していただきたいのですが、特にユーザー作成の部分で分かりづらい点があったため、詳細にまとめました。自分自身の理解を深め、後で見返したときに分かりやすくするために、以下のように整形・整理しました。
目次
- 目次
- 1. IAM Identity Centerの設定
- 2. AWS CLIを設定して新しいユーザーに割り当てる
- 3. まとめ
- 4. 追加情報: SSO Start URLとSSO Regionの確認方法
1. IAM Identity Centerの設定
公式ドキュメントではユーザー作成の詳細が分かりにくかったため、以下に具体的な手順を示します。
手順 1: IAM Identity Centerを有効にする
- AWS管理コンソールにサインイン
- AWSの管理コンソールにサインインします。
- IAM Identity Centerを探す
- 検索バーに「IAM Identity Center」と入力し、サービスを開きます。
手順 2: ユーザーを追加する
- ユーザーの追加ページに移動
- IAM Identity Centerのメニューから「ユーザー」を選択し、「ユーザーの追加」をクリックします。
- ユーザー情報を入力
- プライマリ情報
- ユーザー名: workday_worker
- パスワード: 「パスワードの設定手順が記載されたEメールをこのユーザーに送信します」を選択
- Eメールアドレス: hogehoge@example.ne.jp
- 名: (任意で入力)
- 姓: (任意で入力)
- 表示名: (任意で入力)
- プライマリ情報
- グループを選択(オプション)
- 必要に応じて、ユーザーを特定のグループに割り当てます(例: 管理者、開発者グループなど)。
手順 3: アクセス許可を設定する
- アクセス許可セットを作成
- 「マルチアカウントのアクセス許可 > 許可セット」で新しい許可セットを作成します。
- 例: S3DynamoDBAccessというカスタム許可セットを作成。
- ポリシーの詳細を定義する
- AmazonDynamoDBFullAccess
- タイプ: AWS マネージド
- 説明: Amazon DynamoDBへのフルアクセスを提供
- AmazonS3FullAccess
- タイプ: AWS マネージド
- 説明: すべてのS3バケットへのフルアクセスを提供
- AmazonDynamoDBFullAccess
- 「マルチアカウントのアクセス許可 > 許可セット」で新しい許可セットを作成します。
- アクセス許可の確認と割り当て
- 「マルチアカウントのアクセス許可 > AWSアカウント」で「ユーザーまたはグループを割り当て」をクリック。
- 「ユーザー」タブから対象のユーザーを選択し、「次へ」をクリック。
- 「許可セット」で先ほど作成した許可セットを選択し、「次へ」をクリック。
- 送信して割り当てを完了します。
手順 4: AWS SSO URLを提供する
- サインインリンクを共有
- ユーザー作成後、IAM Identity Centerはサインイン用のURLを生成します。
- このリンクをユーザーに共有し、AWS環境にサインインしてもらいます。
- ユーザーは最初のサインイン時にパスワードを設定する必要があります。
2. AWS CLIを設定して新しいユーザーに割り当てる
手順 1: AWS CLIのインストール
- AWS CLIをインストール
-
Mac/Linuxの場合:
curl "<https://awscli.amazonaws.com/AWSCLIV2.pkg>" -o "AWSCLIV2.pkg" sudo installer -pkg AWSCLIV2.pkg -target /
-
Windowsの場合:
- 公式ガイドに従ってインストールします。
-
手順 2: AWS CLIでIAM Identity Centerを設定する
-
AWS CLIの設定を開始
aws configure sso
-
プロンプトに従って情報を入力
SSO session name (Recommended): my-sso-session SSO start URL [None]: <https://d-xxxxxxxxxx.awsapps.com/start> SSO region [None]: ap-northeast-1 SSO registration scopes [sso:account:access]:
- SSO session name: 任意のセッション名を入力(例: my-sso-session)
- SSO start URL: IAM Identity Centerの「AWS アクセスポータルのURL」を入力
- SSO region: IAM Identity Centerが設定されているリージョンを入力(例: ap-northeast-1)
- SSO registration scopes: デフォルトで問題なければそのままEnterキーを押す
-
ユーザーIDとパスワードの入力
- ブラウザが自動的に開き、ユーザーの認証情報(Eメールとパスワード)を入力します。
手順 3: AWSリソースにアクセス
- アクセス確認
- 設定が完了したら、以下のコマンドでS3バケットの一覧を確認します。
aws s3 ls
- バケットのリストが表示されれば、設定は成功です。
3. まとめ
- IAM Identity Centerを有効化し、新しいユーザーを作成
- ユーザーに必要なアクセス権限を付与します。
- AWS CLIを設定
- ユーザーがAWS CLIでログインし、リソースにアクセスできるように設定します。
4. 追加情報: SSO Start URLとSSO Regionの確認方法
公式ドキュメントではこの部分が詳細に説明されていないため、補足します。
SSO Start URLの確認方法
- AWS管理コンソールにサインイン
- 管理者権限でAWS管理コンソールにサインインします。
- IAM Identity Centerのページに移動
- 検索バーで「IAM Identity Center」と検索し、サービスを開きます。
- SSOの開始URLを確認
- IAM Identity Centerのダッシュボードにある「AWS アクセスポータルのURL」を確認します。
-
URL形式:
https://d-xxxxxxxxxx.awsapps.com/start
- CLIプロンプトに貼り付け
aws configure sso
のプロンプトで、このURLを入力します。
SSO Regionの設定について
- SSOリージョンの確認
- IAM Identity Centerが設定されているリージョンを確認します。
- リージョンを入力
aws configure sso
のプロンプトで、確認したリージョンコードを入力します。-
例:
SSO region [None]: ap-northeast-1