AADSTS50020、アイデンティティ プロバイダーからのユーザー アカウントがテナントに存在しません

AADSTS50020、アイデンティティ プロバイダーからのユーザー アカウントがテナントに存在しません

この記事では、 AADSTS50020「ID プロバイダーからのユーザー アカウントがテナントに存在しない」エラーを解決するために考えられる修正について説明します。このエラーは通常、アイデンティティ プロバイダー (IdP) のゲスト ユーザーが Azure Active Directory (Azure AD) のリソース テナントにサインインできない場合に発生します。このエラーはさまざまな状況で発生する可能性があります。状況ごとに、トラブルシューティングには異なる方法が必要です。

AADSTS50020、アイデンティティ プロバイダーからのユーザー アカウントがテナントに存在しません

ゲスト ユーザーがリソース テナント内のアプリケーションまたはリソースにアクセスしようとしたときに表示される完全なエラー メッセージは次のとおりです。

AADSTS50020: アイデンティティ プロバイダー {IdentityProviderURL} のユーザー アカウント ‘ [email protected] ‘ がテナント {ResourceTenantName} に存在しません。

ホーム テナントのログを確認すると、管理者には次のエラー メッセージが表示されます。

ID プロバイダー {idp} のユーザー アカウント {email} はテナント {tenant} に存在しないため、そのテナント内のアプリケーション {appId}({appName}) にアクセスできません。まず、アカウントをテナントに外部ユーザーとして追加する必要があります。サインアウトし、別の Azure Active Directory ユーザー アカウントで再度サインインします。

AADSTS50020、アイデンティティ プロバイダーからのユーザー アカウントがテナントに存在しません

以下の解決策は、AADSTS50020「ID プロバイダーからのユーザー アカウントがテナントに存在しない」エラーを修正するのに役立ちます。

  1. アプリ登録マニフェストのサインイン対象ユーザー設定を変更する
  2. 正しいサインイン URL を使用してください
  3. サインアウトし、別のブラウザーまたはプライベート ブラウザー セッションから再度サインインします。
  4. ゲストユーザーを招待する
  5. ユーザーにアクセス権を割り当てる (該当する場合)
  6. テナントまたは組織に固有のエンドポイントを使用する
  7. ゲスト ユーザー アカウントの引き換えステータスをリセットする

これらすべての修正を詳しく見てみましょう。

1] アプリ登録マニフェストのサインイン対象ユーザー設定を変更する

このエラーの考えられる原因の 1 つは、テナントがサポートされていないアカウント タイプを使用している場合です。たとえば、アプリの登録にシングルテナントのアカウント タイプが設定されている場合、別の識別されたプロバイダーのユーザーはアプリケーションにサインインできません。

AADSTS50020 エラーを修正するには、アプリ登録マニフェストのサインイン対象ユーザー設定を次のように変更します。

  1. Azure ポータルに移動します。
  2. [アプリの登録]を選択します。
  3. アプリ登録の名前を選択します。
  4. サイドバーから「マニフェスト」を選択します。
  5. JSON コードで、signInAudience 設定を見つけます。
  6. 次のいずれかの値から設定を確認します。
  • AzureAD と個人 Microsoft アカウント
  • AzureAD複数の組織
  • 個人の Microsoft アカウント

SignInAudience には、上記の値のいずれかが含まれている必要があります。SignInAudience 設定にこれらの値が見つからない場合は、アプリ登録を再度作成する必要があります。

2] 正しいサインイン URL を使用する

このエラーのもう 1 つの原因は、間違ったサインイン URL を使用していることです。たとえば、https://login.Microsoftonline.com/<YourTenantNameOrID> URL を使用する場合、認証はテナントのみで実行されることが想定されます。このため、他の組織のユーザーはアプリケーションにアクセスできません。他のユーザーがこれを行おうとすると、サインイン エラーが発生します。

この問題を解決するには、これらのユーザーをリクエストで指定されたテナントにゲストとして追加する必要があります。特定の種類のアプリケーションに対応するサインイン URL を使用できます。いくつかの例を以下に示します。

