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


Проверка подлинности Azure в построителе API данных

Построитель API данных позволяет разработчикам определять механизм проверки подлинности (поставщик удостоверений), который они хотят, чтобы построитель API данных использовался для проверки подлинности, выполняющего запросы.

Проверка подлинности делегирована поддерживаемой поставщику удостоверений, где можно вывести маркер доступа. Полученный маркер доступа должен быть включен в входящие запросы к построителю API данных. Затем построитель API данных проверяет все представленные маркеры доступа, гарантируя, что построитель API данных был целевой аудиторией маркера.

Поддерживаемые параметры конфигурации поставщика удостоверений:

  • StaticWebApps
  • Веб-токены JSON (JWT)

В разработке (AZ Login)

Использование Authentication='Active Directory Default' в строках подключения к базе данных SQL Azure означает, что клиент будет проходить проверку подлинности с помощью учетных данных Azure Active Directory (AAD). Точный метод проверки подлинности определяется средой. Когда разработчик запускает az login, Azure CLI открывает окно браузера, предлагающее пользователю войти с помощью учетной записи Майкрософт или корпоративных учетных данных. После проверки подлинности Azure CLI извлекает и кэширует маркер, связанный с удостоверением Azure Active Directory. Затем этот маркер используется для проверки подлинности запросов к службам Azure, не требуя учетных данных в строке подключения.

"data-source": {
    "connection-string": "...;Authentication='Active Directory Default';"
}

Чтобы настроить локальные учетные данные, просто используйте az login после установки Azure CLI.

az login

Проверка подлинности статических веб-приложений Azure (EasyAuth)

Конструктор API данных требует аутентификации с помощью статических веб-приложений Azure (EasyAuth) для аутентификации запроса и предоставления метаданных о пользователе, который прошел аутентификацию, в заголовке HTTP X-MS-CLIENT-PRINCIPAL при использовании параметра StaticWebApps. На метаданные пользователя, прошедшие проверку подлинности статическими веб-приложениями, можно ссылаться в следующей документации: доступ к сведениям о пользователях.

Чтобы использовать поставщик StaticWebApps, необходимо указать следующую конфигурацию в разделе runtime.host файла конфигурации:

"authentication": {
    "provider": "StaticWebApps"
}

Использование поставщика StaticWebApps полезно при планировании запуска построителя API данных в Azure, размещения его с помощью службы приложений и его запуска в контейнере: запуск пользовательского контейнера в службе приложений Azure.

JWT

Чтобы использовать поставщик JWT, необходимо настроить раздел runtime.host.authentication, указав необходимые сведения для проверки полученного токена JWT:

"authentication": {
    "provider": "AzureAD",
    "jwt": {
        "audience": "<APP_ID>",
        "issuer": "https://login.microsoftonline.com/<AZURE_AD_TENANT_ID>/v2.0"
    }
}

Выбор ролей

После проверки подлинности запроса с помощью любого из доступных параметров роли, определенные в маркере, используются для определения того, как правила разрешений оцениваются авторизовать запрос. Любой прошедший проверку подлинности запрос автоматически назначается системной роли authenticated, если для использования не запрашивается роль пользователя. Дополнительные сведения см. в авторизации .

Анонимные запросы

Запросы также можно выполнять без проверки подлинности. В таких случаях запрос автоматически назначается системной роли anonymous, чтобы он был правильно авторизованным.

Заголовок запроса X-MS-API-ROLE

Для авторизации запросов с помощью пользовательских ролей API Data Builder требуется заголовок X-MS-API-ROLE. Значение X-MS-API-ROLE должно соответствовать роли, указанной в маркере. Например, если маркер имеет роль Sample.Role, тоAPI-ROLE X-MS-API-ROLE также должно быть Sample.Role. Дополнительные сведения см. в ролях авторизации пользователей .