次の方法で共有


Microsoft 365 と Microsoft Entra ID のフェデレーション証明書を更新する

概要

Microsoft Entra ID と Active Directory フェデレーション サービス (AD FS) 間のフェデレーションを成功させるには、セキュリティ トークンを Microsoft Entra ID に署名するために AD FS によって使用される証明書が、Microsoft Entra ID で構成されているものと一致する必要があります。 完全に一致していないと、信頼関係が失われる可能性があります。 この情報は、AD FS と Web アプリケーション プロキシ (エクストラネット アクセスに使用される) をデプロイするときに Microsoft Entra ID によって同期されます。

この記事では、フェデレーション証明書の管理に関する情報を提供します。 緊急ローテーションの詳細については、AD FS 証明書の緊急ローテーションを参照してください。

この記事では、次の場合に、トークン署名証明書を管理し、Microsoft Entra ID との同期を維持するための追加情報を提供します。

  • Web アプリケーション プロキシをデプロイしていないため、フェデレーション メタデータはエクストラネットでは使用できません。
  • トークン署名証明書に AD FS の既定の構成を使用していません。
  • サード パーティの ID プロバイダーを使用している。

重要

Microsoft では、ハードウェア セキュリティ モジュール (HSM) を使用して証明書を保護し、セキュリティで保護することを強くお勧めします。 詳細については、AD FS をセキュリティで保護 するためのベスト プラクティスのハードウェア セキュリティ モジュールを参照してください。

トークン署名証明書の AD FS の既定の構成

通常、トークン署名証明書とトークン暗号化解除証明書は自己署名証明書であり、1 年間有効です。 既定では、AD FS には AutoCertificateRollover と呼ばれる自動更新プロセスが含まれています。 AD FS 2.0 以降を使用している場合、Microsoft 365 と Microsoft Entra ID は有効期限が切れる前に証明書を自動的に更新します。

Microsoft 365 管理センターからの更新の通知またはメール

Office の証明書の更新を求める電子メールを受け取った場合は、「 トークン署名証明書に対する変更の管理 」を参照して、何らかのアクションを実行する必要があるかどうかを確認してください。 Microsoft は、アクションが不要な場合でも、証明書の更新の通知が送信される可能性がある問題を認識しています。

Microsoft Entra ID は、フェデレーション メタデータを監視し、このメタデータで示されているようにトークン署名証明書を更新しようとします。 トークン署名証明書の有効期限が切れる 35 日前に、Microsoft Entra ID はフェデレーション メタデータをポーリングすることによって新しい証明書が使用可能かどうかを確認します。

  • フェデレーション メタデータを正常にポーリングして新しい証明書を取得できる場合、ユーザーに電子メール通知は発行されません。
  • フェデレーション メタデータに到達できないか、証明書の自動ロールオーバーが有効になっていないために、新しいトークン署名証明書を取得できない場合は、Microsoft Entra ID によって電子メールが発行されます。

重要

AD FS を使用している場合は、ビジネス継続性を確保するために、既知の問題の認証エラーが発生しないように、サーバーに次の更新プログラムがあることを確認してください。 これにより、この更新期間と今後の更新期間に関する AD FS プロキシ サーバーの既知の問題が軽減されます。

Server 2012 R2 - Windows Server 2014年5月更新プログラム

Server 2008 R2 および 2012 - Windows Server 2012 または Windows 2008 R2 SP1 でプロキシによる認証が失敗する

証明書を更新する必要があるかどうかを確認する

手順 1:AutoCertificateRollover の状態を確認する

AD FS サーバーで PowerShell を開きます。 AutoCertificateRollover の値が True に設定されていることを確認します。

Get-Adfsproperties

自動証明書ロールオーバー

AD FS 2.0 を使用している場合は、最初に Microsoft.Adfs.Powershell Add-Pssnapin 実行します。

手順 2: AD FS と Microsoft Entra ID が同期されていることを確認する

AD FS サーバーで PowerShell プロンプトを開き、Microsoft Entra ID に接続します。

Microsoft Entra は、Microsoft Entra PowerShell の一部です。 Microsoft Entra PowerShell モジュールは、PowerShell ギャラリーから直接ダウンロードできます。

Install-Module -Name Microsoft.Entra

Microsoft Entra ID に接続します。

