通过 HTTPS 进行身份验证
适用于:✅Azure 数据资源管理器
若要通过 HTTPS 与数据库交互,发出请求的主体必须使用 HTTP Authorization
请求标头进行身份验证。
语法
Authorization:
Bearer
AccessToken
详细了解语法约定。
参数
客户 | 类型 | 必需 | 说明 |
---|---|---|---|
AccessToken | string |
✔️ | 服务的 Microsoft Entra 访问令牌。 |
获取访问令牌
可以通过许多不同的方法获取 Microsoft Entra 访问令牌。 有关详细信息,请参阅用户身份验证和应用程序身份验证。
使用 Azure CLI 获取用户主体的访问令牌
以下步骤返回发出请求的用户主体的访问令牌。 确保该用户主体有权访问你打算访问的资源。 有关详细信息,请参阅基于角色的访问控制。
登录 Azure CLI。
az login --output table
查找
Default
列为true
的行。 确认该行中的订阅是你要为其创建 Microsoft Entra 访问令牌的订阅。 若要查找订阅信息,请参阅在 Azure 门户中获取订阅和租户 ID。 如果需要切换到其他订阅,请运行以下命令之一。az account set --subscription <SUBSCRIPTION_ID>
az account set --name "<SUBSCRIPTION_NAME>"
运行以下命令以获取访问令牌。
az account get-access-token \ --resource "https://api.kusto.chinacloudapi.cn" \ --query "accessToken"
使用 Azure CLI 获取服务主体的访问令牌
Microsoft Entra 服务主体代表需要访问资源的应用程序或服务,通常在 API 调用等非交互式方案中使用。 以下步骤指导你创建服务主体并获取此主体的持有者令牌。
登录 Azure CLI。
az login --output table
查找
Default
列为true
的行。 确认该行中的订阅是你要在其下创建服务主体的订阅。 若要查找订阅信息,请参阅在 Azure 门户中获取订阅和租户 ID。 如果需要切换到其他订阅,请运行以下命令之一。az account set --subscription <SUBSCRIPTION_ID>
az account set --name "<SUBSCRIPTION_NAME>"
创建服务主体。 以下命令将创建一个 Microsoft Entra 服务主体并返回该服务主体的
appId
、displayName
、password
和tenantId
。az ad sp create-for-rbac -n <SERVICE_PRINCIPAL_NAME>
向应用程序主体授予对你的数据库的访问权限。 例如,在数据库上下文中,使用以下命令将主体添加为用户。
.add database <DATABASE> users ('aadapp=<appId>;<tenantId>')
若要了解不同的角色及其分配方法,请参阅安全角色管理。
发送 HTTP 请求以请求访问令牌。 请将
<tenantId>
、<appId>
和<password>
替换为从上一个命令获取的值。 此请求返回一个包含访问令牌的 JSON 对象,你可以在请求中将其用作Authorization
标头的值。curl -X POST https://login.partner.microsoftonline.cn/<tenantId>/oauth2/token \ -F grant_type=client_credentials \ -F client_id=<appId> \ -F client_secret=<password> \ -F resource=https://api.kusto.chinacloudapi.cn
相关内容
- 身份验证概述
- 若要了解如何执行代表 (OBO) 身份验证或单页应用程序 (SPA) 身份验证,请参阅如何使用 Microsoft 身份验证库 (MSAL) 进行身份验证。