通过 HTTPS 进行身份验证

使用 “版本 ”下拉列表切换服务。 了解有关导航的详细信息
适用于:✅ Azure Data Explorer

若要通过 HTTPS 与数据库交互,发出请求的主体必须使用 HTTP Authorization 请求标头进行身份验证。

语法

Authorization: Bearer AccessToken

详细了解语法约定

参数

客户 类型 必需 说明
AccessToken string ✔️ 服务的Microsoft Entra access 令牌。

获取access令牌

有多种不同的方法可用于获取 Microsoft Entra access 令牌。 有关详细信息,请参阅用户身份验证应用程序身份验证

使用Azure CLI获取用户主体的access令牌

以下步骤返回发出请求的用户主体的access令牌。 确保用户主体已access计划access的资源。 有关详细信息,请参阅基于 role 的 access control

  1. 登录到Azure CLI。

    az login --output table
    
  2. 查找 Default 列为 true 的行。 确认该行中的订阅是要为其创建 Microsoft Entra access 令牌的订阅。 若要查找订阅信息,请参阅获取Azure portal中的订阅和租户 ID。 如果需要切换到其他订阅,请运行以下命令之一。

    az account set --subscription <SUBSCRIPTION_ID>
    
    az account set --name "<SUBSCRIPTION_NAME>"
    
  3. 运行以下命令以获取access令牌。

    az account get-access-token \
      --resource "https://api.kusto.chinacloudapi.cn" \
      --query "accessToken"
    

使用 Azure CLI 获取服务主体的access令牌

Microsoft Entra 服务主体表示需要对资源access的应用程序或服务,通常在非交互式方案中(例如 API 调用)。 以下步骤指导你创建服务主体并获取此主体的持有者令牌。

  1. 登录到Azure CLI。

    az login --output table
    
  2. 查找 Default 列为 true 的行。 确认该行中的订阅是你要在其下创建服务主体的订阅。 若要查找订阅信息,请参阅获取Azure portal中的订阅和租户 ID。 如果需要切换到其他订阅,请运行以下命令之一。

    az account set --subscription <SUBSCRIPTION_ID>
    
    az account set --name "<SUBSCRIPTION_NAME>"
    
  3. 创建服务主体。 以下命令将创建一个 Microsoft Entra 服务主体并返回该服务主体的 appIddisplayNamepasswordtenantId

    az ad sp create-for-rbac -n <SERVICE_PRINCIPAL_NAME> 
    
  4. 向数据库授予应用程序主体access。 例如,在数据库上下文中,使用以下命令将主体添加为用户。

    .add database <DATABASE> users ('aadapp=<appId>;<tenantId>')
    

    若要了解不同的角色及其分配方法,请参阅安全角色管理

  5. 发送 HTTP 请求以请求access令牌。 请将 <tenantId><appId><password> 替换为从上一个命令获取的值。 此请求返回一个 JSON 对象,该对象包含access令牌,可以在请求中用作 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