複数のフェデレーションドメインから Office 365 にサインインすることはできません

注意

Office 365 用リソース は、 エンタープライズ向け Microsoft 365 アプリに名前変更されています。 この変更の詳細については、 このブログの投稿を参照してください。

いう

複数のフェデレーションドメイン (トップレベルまたは子ドメイン) からのユーザーは、Office 365 にサインインできません。 また、次のエラーメッセージが表示されます。

申し訳ありませんが、サインイン時に問題が発生しています。 AADSTS50107: 要求されたフェデレーション領域オブジェクト ' http://<ADFShostname>/adfs/services/trust ' は存在しません。

招く

この問題は、次のいずれかの理由で発生します。

  • 発行変換ルールは、フェデレーションされたドメインが見つからない場合に、発行者を既定の Active Directory Federation Service (AD FS) インスタンスのホスト名から発行者セットに変更するために必要です。
  • 発行変換ルールは、子ドメインを追加した後は更新されません。

この問題は、複数のトップレベルドメインがテナントの同じ AD FS インスタンスにフェデレーションされる場合に発生します。

方法

  1. AZURE AD RPT 要求規則に移動し、[次へ] をクリックします。

  2. [不変 ID ] の値 (sourceanchor) を指定します。 >ユーザーのサインイン(たとえば、UPN またはメール) を指定します。 複数のトップレベルドメインがフェデレーションされている場合は、「AD FS を使用している AZURE ad の信頼は複数のドメインをサポートしていますか?」というメッセージが表示されたら、[はい] を選択します。

  3. Office 365 PowerShell に接続し、ドメインの一覧を .csv ファイル (例: .csv) にエクスポートします。 これを行うには、次のコマンドレットを実行します。

    Import-Module MSOnline
    
    Connect-MsolService
    
    Get-MsolDomain | Select-Object Name, RootDomain, Authentication | ConvertTo-Csv -NoTypeInformation | % {$_.Replace('"','')} | Out-File output.csv
    
  4. [要求の生成] をクリックし、[要求規則] セクションから PowerShell コマンドレットをコピーします。

  5. コマンドレットを PowerShell スクリプト (例: updatelclaimrules. ps1) として保存し、次のコマンドを実行してプライマリ AD FS サーバー上でスクリプトを実行します。

    .\Updateclaims.ps1
    
  6. このスクリプトは、既存の発行変換ルールのバックアップを、現在の作業ディレクトリの .txt ファイルとして作成します。

スクリプトを使用してバックアップした発行ルールを復元する場合は、次のコマンドレットを実行して、手順5で作成したバックアップファイルを指定します。 次の例では、バックアップファイルはバックアップ 2018.12.26 _ 09.21.03です。

Set-AdfsRelyingPartyTrust -TargetIdentifier "urn:federation:MicrosoftOnline" -IssuanceTransformRulesFile "Backup 2018.12.26_09.21.03.txt"