LoginSignup
1
1

AWS CLIの認証をIAM Identity Centerのユーザ認証で行う

Last updated at Posted at 2023-12-07

はじめに

丁寧なインターネット生活を、にわのわです。

新しくパソコンをセットアップしていく過程でいつものようにアクセスキーを登録しようとしたら、
こんな画面に出会いました。
image.png

AWS CLI V2 を使用し、IAM Identity Center のユーザーによる認証を有効にします。

これを試していこうと思います。

SSO トークンプロバイダー設定

AWS IAM Identity Centerを使用して CLIでユーザ認証を行うには方法は以下の2つだそうです。
特にこだわりはないので推奨された方法で設定していきます。

(推奨) SSO トークンプロバイダー設定。SSO トークンプロバイダー設定、AWS SDK、またはツールは、更新された認証トークンを自動的に取得できます。
更新不可のレガシー設定。更新不可のレガシー設定を使用する場合、トークンは定期的に期限切れになるため、手動で更新する必要があります。

IAM Identity Centerの設定

ダッシュボードからユーザーを追加していきます。
操作はバージニア北部(us-east-1)で実施してください。

こうなった

東京リージョンでIAM Identity Centerを有効化すると
許可セットやAWSアカウントの選択ができなくなる
image.png
image.png

image.png

ユーザーを追加

入力が必要な項目は以下です。
ユーザー名 : よしなに
パスワード : パスワードの設定手順が記載された E メールをこのユーザーに送信します。にチェック
Eメールアドレス : よしなに
Eメールアドレスを確認 : よしなに
名 : よしなに
姓 : よしなに
表示名 : よしなに
image.png

お問い合わせ方法以降の設定はデフォルトのままとしました。

グループ追加

今回はそのまま次へを押してグループは作成しませんでした。

image.png

ユーザーの確認と追加

今まで入力してきた項目が合っているか確認します。
問題なければ次へ
image.png

ユーザーの有効化

先ほど入力したメールアドレス宛によくあるタイプのメールが届いています。
Accept invitationをクリックしてユーザーを有効化します。

こんな感じの画面に飛ぶのでパスワードを設定
image.png

設定が終わったら再度ログインしてMFAを設定します。
MFAは各々で設定してください。

許可セットを作成

ダッシュボードから許可セットを作成します。
マルチアカウント許可 -> 許可セット -> 許可セットを作成
以下を設定して次へ

  • 許可セットのタイプ : 事前定義された許可セット
  • 事前定義された許可セットのポリシー:AdministratorAccess

image.png

セッション期間をよしなに変更して次へ
(自分の場合は8時間にしました。)

image.png

確認して次へ

image.png

許可セットの割り当て

作成した許可セットを割り当てます。
マルチアカウント許可 -> AWSアカウント -> ユーザーまたはグループを割り当て

  1. 先程作成したユーザーを選択して次へ
  2. 先ほど作成した許可セットを選択して次へ
  3. 確認して送信

AWS CLIの設定

次にAWS CLIの設定を行います。

aws configure sso
  • SSO session name (Recommended): my-sso
  • SSO start URL [None]: https://my-sso-portal.awsapps.com/start
    URLはダッシュボードから確認できる
    名称未設定2.png
  • SSO region [None]: us-east-1
  • SSO registration scopes [None]: sso:account:access

ブラウザが立ち上がるので、ログインを行う。
以下のように表示されればOK。

The only AWS account available to you is: hogehoge
Using the account ID hogehoge
The only role available to you is: AdministratorAccess
Using the role name "AdministratorAccess"

続いてCLIの設定を行います。
profile nameをデフォルトにすることで優勝できます。

CLI default client Region [None]: ap-northeast-1
CLI default output format [None]: yaml-stream
CLI profile name [123456789011_ReadOnly]: default

最後にaws s3 ls を実行してうまく動作すれば終了です。

おわりに

東京リージョンでIAM Identity Centerを有効化すると云々、他のサービスでもハマりそう...

参考

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1