Azure ADとAWS SSOの間で一部ユーザだけ自動プロビジョニングに失敗したので対処した

正直、とても希な事象と思います。が、書いておかないと忘れそうなので残しておきます。

起こったこと

Azure ADの自分のテナントにいるユーザと、外部招待したユーザのメールアドレスの@マークよりも前が全く一緒の文字列だった。
そのためSCIMのExternalID属性が重複してしまってユーザ作成がエラーになって止まってしまう。

概要図

fabri.comのAzure ADでAWS SSO連携を設定している。

この状態で、外部招待ユーザのtanaka.taroと自社テナントにいるtanaka.taroを同時にAWS SSOに連携しようとすると、片方が重複しているユーザ扱いになって登録に失敗する。(※Azure ADのプロビジョニングログには重複していることが表示されない or 詳細メッセージのResponse Stringsの中に埋もれているので非常に気づかれにくい)

対処:自動プロビジョニングの設定を変更する

Azure ADのエンタープライズアプリケーションからプロビジョニングの編集を行う。

マッピングから、「Provision Azure Active Directory Users」のリンクに移動。

属性マッピングの画面になるので、下の方に言ってExternalIdのマッピング属性を編集する。

属性の編集で、“ソース属性”を”mailNickname” (メールアドレスの@よりも左側の文字列)から、”mail” (メールアドレス全体)に変更する。
※ExternalIDとして重複しないものであれば他の文字列を持つ属性でも良さそうです。

後はプロビジョニングし直すだけ。

前提としてのAzure ADとAWS SSO連携の話は↓の記事を見てください。