开发人员面临着一个共同的挑战,那就是如何管理用于保护服务之间通信安全的机密、凭据、证书和密钥。 托管标识使开发人员无需管理这些凭据。
虽然开发人员可以安全地将机密存储在 Azure Key Vault 中,但服务需要一种方法来访问 Azure Key Vault。 托管标识在Microsoft Entra ID 中为应用程序提供自动托管标识,以便在连接到支持Microsoft Entra 身份验证的资源时使用。 应用程序可以使用托管标识来获取 Microsoft Entra 令牌,无需管理任何凭据。
下面是使用托管标识的一些好处:
- 你无需管理凭据。 你甚至无法访问凭据。
- 可以使用托管标识向支持Microsoft Entra 身份验证的任何资源(包括你自己的应用程序)进行身份验证。
- 使用托管标识不会产生额外成本。
Azure 中可用的托管标识类型
托管标识分为两种类型:
系统分配:某些 Azure 资源类型(例如 Azure Database for PostgreSQL 灵活服务器)允许直接在资源上启用托管标识。 它们称为系统分配的托管标识。 启用系统分配的托管标识时:
在 Microsoft Entra ID 中为该标识创建特殊类型的服务主体。 该服务主体与该 Azure 资源的生命周期相关联。 当 Azure 资源被删除时,Azure 会自动为您删除该服务主体。
按照设计,只有该 Azure 资源可以使用此标识从 Microsoft Entra ID 请求令牌。
可以授权与托管标识关联的服务主体有权访问一个或多个服务。
分配给与托管标识关联的服务主体的名称始终与为其创建的 Azure 资源的名称相同。
用户分配:某些 Azure 资源类型还支持将用户创建的托管标识分配为独立资源。 这些标识的生命周期独立于分配给这些标识的资源的生命周期。 可以将这些资源分配给多个资源。 启用用户分配的托管标识时:
在 Microsoft Entra ID 中为该标识创建特殊类型的服务主体。 该服务主体与使用它的资源是分开管理的。
多个资源可以利用用户分配的标识。
授权托管标识对一个或多个服务的访问权限。