Connect-Entra -Scopes 'Domain.Read.All'

AD FS と Microsoft Entra ID との間の信頼関係のプロパティで証明書が構成されていることを特定のドメインを指定して確認します。

Get-EntraFederationProperty -DomainName <___domain.name> | FL Source, TokenSigningCertificate

両方の出力結果において拇印が一致した場合、Microsoft Entra ID 側と証明書が同期されています。

手順 3:証明書の有効期限が迫っているかどうかを確認する

Get-EntraFederationProperty または Get-AdfsCertificate の出力で、"Not After" の日付を確認します。日付が 35 日未満の場合は、アクションを実行する必要があります。

AutoCertificateRollover Microsoft Entra ID と同期している証明書 フェデレーション メタデータにパブリックにアクセスできる 妥当性 アクション
イエス イエス イエス - 対処は必要ありません。 「 トークン署名証明書を自動的に更新する」を参照してください。
イエス いいえ - 15 日未満 すぐに更新してください。 「 トークン署名証明書を手動で更新する」を参照してください。
いいえ - - 35 日未満 すぐに更新してください。 「 トークン署名証明書を手動で更新する」を参照してください。

[-]かまいません

次の両方に該当する場合は、手動の手順を実行する必要はありません。

  • Web アプリケーション プロキシをデプロイしました。Web アプリケーション プロキシを使用すると、エクストラネットからのフェデレーション メタデータへのアクセスを有効にすることができます。
  • AD FS の既定の構成を使用しています (AutoCertificateRollover が有効になっています)。

証明書を自動的に更新できることを確認するには、次を確認します。

1. AD FS プロパティ AutoCertificateRollover を True に設定する必要があります。 これは、古いトークンの有効期限が切れる前に、AD FS によって新しいトークン署名証明書とトークン暗号化解除証明書が自動的に生成されることを示します。

2. AD FS フェデレーション メタデータにパブリックにアクセスできます。 (企業ネットワーク外の) パブリック インターネット上のコンピューターから次の URL に移動して、フェデレーション メタデータにパブリックにアクセスできることを確認します。

https://(your_FS_name)/federationmetadata/2007-06/federationmetadata.xml

ここで、 (your_FS_name) は、組織が使用するフェデレーション サービス ホスト名 (fs.contoso.com など) に置き換えられます。 これらの両方の設定を正常に確認できる場合は、他の操作を行う必要はありません。

例: https://fs.contoso.com/federationmetadata/2007-06/federationmetadata.xml

トークン署名証明書を手動で更新する

トークン署名証明書を手動で更新することもできます。 たとえば、次のシナリオは手動更新に適しています。

  • トークン署名証明書は自己署名証明書ではありません。 この最も一般的な理由は、組織が組織の証明機関から登録された AD FS 証明書を管理することです。
  • ネットワーク セキュリティでは、フェデレーション メタデータを一般公開できません。
  • フェデレーション ドメインを既存のフェデレーション サービスから新しいフェデレーション サービスに移行します。

重要

既存のフェデレーション ドメインを新しいフェデレーション サービスに移行する場合は、AD FS 証明書の緊急ローテーションに従うことをお勧めします

これらのシナリオでは、トークン署名証明書を更新するたびに、PowerShell コマンド Update-MgDomainFederationConfiguration を使用して Microsoft 365 ドメインも更新する必要があります。

手順 1:AD FS のトークン署名証明書が新しいことを確認する

既定以外の構成

AD FS の既定以外の構成 ( AutoCertificateRolloverFalse に設定されている場合) を使用している場合は、(自己署名ではなく) カスタム証明書を使用している可能性があります。 AD FS トークン署名証明書を更新する方法の詳細については、「 フェデレーション サーバーの証明書要件」を参照してください。

フェデレーション メタデータは一般公開されていません

