AD FS の TS 証明書および TD 証明書を取得して構成する

この記事トピックでは、AD FS トークン署名証明書とトークン暗号化解除証明書が最新であることを確認するタスクと手順について説明します。

トークン署名証明書は標準の X509 証明書であり、フェデレーション サーバーが発行するすべてのトークンに安全に署名するために使用されます。 トークン暗号化解除証明書は、標準の X509 証明書であり、受信トークンの暗号化解除に使用されます。 これらはフェデレーション メタデータでも公開されています。

詳細については、「証明書の要件」をご覧ください。

AD FS によって証明書を自動的に更新させるかどうかを決定する

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

Windows PowerShell コマンド Get-AdfsProperties を実行できます。

Screenshot of the PowerShell window, highlighting the AutoCertificateRollover and CertificateGenerationThreshold values.

AutoCertificateRollover プロパティは、AD FS がトークン署名証明書とトークン暗号化解除証明書を自動的に更新するように構成されているかどうかを示します。

AutoCertificateRolloverTrue に設定されている場合、AD FS 証明書は AD FS で自動的に更新および構成されます。 新しい証明書を構成したら、停止を回避するために、各フェデレーション パートナーがこの新しい証明書で更新されていることを確認する必要があります。 フェデレーション パートナーは、証明書利用者の信頼または要求プロバイダーの信頼のいずれかによって AD FS ファーム内に表わされます。

AD FS がトークン署名証明書とトークン暗号化解除証明書を自動的に更新するように構成されていない場合 (例: AutoCertificateRolloverFalse に設定されている場合)、AD FS では新しいトークン署名証明書またはトークン暗号化解除証明書は自動的に生成または使用されません。 これらのタスクは手動で実行する必要があります。

トークン署名証明書とトークン暗号化解除証明書を自動的に更新するように AD FS が構成されている場合 (AutoCertificateRolloverTrue に設定されている場合)、いつ更新するかを決定できます。

  • CertificateGenerationThreshold は、証明書の Not After 日よりも何日前に新しい証明書が生成されるかを示します。

  • CertificatePromotionThreshold は、新しい証明書が生成されてから何日後にプライマリ証明書に昇格されるかを決定します。 AD FS では CertificatePromotionThreshold を使用して、発行されるトークンに署名し、ID プロバイダーからのトークンを暗号化解除します。

Screenshot of the PowerShell window, highlighting the CertificateGenerationThreshold and CertificatePromotionThreshhold values.

現在の証明書の有効期限を確認する

次の手順を使用して、プライマリのトークン署名証明書とトークン暗号化解除証明書を識別し、現在の証明書の有効期限がいつ切れるかを判断できます。

次の Windows PowerShell コマンドを実行できます。Get-AdfsCertificate –CertificateType token-signing (または Get-AdfsCertificate –CertificateType token-decrypting)。 MMC の [サービス] -> [証明書] で現在の証明書を確認することもできます。

Screenshot of the PowerShell window, highlighting the Not After date and the Is Primary properties.

AD FS では、IsPrimary 値が True に設定されている証明書が使用されます。

Not After で示す日付は、プライマリのトークン署名証明書またはトークン暗号化解除証明書を構成する期限の日付です。

サービスの継続性を確保するには、すべてのフェデレーション パートナーが、この有効期限よりも前に新しいトークン署名証明書とトークン暗号化解除証明書を使用する必要があります。 フェデレーション パートナーは、証明書利用者の信頼または要求プロバイダーの信頼のいずれかによって AD FS ファーム内に表わされます。 このプロセスは、少なくとも 60 日前に計画する必要があります。

猶予期間の終了前に新しい自己署名証明書を手動で生成する

次の手順を使用して、猶予期間の終了前に新しい自己署名証明書を手動で生成できます。

  1. プライマリ AD FS サーバーにログオンしていることを確認します。
  2. Windows PowerShell を開き、 Add-PSSnapin "microsoft.adfs.powershell"コマンドを実行します。
  3. AD FS の現在の署名証明書を確認できます。 これを行うには、コマンド Get-ADFSCertificate –CertificateType token-signing を実行します。 コマンド出力を確認し、列挙される任意の証明書の Not After の日付を確認します。
  4. 新しい資格証明書を生成するには、Update-ADFSCertificate –CertificateType token-signing コマンドを実行して、AD FS サーバー上の証明書を更新します。
  5. 次のコマンドを再実行し、更新を確認します: Get-ADFSCertificate –CertificateType token-signing
  6. これで、2 つの証明書が表示されることになります。 1 つは、Not After の日付が約 1 年後であるはずです。 もう 1 つは、IsPrimary 値が False であるはずです。

重要

