共用方式為


透過 HTTPS 進行驗證

適用於: ✅Microsoft網狀架構Azure 數據總管

若要透過 HTTPS 與資料庫互動,提出要求的主體必須使用 HTTP Authorization 要求標頭進行驗證。

語法

Authorization:Bearer AccessToken

深入瞭解 語法慣例

參數

姓名 類型​​ 必要 描述
AccessToken string ✔️ 服務Microsoft Entra 存取令牌。

取得存取權杖

有許多不同的方法來取得Microsoft Entra 存取令牌。 若要深入瞭解,請參閱 使用者驗證應用程式驗證

使用 Azure CLI 取得用戶主體的存取令牌

下列步驟會傳回發出要求之用戶主體的存取令牌。 請確定用戶主體可以存取您計劃存取的資源。 如需詳細資訊,請參閱角色型存取控制

  1. 登入 Azure CLI。

    az login --output table
    
  2. 尋找數據列 Defaulttrue的數據列。 確認該數據列中的訂用帳戶是您要建立Microsoft Entra 存取令牌的訂用帳戶。 若要尋找訂用帳戶資訊,請參閱取得 Azure 入口網站 中的訂用帳戶和租用戶標識碼。 如果您需要切換至不同的訂用帳戶,請執行下列其中一個命令。

    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. 尋找數據列 Defaulttrue的數據列。 確認該數據列中的訂用帳戶是您要在其中建立服務主體的訂用帳戶。 若要尋找訂用帳戶資訊,請參閱取得 Azure 入口網站 中的訂用帳戶和租用戶標識碼。 如果您需要切換至不同的訂用帳戶,請執行下列其中一個命令。

    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 要求以要求存取令牌。 將、 <appId><password> 取代<tenantId>為從上一個命令取得的值。 此要求會傳回包含存取令牌的 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