この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
AWS IAM Identity Center のユーザー作成を、API(AWS CLIなど)を活用して 効率化したいケースがあると思います。
ただデフォルトの設定では、APIから作成されたユーザーは パスワードが設定されていないので、サインインできません。
これを解消するにはコンソールの [設定] > [認証] > [標準認証] > [E メールの OTP を送信] を有効化する必要があります。
…伝えたいことは以上ですが、これだけでは物足りないので 実際にその設定を有効化してみます。また、ユーザー作成時の挙動も確かめてみました。
設定の有効化
IAM Identity Center コンソールの [設定 > 認証] ページに 「標準認証」 という項目があります。そこの [設定] を選択します。
[E メールの OTP を送信] にチェックを入れて [保存] しましょう。
設定は以上です。
試してみる
AWS CLIで新規ユーザーを作成します。 以下のようなコマンドを実行しました。
EMAIL="kurameso.taro@example.com"
FAMILY_NAME="Kurameso"
GIVEN_NAME="Taro"
USER_NAME="${EMAIL}"
DISPLAY_NAME="${FAMILY_NAME}_${GIVEN_NAME}"
STORE_ID=$(aws sso-admin list-instances --query "Instances[0].IdentityStoreId" --output text)
# CreateUser
aws identitystore create-user \
--identity-store-id "${STORE_ID}" \
--user-name "${USER_NAME}" \
--display-name "${DISPLAY_NAME}" \
--name FamilyName="${FAMILY_NAME}",GivenName="${GIVEN_NAME}" \
--emails Value="${EMAIL}",Type=work,Primary=true
その後、IAM Identity Center のAWSアクセスポータルへ接続します。 新規指定したユーザー名を入力しましょう。
すると「追加の検証が必要です」画面が出てきます。
この時点で該当メールアドレス宛にOTP(ワンタイムパスワード)が届いているはず。表示されたOTPを入力しましょう。 ※ OTPの有効期限は10分です。期限切れの場合は [コードを含むEメールを再送信] をクリックしてください。
「パスワードを選択」画面に遷移します。 Eメールアドレスは正常に検証されました
とでてくればOKです。 新規パスワードを設定してもらいましょう。
無事サインインできました。
おわりに
以上、AWS IAM Identity Center のOTP(ワンタイムパスワード)設定でした。 CreateUser APIを使って、ユーザー作成を効率化したい際には、有効化しておきたい項目です。