管理 Microsoft Entra 服务帐户

Microsoft Entra ID 中有三种类型的服务帐户:托管标识、服务主体和用作服务帐户的用户帐户。 当你创建服务帐户以进行自动化使用时,将向它们授予访问 Azure 和 Microsoft Entra ID 中资源的权限。 资源可以包括 Microsoft 365 服务、软件即服务 (SaaS) 应用程序、自定义应用程序、数据库、HR 系统等。 管控 Microsoft Entra 服务帐户意味着管理其创建、权限和生命周期,以确保安全性和连续性。

了解详细信息:

注意

不建议将用户帐户用作服务帐户,因为它们不太安全。 这包括同步到 Microsoft Entra ID 的本地服务帐户,因为它们不会转换为服务主体。 相反,我们建议使用托管标识或服务主体,并使用条件访问。

详细了解:什么是条件访问?

规划服务帐户

创建服务帐户或注册应用程序之前,请记录服务帐户的密钥信息。 使用信息监视和管控帐户。 建议收集以下数据并在集中式配置管理数据库 (CMDB) 中对其进行跟踪。

数据 说明 详细信息
“所有者” 负责管理和监视服务帐户的用户或组 授予所有者权限以监视帐户并实施缓解问题的方法。 问题缓解由所有者完成,或通过向 IT 团队请求来完成。
目的 此帐户是如何使用的 将服务帐户映射到服务、应用程序或脚本。 避免创建多用途服务帐户。
权限(范围) 预期的权限集 记录其访问的资源以及这些资源的权限
CMDB 链接 链接到访问的资源以及在其中使用服务帐户的脚本 记录资源和脚本所有者以传达更改的影响
风险评估 风险和业务影响(如果帐户遭到入侵) 使用此信息来缩小权限范围,并确定信息的访问权限
审查时段 所有者对服务帐户进行评审的频率 查看通信和评审。 记录如果评审在计划评审期之后进行会发生什么。
生存期 预计最长帐户生存期 使用此度量值来安排与所有者的通信,禁用然后删除帐户。 为凭据设置到期日期,防止它们自动续期。
名称 标准化的账户名 为服务帐户创建命名约定以便于搜索、排序和筛选

最低权限原则

授予服务帐户执行任务所需的权限,不授予更多。 如果服务帐户需要高级权限(例如全局管理员),请评估原因并尝试减少权限。

建议为服务帐户特权应用以下做法。

权限

Get-MgDirectoryRoleMember,然后筛选 objectType "Service Principal",或使用
Get-MgServicePrincipal | % { Get-MgServicePrincipalAppRoleAssignment -ObjectId $_ }

  • 请参阅权限和同意简介来限制服务帐户可以在资源上访问的功能
  • 服务主体和托管标识可以在模拟登录用户的委托上下文中使用 Open Authorization (OAuth) 2.0 范围,或者在应用程序上下文中将其用作服务帐户。 在应用程序上下文中没有用户登录。
  • 确认资源的范围服务帐户请求
  • 确保你信任具有请求的访问权限的应用程序开发者或 API

持续时间

  • 将服务帐户凭据(客户端密码、证书)限制为预期的使用期限
  • 计划服务帐户使用和用途的定期评审
    • 确保在帐户过期之前进行评审

了解目的、范围、权限后,创建你的服务帐户,按照以下文章中的说明进行操作。

尽可能使用托管标识。 如果无法使用托管标识,请使用服务主体。 如果无法使用服务主体,请使用 Microsoft Entra 用户帐户。

构建生命周期过程

服务帐户的生命周期始于规划并终于永久性删除。 以下部分介绍了如何监视、评审权限、确定帐户的持续使用情况并最终取消预配帐户。

监视服务帐户

监视服务帐户,确保使用模式正确且使用了服务帐户。

收集和监视服务账户登录

使用下列监视方法之一:

使用以下屏幕截图查看服务主体登录。

服务主体登录的屏幕截图。

登录日志详细信息

在登录日志中查找以下详细信息。

  • 服务帐户未登录到租户
  • 登录服务帐户模式的变化

建议导出 Microsoft Entra 登录日志,然后将其导入安全信息和事件管理 (SIEM) 工具,如 Microsoft Sentinel。 使用 SIEM 工具生成警报和仪表板。

审查服务帐户权限

定期评审服务账户权限和访问的范围,以确定是否可以减少或移除它们。

再次验证服务帐户使用

建立常规评审流程以确保服务帐户定期由所有者、安全团队或 IT 团队进行评审。

此过程包括:

  • 确定服务帐户评审周期,并将其记录在 CMDB 中
  • 评审前与所有者、安全团队、IT 团队的通信
  • 确定警告通信及其时机(如果错过评审)
  • 所有者未能进行评审或响应的情况的说明
    • 在评审完成之前禁用帐户,但不要删除它
  • 用于确定依赖项的指令。 将影响告知资源所有者

评审包含所有者和 IT 合作伙伴,他们需要认证:

  • 帐户是必需的
  • 授予该帐户的权限是足够的和必要的,或需要进行更改
  • 对帐户的访问权限和凭据是受控制的
  • 帐户凭据是准确的:凭据类型和生存期
  • 自上次重新认证以来,帐户风险分数没有变化
  • 更新预期的帐户生存期和下一次重新认证日期

取消预配服务帐户

在下列情况下取消设置服务帐户:

  • 帐户脚本或应用程序已停用
  • 帐户脚本或应用程序函数已停用。 例如,对资源的访问。
  • 服务帐户被替换为另一个服务帐户
  • 凭据已过期,或者该帐户无法正常工作,并且没有收到投诉

取消预配包括以下任务:

取消预配关联的应用程序或脚本后:

  • Microsoft Entra ID 中的登录日志和服务帐户的资源访问
    • 如果帐户处于活动状态,则在继续之前确定其使用方式
  • 对于托管服务标识,禁用服务帐户登录,但不要将其从目录中删除
  • 撤消服务帐户的角色分配以及 OAuth2 许可批准
  • 在定义的时段后,并对所有者进行警告后,从目录中删除服务帐户

后续步骤