在混合标识环境中,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 参数
将 -Force 与 Set-AzureADKerberosServer 一起使用,命令即可在无需确认提示的情况下应用或更新 Kerberos 服务器配置。 此标志可确保保持一致的非中断执行,同时保持完整的安全控制。
Set-AzureADKerberosServer -Domain $domain -CloudCredential $cloudCred -DomainCredential $domainCred -RotateServerKey -Force
通常, -Force 在以下情况下使用:
- 重新运行命令以修复或协调配置。
- Kerberos 配置或密钥管理的自动化
- 从部分或失败的配置尝试中恢复。
- 确保跨环境保持一致状态,而无需手动确认。
何时轮换密钥
Microsoft不强制固定轮换间隔,但建议与现有的 Kerberos 安全做法保持一致。 常见方法包括:
- 旋转节奏与 Active Directory
krbtgt键相同。 - 作为计划内安全维护窗口的一部分进行轮换。
- 在可疑凭据泄露后立即轮换。