将 Azure 托管标识与 Azure Monitor SCOM 托管实例

构建云应用程序时面临的一个常见挑战是如何安全地管理代码中的凭据,以便对各种服务进行身份验证,而无需将它们保存在开发人员工作站或源代码管理中。 

Azure 托管标识 通过为 Azure Active Directory 中的所有资源提供自动托管标识来解决此问题。 可以使用服务的标识对支持 Azure Active Directory 身份验证的任何服务(包括 Key Vault)进行身份验证,而无需对代码中的任何凭据进行排序。

注意

  • Azure 托管标识 是服务的新名称,以前称为托管服务标识 (MSI) 。
  • Azure 资源的托管标识在 Azure 订阅的 Azure Active Directory 中是免费的。 没有额外费用。

概念

Azure 的托管标识基于几个关键概念:

  • 客户端 ID - Azure Active Directory 生成的唯一标识符,在初始预配期间绑定到应用程序和服务主体。 有关详细信息,请参阅 应用程序 (客户端) ID

  • 主体 ID - 托管标识的服务主体对象的对象 ID,用于授予对 Azure 资源的基于角色的访问权限。

  • 服务主体 - 一个 Azure Active Directory 对象,表示 Azure Active Directory 应用程序在给定租户上的投影。 有关详细信息,请参阅 服务主体

托管标识类型

托管标识分为两种类型:

  • 系统分配的托管标识:直接在 Azure 服务实例上启用。 系统分配标识的生命周期对于启用它的 Azure 服务实例来说是独一无二的。

  • 用户分配的托管标识:创建为独立的 Azure 资源。 可以将该标识分配给一个或多个 Azure 服务实例,并独立于这些实例的生命周期对其进行管理。

有关托管标识类型的详细信息,请参阅 Azure 资源的托管标识如何工作?

SCOM 托管实例支持的方案

对于 Azure 中部署的 SCOM 托管实例,SCOM 托管实例支持系统分配的托管标识和用户分配的托管标识。 SCOM 托管实例创建其他依赖项资源,例如虚拟机规模集 (VMSS) 群集到主机管理服务器。 SCOM 托管实例将托管标识加入到 HOBO v2 中,以便将分配的标识委托给底层基础结构,以便对接收器资源进行身份验证。 这些标识用于在不同方案中对其他 Azure 服务进行身份验证。

  • 系统分配的托管标识

    • SCOM 托管实例会将不同的运行状况或性能指标发送到 Geneva 群集服务,并在运行时监视实例行为。 委派给 SCOM 托管实例资源的系统分配标识将用于向 Azure Geneva 群集服务进行身份验证。
  • 用户分配的托管标识

    • 对于 SCOM 托管实例,托管标识将取代传统的四个 System Center Operations Manager 服务帐户,并用于访问 SQL 托管实例 数据库。 SCOM 托管实例客户工作负荷监视数据读取/写入 SQL 托管实例数据库。 分配给 SCOM 托管实例资源的用户分配标识将用于从 System Center Operations Manager 服务器到 SQL 托管实例的身份验证。

    • SCOM 托管实例载入过程采用存储在客户密钥保管库中的域用户凭据。 使用分配给 SCOM 托管实例的托管标识访问客户密钥保管库中的机密。

    在 SCOM 托管实例载入期间,必须提供用户托管标识,该标识有权访问客户密钥保管库和SQL 托管实例。

(MSI) 创建托管服务标识

创建 托管服务标识 ,并在 Azure 资源上为其提供适当的访问级别。

创建密钥保管库,并将凭据添加为密钥保管库中的机密

将你在 Active Directory 中创建的域帐户存储在 Key Vault 帐户中,以便安全。 Azure Key Vault 是一项云服务,它为密钥、机密和证书提供了安全的存储。 有关详细信息,请参阅 Azure Key Vault

在SQL 托管实例中设置 Active Directory 管理员 值

在SQL 托管实例中设置 Active Directory 管理员值