你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

通过 HTTPS 进行身份验证

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

语法

Authorization:BearerAccessToken

详细了解语法约定

参数

名称 类型 必需 说明
AccessToken string ✔️ 服务的Microsoft Entra访问令牌。

获取访问令牌

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

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

以下步骤返回发出请求的用户主体的访问令牌。 确保该用户主体有权访问你打算访问的资源。 有关详细信息,请参阅基于角色的访问控制

  1. 登录 Azure CLI。

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

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

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

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

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

  1. 登录 Azure CLI。

    az login --output table
    
  2. 查找 Default 列为 true 的行。 确认该行中的订阅是你要在其下创建服务主体的订阅。 若要查找订阅信息,请参阅在 Azure 门户中获取订阅和租户 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. 向应用程序主体授予对你的数据库的访问权限。 例如,在数据库上下文中,使用以下命令将主体添加为用户。

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

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

  5. 发送 HTTP 请求以请求访问令牌。 请将 <tenantId><appId><password> 替换为从上一个命令获取的值。 此请求返回一个包含访问令牌的 JSON 对象,你可以在请求中将其用作 Authorization 标头的值。

    curl -X POST https://login.microsoftonline.com/<tenantId>/oauth2/token \
      -F grant_type=client_credentials \
      -F client_id=<appId> \
      -F client_secret=<password> \
      -F resource=https://api.kusto.windows.net