向 Azure Key Vault 进行身份验证

已完成

使用 Key Vault 进行身份验证与 Microsoft Entra ID 配合使用,该 ID 负责验证任何指定安全主体的身份标识。

对于应用程序,有两种方法可以获取服务主体:

  • 为应用程序启用系统分配的 托管标识 。 使用托管标识,Azure 在内部管理应用程序的服务主体,并使用其他 Azure 服务自动对应用程序进行身份验证。 托管标识适用于部署到各种服务的应用程序。

  • 如果无法使用托管标识,请改为在 Microsoft Entra 租户中注册应用程序。 注册还会创建第二个应用程序对象,以便在所有租户中识别该应用。

注意

建议使用系统分配的托管标识。

下面是在不使用托管标识的情况下向 Key Vault 进行身份验证的信息。

在应用程序代码中向 Key Vault 进行身份验证

Key Vault SDK 使用 Azure 标识客户端库,该库允许跨具有相同代码的环境无缝身份验证 Key Vault。 下表提供有关 Azure 标识客户端库的信息:

.NET 爪哇岛 Javascript
Azure 标识 SDK .NET Azure 标识 SDK Python Azure 标识 SDK Java Azure 标识 SDK JavaScript

使用 REST 向 Key Vault 进行身份验证

必须使用 HTTP 授权标头将访问令牌发送到服务:

PUT /keys/MYKEY?api-version=<api_version>  HTTP/1.1  
Authorization: Bearer <access_token>

如果未提供访问令牌,或者服务不接受令牌,则会将 HTTP 401 错误返回到客户端,并将包括 WWW-Authenticate 标头,例如:

401 Not Authorized  
WWW-Authenticate: Bearer authorization="…", resource="…"

WWW-Authenticate 标头上的参数包括:

  • authorization:可用于获取请求访问令牌的 OAuth2 授权服务的地址。

  • 资源:在授权请求中使用的资源名称(https://vault.azure.net)。

其他资源