マルチテナント アプリケーション タイプの場合、次のサインイン URL を使用できます。

https://login.microsoftonline.com/organizations

マルチテナントおよび個人アカウント タイプを使用している場合は、次のサインイン URL を使用できます。

https://login.microsoftonline.com/common

個人アカウントの場合のみ、このサインイン URL を使用してください。

https://login.microsoftonline.com/consumers

3] サインアウトし、別のブラウザーまたはプライベート ブラウザー セッションから再度サインインします。

このエラーは、ユーザーが間違ったテナントにサインインしたときに発生することがあります。たとえば、ユーザーが Web ブラウザですでにアクティブなセッションを持っており、それぞれのリンクをクリックするか、新しいタブに必要な URL を入力してアプリケーションにアクセスしようとするとします。

この状況では、ゲスト ユーザーに次のいずれかの操作を行うように依頼します。

  • Web ブラウザですでに開いているアカウントからサインアウトします。これにより、すでにアクティブなセッションが終了します。これで、正しいリンクと資格情報を使用してサインインできるようになりました。
  • 別の Web ブラウザーを使用してサインインします。
  • 同じ Web ブラウザーのプライベート ウィンドウまたはシークレット ウィンドウにサインインします。

4] ゲストユーザーを招待する

このエラーは、ゲスト ユーザーが招待されていない場合にも表示されます。この状況の解決策は簡単です。ゲストユーザーを招待します。

5] ユーザーにアクセス権を割り当てます (該当する場合)

アプリケーションがユーザー割り当てを必要とするエンタープライズ アプリケーションであり、そのユーザーがアプリケーションへのアクセスが割り当てられている許可されたユーザーのリストに含まれていない場合、このエラーが発生します。

以下の手順に従って、エンタープライズ アプリケーションにユーザー割り当てが必要かどうかを確認できます。

  1. Azure ポータルに移動します。
  2. エンタープライズ アプリケーションを選択します。
  3. エンタープライズ アプリケーションを選択します。
  4. [プロパティ]を選択します。
  5. [割り当てが必要]オプションが[はい]に設定されているかどうかを確認します。「はい」に設定されている場合、そのアプリケーションにはユーザー割り当てが必要です。

この状況では、ユーザーに個別に、またはグループの一部としてアクセス権を割り当てます。

6] テナントまたは組織に固有のエンドポイントを使用する

エラー コード AADSTS50020 は、ユーザーが自分の個人アカウントに対してリソース所有者パスワード資格情報 (ROPC) フローを使用しようとしたときにも発生する可能性があります。Microsoft Identity Platform は、Azure AD テナント内の ROPC のみをサポートし、個人アカウントはサポートしません。

この状況では、ユーザーはテナントまたは組織に固有のエンドポイントを使用する必要があります。個人アカウントは、Azure AD テナントに招待された場合でも ROPC を使用できないことに注意してください。

7] ゲストユーザーアカウントの引き換えステータスをリセットします

管理者がリソース テナントのゲスト ユーザーのユーザー名を削除し、ホーム テナントで再作成した場合、ゲスト ユーザーにこのエラーが発生します。管理者は、リソース テナントのゲスト ユーザー アカウントがホーム テナントのゲスト ユーザー アカウントに関連付けられていないことも確認する必要があります。

この状況でのエラーを修正するには、リソース テナントのゲスト ユーザー アカウントの引き換えステータスをリセットします。

それでおしまい。これがお役に立てば幸いです。

Azure ではどのテナント ID が使用されますか?

Azure のテナント ID は、Azure Active Directory (Azure AD) テナントの一意の識別子です。Office 365 テナント ID とも呼ばれます。Azure テナント ID を取得するには、さまざまな方法があります。

テナント管理者は誰ですか?

テナント管理者は、Azure Active Directory (Azure AD) テナントで最高レベルのアクセス許可を持つユーザーです。ユーザー、グループ、権限、設定など、テナントのあらゆる側面を管理できます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です