向 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
)。