プロビジョニング同期を使用して Atlassian アカウントのメール アドレスを更新できない
プラットフォームについて: Cloud のみ - この記事は クラウド プラットフォームのアトラシアン製品に適用されます。
要約
プロビジョニング同期を使用してユーザー同期レコードを更新しようとすると、409 レスポンスが返されます。Azure で Atlassian Cloud Enterprise アプリからユーザー アカウントをオンデマンドでプロビジョニングしようとすると、「AtlassianCloud でユーザー 'username @domain' を更新できませんでした」という Entra ID のエラー メッセージが表示されます。もう 1 つの潜在的な問題は、プロビジョニング同期によって既存の Atlassian アカウントのメール アドレスが更新される代わりに、エンド ユーザー用に新しい Atlassian アカウントのメール アドレスが作成されることです。
注意
このドキュメントでは、特に Entra ID について説明していますが、ロジックとエラー メッセージはどの ID プロバイダー (IdP) にも当てはまります。
問題を再現する
以下の手順に従ってください (オンデマンド プロビジョニング)。
- Entra ID で、[エンタープライズ アプリケーション] をクリックします
- Atlassian Cloud (既定の名前) アプリを見つけて選択します
- [管理] セクションで [プロビジョニング] をクリックします
- [Provision on demand (オンデマンドのプロビジョニング)] をクリックします
- ユーザーを検索して選択します
- [Provision (プロビジョニング)] をクリックします
その結果、409 レスポンスが返されます。
エラー コード | SystemForCrossDomainIdentityManagementServiceIncompatibleFiltering |
---|---|
ステータス コード | Conflict (409) |
エラー メッセージ | StatusCode: Conflict Message: Processing of the HTTP request resulted in an exception. Please see the HTTP response returned by the 'Response' property of this exception for details. |
Web レスポンス | {"schemas":["urn:ietf:params:scim:api:messages:2.0:Error"],"status":"409","scimType":"uniqueness","detail":"Resource [USER]: with email[email@domain] already exists."} |
ソリューション
シナリオ 1: ターゲットのメール アドレスを持つ Atlassian アカウントがすでに存在する (409 ステータス コード)
シナリオ 2: プロビジョニング同期により、更新する代わりに新しい Atlassian アカウントが作成される
シナリオ 1
重複する Atlassian アカウント (あれば) を解決します
- Atlassian 組織に移動します。
- [ディレクトリ] > [管理対象アカウント] に移動して、対象のメール アドレスを検索します。
- 対象のメール アドレスを持つ Atlassian アカウントが見つかるはずです。Atlassian アカウントは組織管理者 UI で編集可能になります。
- Atlassian アカウントのメール アドレスを一意なもの (user_duplicate@example.domain) に更新します。
- Entra ID でプロビジョニングをオンデマンドで実行します。
これについては、別の KB (https://confluence.atlassian.com/cloudkb/409-error-when-attempting-to-update-email-address-via-user-provisioning-1035734019.html) で取り上げられています。
シナリオ 2
プロビジョニングの同期に伴ってエンド ユーザー用に新しい Atlassian アカウントが作成され、ユーザーの既存の Atlassian アカウントが更新されなかった場合は、次の点を確認してください。
- エンド ユーザーの元の Atlassian アカウントが Atlassian 組織で管理されていること。確認するには、Atlassian 組織の [ディレクトリ] > [管理対象アカウント] ページでユーザーを検索します。ユーザーのアカウントがあれば、それが管理対象アカウントです。
- エンド ユーザーの Atlassian アカウントを管理している同一組織によって対象のメール ドメイン (変更されている場合) が申請されていること。
プロビジョニングの同期では、Atlassian 組織で管理されていない Atlassian アカウントは更新されません。また、管理者が IdP でユーザーを削除して再同期しようとすると、該当する Atlassian アカウントが更新されるのではなく、新しい空の Atlassian アカウントが作成され、エンド ユーザーの Atlassian アカウントが重複する可能性があります。
エンド ユーザーの Atlassian アカウントが次の状況に当てはまるかどうかを確認します。
- 組織で管理されている。かつ
- 対象のドメインが同一 Atlassian 組織で申請されているか、エンド ユーザーのメール ドメインが同じままである (変更されていない)。
当てはまる場合は、次の説明を参照してください。
- API https://developer.atlassian.com/cloud/admin/user-provisioning/rest/api-group-admin-apis/#api-admin-user-provisioning-v1-org-orgid-user-aaid-onlydeleteuserindb-delete を使用して、エンド ユーザーのプロビジョニング レコードを削除します。
同期されたグループのメンバーであるエンド ユーザーが再同期されると、それらのグループに対するメンバーシップは失われます。ユーザーのプロビジョニング レコードを削除したら、エンド ユーザーが IdP でメンバーになっているすべてのグループに対するグループ メンバーシップを削除してください。エンド ユーザーが動的グループのメンバーである場合は、動的グループ スコープからそのユーザーを除外する必要があります。 - このアクションにより、エンド ユーザーの新しい Atlassian アカウントが組織管理者 UI で編集可能になります。
- エンド ユーザーの管理対象 Atlassian アカウントのプロファイルに移動し ([ディレクトリ] > [管理対象アカウント])、ユーザーを検索してそのユーザーのアカウントを選択します。
- アカウントのメール アドレスを同じメール ドメイン上で一意になるように編集します。新しいメールは、実際のメール アドレスである必要はありません。たとえば、userNewEmail@domain.example は userNewEmail_duplicate@domain.example になります。
- エンド ユーザーの管理対象 Atlassian アカウントを探します。このアカウントは "古い" (以前の) メール アドレスにあるはずです。
- "古い" アカウントの Atlassian アカウントを目的/対象のメール アドレス (例:userNewEmail@domain.example) に更新します。
- ユーザーを IdP の関連グループに戻します (該当する場合)。
- IdP からユーザーを再同期します。プロビジョニングの同期により、エンド ユーザーの "古い" Atlassian アカウントは "ロック" され、編集できなくなります。