一方、 AutoCertificateRolloverTrue に設定されていても、フェデレーション メタデータにパブリックにアクセスできない場合は、まず、AD FS によって新しいトークン署名証明書が生成されていることを確認します。 次の手順を実行して、新しいトークン署名証明書があることを確認します。

  1. プライマリ AD FS サーバーにログオンしていることを確認します。

  2. PowerShell コマンド ウィンドウを開き、次のコマンドを実行して、AD FS の現在の署名証明書を確認します。

    Get-ADFSCertificate -CertificateType Token-Signing

    AD FS 2.0 を使用している場合は、最初 Add-Pssnapin Microsoft.Adfs.Powershell 実行する必要があります。

  3. 一覧表示されている証明書のコマンド出力を確認します。 AD FS によって新しい証明書が生成された場合、出力に 2 つの証明書が表示されます。1 つは IsPrimary 値が True、NotAfter 日付が 5 日以内で、1 つは IsPrimaryFalseNotAfter が約 1 年後です。

  4. 証明書が 1 つしか表示されず、 NotAfter 日付が 5 日以内の場合は、新しい証明書を生成する必要があります。

  5. 新しい証明書を生成するには、PowerShell コマンド プロンプトで次のコマンドを実行します: Update-ADFSCertificate -CertificateType Token-Signing

  6. 次のコマンドをもう一度実行して、更新プログラムを確認します。 Get-ADFSCertificate -CertificateType Token-Signing

現在、2 つの証明書が一覧表示されます。そのうちの 1 つは NotAfter の日付が約 1 年後で、 IsPrimary 値は False です

手順 2:Microsoft 365 の信頼のために新しいトークン署名証明書を更新する

次のように、信頼に使用する新しいトークン署名証明書で Microsoft 365 を更新します。

  1. Azure PowerShell を開きます。
  2. Connect-Entra -Scopes 'Domain.Read.All' を実行します。 このコマンドレットは、クラウド サービスに接続します。 ツールによってインストールされた追加のコマンドレットを実行する前に、クラウド サービスに接続するコンテキストを作成する必要があります。
  3. Update-MgDomainFederationConfiguration -DomainId <___domain> -InternalDomainFederationId <AD FS primary server> を実行します。 このコマンドレットは、AD FS からクラウド サービスに設定を更新し、2 つの間の信頼関係を構成します。

contoso.com や fabrikam.com など、複数の最上位ドメインをサポートする必要がある場合は、任意のコマンドレットで SupportMultipleDomain スイッチを使用する必要があります。 詳細については、「 複数の最上位ドメインのサポート」を参照してください。

テナントが複数のドメインとフェデレーションされている場合は、Get-EntraDomain | Select-Object -Property AuthenticationType:Federatedからの出力に記載されているすべてのドメインに対してUpdate-MgDomainFederationConfigurationを実行する必要があります。 これにより、すべてのフェデレーション ドメインが Token-Signing 証明書に更新されます。 これを実現するには、次を実行します。 Get-EntraDomain | Select-Object -Property AuthenticationType:Federated | % { Update-MgDomainFederationConfiguration -DomainName $_.Name -SupportMultipleDomain }

Microsoft Entra Connect を使用して Microsoft Entra ID 信頼を修復する

Microsoft Entra Connect を使用して AD FS ファームと Microsoft Entra ID 信頼を構成した場合は、Microsoft Entra Connect を使用して、トークン署名証明書に対して何らかのアクションを実行する必要があるかどうかを検出できます。 証明書を更新する必要がある場合は、Microsoft Entra Connect を使用して更新できます。

詳細については、「 信頼の修復」を参照してください。

AD FS と Microsoft Entra 証明書の更新手順

トークン署名証明書は、フェデレーション サーバーが発行するすべてのトークンに安全に署名するために使用される標準の X509 証明書です。 トークン復号化証明書は、受信トークンの暗号化を解除するために使用される標準の X509 証明書です。

既定では、AD FS は、最初の構成時と証明書の有効期限が近づいている場合の両方で、トークン署名証明書とトークン暗号化解除証明書を自動的に生成するように構成されています。

Microsoft Entra ID は、現在の証明書の有効期限の 35 日前にフェデレーション サービス メタデータから新しい証明書を取得しようとします。 その時点で新しい証明書が使用できない場合、Microsoft Entra ID は一定の間隔でメタデータを監視し続けます。 メタデータで新しい証明書が使用可能になるとすぐに、ドメインのフェデレーション設定が新しい証明書情報で更新されます。 Get-MgDomainFederationConfigurationを使用して、NextSigningCertificate/SigningCertificate に新しい証明書が表示されるかどうかを確認できます。

AD FS のトークン署名証明書の詳細については、「AD FS のトークン署名証明書とトークン暗号化解除証明書の取得と構成」を参照してください。