PowerShellを使用してWS-Federation手動用のOffice 365署名証明書をローテーションする

PowerShellをサインオン方法として使用して、WS-Federation手動でOffice 365統合用のアプリレベルの署名証明書を生成、更新、アクティブ化する方法について説明します。

このタスクについて

OktaからOffice 365に送信されるSAMLアサーションは、署名証明書を使用して暗号で署名されます。アクティブな署名証明書が有効期限切れになった場合、MicrosoftはすべてのSAMLアサーションを拒否して、Office 365アプリへのユーザーアクセスをブロックします。サービスの中断を避けるために、有効期限が切れる前に署名証明書をローテーションしてください。これにより、新しい証明書が生成されて使用されます。

始める前に

  • スーパー管理者としてサインインします。
  • Office 365アプリインスタンスに構成されたサインオン方法がPowerShellを使用したWS-Federation手動(WS-Federation Manual using PowerShell)であることを確認します。「Office 365向けにシングルサインオンを構成する」を参照してください。
  • PowerShellコマンドを使用して、証明書を登録するのに十分な権限がMicrosoft Entra IDにあることを確認します。
  • Get-MgDomainFederationConfigurationコマンドを使用して、現在の設定のバックアップを作成します。必要な場合、このバックアップを使用して設定を復元することができます。
  1. Admin Consoleで、アプリケーション(Applications) > アプリケーション(Applications)に移動します。
  2. 証明書をローテーションするOffice 365アプリ統合を検索して選択します。
  3. サインオン(Sign On)タブに移動します。
  4. SAML署名証明書(SAML Signing Certificates)セクションの新しい証明書を生成(Generate new certificate)をクリックします。
  5. 新しい証明書を登録するには、以下の手順を実行します。
    1. 証明書のアクション(Actions)メニューから、IdPメタデータを表示(View IdP metadata)を選択します。
    2. 証明書のX509Certificate値をコピーして、後続の手順のために保持します。たとえば、メタデータに<ds:X509Certificate>MIID...CF/c</ds:X509Certificate>が含まれている場合は、MIID...CF/cをコピーします。
    3. サイドバーから設定手順を表示(View Setup Instructions)を選択します。
    4. フェデレーション済みドメインの署名証明書を更新する(Update the signing certificate for an already federated domain)セクションから、提供されたコマンドをコピーします。
    5. コマンド内の<NewCertificate>を、IdPメタデータからコピーしたX509Certificate値に置き換えます。証明書の値にはスペースを含めることはできません。
    6. PowerShellターミナルにコマンドを入力して実行します。コマンドがエラーになった場合は、エラーを修正してこの一連の手順を繰り返します。試行が引き続き失敗する場合は、Update-MgDomainFederationConfigurationを使用して、このタスクの開始前に作成したバックアップから構成を復元できます。
  6. 新しい署名証明書のアクション(Actions)メニューからアクティブ化(Activate)を選択します。これにより、新しい証明書のステータスがアクティブ(Active)に変更され、前の証明書のステータスが非アクティブ(Inactive)に設定されます。アプリインスタンスのSSO操作に新しい証明書が使用されるようになりました。必要な場合、アクション(Actions)メニューから削除(Delete)を選択して、古い証明書を削除できます。
  7. 証明書が有効になるまで5分待ちます。フェデレーションされたユーザーでOffice 365アプリにサインインすることで、SSOが正しく機能することを確認します。