サービス停止を回避するには、有効なトークン署名証明書を使用して Microsoft Entra ID の証明書情報を更新します。

自己署名証明書を使用しない場合

自動的に生成された既定の自己署名トークン署名証明書とトークン暗号化解除証明書を使用していない場合は、これらの証明書を手動で更新して構成する必要があります。

最初に、証明機関から新しい証明書を取得し、各フェデレーション サーバーでローカル コンピューターの個人用証明書ストアにインポートする必要があります。 手順については、「証明書のインポート」を参照してください。

次に、この証明書をセカンダリの AD FS トークン署名証明書またはトークン暗号化解除証明書として構成する必要があります。 これをプライマリ証明書に昇格させる前に、フェデレーション パートナーがこの新しい証明書を使用するまでに十分な時間を確保するために、これをセカンダリ証明書として構成します。

新しい証明書をセカンダリ証明書として構成する

  1. PowerShell を開いて、Set-ADFSProperties -AutoCertificateRollover $false を実行します。
  2. 証明書のインポートが完了したら、 AD FS の管理コンソールを開きます。
  3. [サービス] を展開し、[証明書] を選択します。
  4. [操作] ウィンドウで、[トークン署名証明書の追加] を選択します。 Screenshot of the AD FS dialog box, highlighting the Add Token Signing Certificate option.
  5. 表示された証明書一覧から新しい証明書を選択し、[OK] を選択します。
  6. PowerShell を開いて、Set-ADFSProperties -AutoCertificateRollover $true を実行します。

警告

新しい証明書に秘密キーが関連付けられていること、および AD FS サービス アカウントに、この秘密キーへの読み取りアクセス許可が付与されていることを確認します。 これを各フェデレーション サーバーで行います。 これを行うには、[証明書] スナップインで新しい証明書を右クリックして、[すべてのタスク][秘密キーの管理] の順に選択します。

フェデレーション パートナーは、フェデレーション メタデータをプルするか、新しい証明書の公開キーを受け取ることによって、新しい証明書を使用します。 フェデレーション パートナーで新しい証明書が使用されるまでに十分な時間を確保したら、セカンダリ証明書をプライマリ証明書に昇格させる必要があります。

新しい証明書のセカンダリからプライマリへの昇格

  1. AD FS の管理コンソールを開きます。

  2. [サービス] を展開し、[証明書] を選択します。

  3. セカンダリ トークン署名証明書を選択します。

  4. [操作] ウィンドウで、[プライマリに設定] を選択します。 確認を求められたら [はい] を選択します。

    Screenshot of the AD FS dialog box, highlighting the Set as Primary option.

フェデレーション パートナーを更新する

フェデレーション パートナーは、フェデレーション メタデータを使用できるかどうかに応じて、異なる方法で更新する必要があります。

フェデレーション メタデータを使用できるパートナー

新しいトークン署名証明書またはトークン暗号化解除証明書を更新して構成した場合は、すべてのフェデレーション パートナーが新しい証明書を選択していることを確認する必要があります。 フェデレーション パートナーはリソース組織またはアカウント組織パートナーであり、証明書利用者の信頼と要求プロバイダーの信頼によって AD FS で表されます。

フェデレーション メタデータを使用できないパートナー

フェデレーション パートナーがフェデレーション メタデータを使用できない場合は、新しいトークン署名またはトークン暗号化解除証明書の公開キーをパートナーに手動で送信する必要があります。 新しい証明書公開キー (.cer ファイルまたはチェーン全体を含める場合は .p7b ファイル) を、すべてのリソース組織またはアカウント組織パートナーに送信します。 リソース組織またはアカウント組織パートナーは、証明書利用者の信頼と要求プロバイダーの信頼によって AD FS で表されます。 パートナーは、新しい証明書を信頼するようパートナー側で変更を実装する必要があります。

AutoCertificateRollover が False の場合にプライマリに昇格する

AutoCertificateRolloverFalse に設定されている場合、AD FS では新しいトークン署名証明書またはトークン暗号化解除証明書は自動的に生成または使用されません。 これらのタスクは手動で実行する必要があります。 すべてのフェデレーション パートナーが新しいセカンダリ証明書を構成するための十分な時間を確保したら、このセカンダリ証明書をプライマリに昇格させます。 MMC スナップインで、セカンダリ トークン署名証明書を選択し、[操作] ウィンドウで [プライマリとして設定] を選択します。

Microsoft Entra ID の更新

AD FS は、既存の AD DS 資格情報を使用してユーザーを認証することによって、Office 365 などの Microsoft クラウドサービスへのシングル サインオン アクセスを提供します。 詳細については、「Office 365 および Microsoft Entra ID のフェデレーション証明書の更新」を参照してください。