Поделиться через


Проверка подлинности по протоколу HTTPS

Область применения: ✅Microsoft Fabric✅Azure Data Explorer

Чтобы взаимодействовать с базой данных по протоколу HTTPS, субъект, выполняя запрос, должен пройти проверку подлинности с помощью заголовка HTTP-запроса Authorization .

Синтаксис

Authorization:Bearer AccessToken

Дополнительные сведения о соглашениях синтаксиса.

Параметры

Имя (название) Type Обязательно Описание
AccessToken string ✔️ Маркер доступа Microsoft Entra для службы.

Получение маркера доступа.

Существует множество различных методов получения маркера доступа Microsoft Entra. Дополнительные сведения см. в статье о проверке подлинности пользователей и проверке подлинности приложений.

Получение маркера доступа для участника-пользователя с помощью Azure CLI

Следующие действия возвращают маркер доступа для участника-пользователя, выполняющего запрос. Убедитесь, что субъект-пользователь имеет доступ к ресурсу, к который вы планируете получить доступ. Дополнительные сведения см. в разделе "Управление доступом на основе ролей".

  1. Войдите в Azure CLI.

    az login --output table
    
  2. Найдите строку, в которой находится trueстолбецDefault. Убедитесь, что подписка в этой строке — это подписка, для которой вы хотите создать маркер доступа 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. Найдите строку, в которой находится trueстолбецDefault. Убедитесь, что подписка в этой строке — это подписка, в которой нужно создать субъект-службу. Чтобы найти сведения о подписке, ознакомьтесь с идентификаторами подписки и клиента в портал Azure. Если необходимо переключиться на другую подписку, выполните одну из следующих команд.

    az account set --subscription <SUBSCRIPTION_ID>
    
    az account set --name "<SUBSCRIPTION_NAME>"
    
  3. Создание субъекта-службы. Следующая команда создает субъект-службу Microsoft Entra и возвращает appIdсубъект-службу , displayNamepasswordа также tenantId субъект-службу.

    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