轮换 Microsoft Entra Kerberos 的 Kerberos 服务器密钥

在混合标识环境中,Microsoft Entra Kerberos 在本地Active Directory 域服务(AD DS)和Microsoft Entra ID之间使用共享 Kerberos 服务器密钥。 此密钥对Microsoft Entra ID颁发的票证授予票证(TGT)进行加密和保护。 本文介绍如何轮换密钥以维护安全性并符合Active Directory最佳做法。

密钥存储在本地 Active Directory中的专用 Microsoft Entra Kerberos 服务器对象上,并安全地发布到Microsoft Entra ID。 此对象是逻辑的,不是物理服务器,其功能类似于 Kerberos 信任的只读域控制器 (RODC)。

先决条件

  • AzureADHybridAuthenticationManagement已安装了 PowerShell 模块。
  • 本地部署的 AD DS 的域管理员凭据或同等凭据。
  • Microsoft Entra ID的云管理员凭据。
  • 已在 本地 Active Directory 中配置的 Microsoft Entra Kerberos 服务器对象。

了解密钥轮换为何重要

Kerberos 服务器密钥的定期轮换有助于:

  • 限制加密材料的生存期。
  • 如果密钥遭到入侵,请降低风险。
  • 遵循标准的 Kerberos 和 Active Directory 安全实践。

Microsoft 建议按照与其他 Active Directory Kerberos(krbtgt)密钥相同的计划轮换 Microsoft Entra Kerberos 服务器密钥。

密钥轮换的工作原理

Microsoft Entra Kerberos 使用双键模型来避免轮换期间的服务中断:

  • 主键:用于所有新颁发的 Kerberos 票证。
  • 辅助密钥:保留上一个密钥以验证现有票证,直到它们自然过期。

轮换密钥时,新密钥将成为主键,而以前的主密钥将保留为辅助密钥。 Microsoft Entra ID 使用主密钥验证 Kerberos 票证,同时仍接受由辅助密钥保护的票证。 此过程不会中断用户访问。

轮换Kerberos服务器密钥

使用 Set-AzureADKerberosServer cmdlet 轮换密钥。 此命令:

  • 生成新的 Kerberos 服务器密钥。
  • 将密钥存储在 本地 Active Directory Kerberos 服务器对象上。
  • 安全地将密钥发布到 Microsoft Entra ID。
  • 更新两个环境中的密钥版本。
Set-AzureADKerberosServer -Domain $domain -CloudCredential $cloudCred -DomainCredential $domainCred -RotateServerKey

Warning

还有其他工具可以轮换 krbtgt 密钥。 但是,必须使用 Set-AzureADKerberosServer cmdlet 来轮换 Microsoft Entra Kerberos 服务器的 krbtgt 密钥。 这可确保在本地 Active Directory 和 Microsoft Entra ID 中更新密钥。

Important

若要完全停用旧密钥,请执行两次轮换,确保原始主密钥和辅助密钥都已过期。

使用 -Force 参数

-ForceSet-AzureADKerberosServer 一起使用,命令即可在无需确认提示的情况下应用或更新 Kerberos 服务器配置。 此标志可确保保持一致的非中断执行,同时保持完整的安全控制。

Set-AzureADKerberosServer -Domain $domain -CloudCredential $cloudCred -DomainCredential $domainCred -RotateServerKey -Force

通常, -Force 在以下情况下使用:

  • 重新运行命令以修复或协调配置。
  • Kerberos 配置或密钥管理的自动化
  • 从部分或失败的配置尝试中恢复。
  • 确保跨环境保持一致状态,而无需手动确认。

何时轮换密钥

Microsoft不强制固定轮换间隔,但建议与现有的 Kerberos 安全做法保持一致。 常见方法包括:

  • 旋转节奏与 Active Directory krbtgt 键相同。
  • 作为计划内安全维护窗口的一部分进行轮换。
  • 在可疑凭据泄露后立即轮换。