なんか不思議な現象を目にしたのでメモがてらです
問題の再現
- Entra ID
- グループ A を作る
- ユーザ B をグループ A のメンバーに割り当てる
- エンタープライズアプリの IAM Identity Center でグループ A を割り当てる
- プロビジョニングをする
これで IAM Identity Center 側にユーザ B とグループ A とそのメンバーが作成される。ここまでは正常。
その後、色々なトラブルがあったので IAM Identity Center 側を操作をしていたら問題が発生した。
- IAM Identity Center
- ユーザ B を削除する
- この時点でグループ A のメンバーではなくなる
- ユーザ B を削除する
- Entra ID
- グループ A のメンバーのユーザ B をプロビジョニングして、復活させようとする
- ユーザ B は再作成されるが、何故かグループ A のメンバーの同期が
RedundantExport
としてスキップされる
The state of the entry in both the source and target systems already match. No change to the User 'foo@example.' currently needs to be made.
意味のなかったリカバリ策
Entra ID のプロビジョニング先は色々あるだろうが、一般的にはグループ A を消して再同期したらメンバーも同期されるようになった、という報告が散見されたので試す
-
IAM Identity Center
- グループ A を削除する
-
Entra ID
- グループ A とメンバーのユーザ B をプロビジョニングする
- グループ A は作成されるが、そのメンバーの同期が
RedundantExport
としてスキップされる
-
IAM Identity Center
- グループ A とユーザ B を削除する
-
Entra ID
- ユーザ B をプロビジョニングする
- グループ A とメンバーのユーザ B をプロビジョニングする
- ユーザ B とグループ A は作成されるが、そのメンバーの同期
RedundantExport
としてスキップされる
どうやらグループやユーザを削除しても、グループメンバーの割当だけキャッシュされているような気配があり、無意味だった。
有効だったリカバリ策
- IAM Identity Center
- グループ A をグループ A-backup にリネームする
- グループ A を新しく作り、ユーザ B をメンバーにする
- エンタープライズアプリの IAM Identity Center でグループ A を割り当てる
- プロビジョニングをする
これで IAM Identity Center 側にユーザ B とグループ A とそのメンバーが作成される。
グループは別物なので、他の用途で使っていたりすると地獄です
後片付け
- IAM Identity Center
- エンタープライズアプリの IAM Identity Center でグループ A-backup の割当を削除する
- プロビジョニングし、グループ A-backup を IAM Identity Center 側から削除する
- グループ A-backup を削除する
- おしまい
感想
冪等ではない同期やめてね