環境
- IdP として Azure AD を利用している
- AWS Identity Center(旧 AWS SSO)で Azure AD を外部プロビジョニング元として設定している
起きた事象
- Azure AD で異なるドメインの外部ユーザを削除してしまった
- AWS Identity Center でも該当の外部ユーザが無効化された
- Azure AD 側で削除した外部ユーザを再招待し、外部ユーザを新規作成した
- AWS Identity Center へのプロビジョニング時に該当のユーザの新規作成に失敗し、SystemForCrossDomainIdentityManagementServiceIncompatibleFiltering というプロビジョニングエラーが発生した。
- その結果、外部ユーザは AWS SSO だけ使えない、という状況が発生した
解決策
- AWS Identity Center 側で該当の外部ユーザを削除し、再プロビジョニングを行って該当のユーザを復活させた
- 外部プロビジョニングを設定している場合、ユーザとグループを作成/変更することは出来ないが、削除することだけは可能である
- AWS Identity Center では外部ユーザが削除された場合、該当のユーザを無効化する。無効化する際にはユーザ名(メールアドレス)を「hieki@example.com」から「a1b2c3d4e5hieki@example.com」のように Azure AD の Object ID を先頭にくっつけた状態に変更してから無効化する。
- そのため、前方一致検索しか対応していない AWS Identity Center のユーザ一覧画面では、メールアドレスだけでは無効化されたユーザを検索する事が出来ない。ユーザ名ではなく、表示名で検索するのが望ましい。
- ユーザ名を「hieki@example.com」から「a1b2c3d4e5hieki@example.com」に変更にしているのだから、「hieki@example.com」が復活した場合は「a1b2c3d4e5hieki@example.com」とは別のユーザとして扱って「hieki@example.com」を新規作成して欲しいが、どのような理由があるかはわからない(恐らくセキュリティリスクの都合だとは思う)がエラーになってしまう。
AWS Identity Center が外部ユーザをどのように扱うかについての情報が少なかったので記録しておく。