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


Проверка подлинности конфиденциального реестра Azure с помощью идентификатора Microsoft Entra

Рекомендуемый способ доступа к конфиденциальному реестру Azure заключается в проверке подлинности в службе идентификатора Microsoft Entra ID . Это гарантирует, что конфиденциальный реестр Azure никогда не получает учетные данные каталога субъекта доступа.

Для этого клиент выполняет двухфакторный процесс:

  1. На первом шаге клиент:
    1. Взаимодействует со службой Microsoft Entra.
    2. Выполняет проверку подлинности в службе Microsoft Entra.
    3. Запрашивает маркер доступа, выданный специально для конфиденциального реестра Azure.
  2. На втором шаге клиент выдает запросы к конфиденциальному реестру Azure, предоставляя маркер доступа, приобретенный на первом шаге в качестве подтверждения удостоверения конфиденциальному реестру Azure.

Затем конфиденциальный реестр Azure выполняет запрос от имени субъекта безопасности, для которого идентификатор Microsoft Entra id выпустил маркер доступа. Все проверки авторизации выполняются с помощью этого удостоверения.

В большинстве случаев рекомендуется использовать один из пакетов SDK для конфиденциального реестра Azure для доступа к службе программным способом, так как они удаляют большую часть спешки реализации приведенного выше потока (и многое другое). См. пример клиентской библиотеки Python и клиентской библиотеки .NET.

Основными сценариями проверки подлинности являются:

  • Клиентское приложение, выполняющее проверку подлинности вошедшего пользователя: в этом сценарии интерактивное (клиентское) приложение активирует запрос Microsoft Entra пользователю на получение учетных данных (например, имени пользователя и пароля). См . проверку подлинности пользователей.

  • Приложение без головы: в этом сценарии приложение работает без пользователя для предоставления учетных данных. Вместо этого приложение проходит проверку подлинности как само по себе в идентификаторе Microsoft Entra с помощью некоторых учетных данных, с которыми он был настроен. См . проверку подлинности приложения.

  • От имени проверки подлинности. В этом сценарии иногда называется "веб-служба" или "веб-приложение", приложение получает маркер доступа Microsoft Entra из другого приложения, а затем преобразует его в другой маркер доступа Microsoft Entra, который можно использовать с конфиденциальным реестром Azure. Другими словами, приложение выступает в качестве посредника между пользователем или приложением, предоставляющим учетные данные и службу конфиденциального реестра Azure. См . проверку подлинности от имени.

Параметры Microsoft Entra

Ресурс Microsoft Entra для конфиденциального реестра Azure

При получении маркера доступа из идентификатора Microsoft Entra клиент должен указать, какой ресурс Microsoft Entra следует выдать маркеру. Ресурс Microsoft Entra конечной точки конфиденциального реестра Azure — это универсальный код ресурса (URI) конечной точки, за исключением сведений о портах и пути.

Например, если у вас есть конфиденциальный реестр Azure с именем myACL, URI будет следующим:

https://myACL.confidential-ledger.azure.com

Идентификатор клиента Microsoft Entra

Идентификатор Microsoft Entra — это мультитенантная служба, и каждая организация может создать объект, называемый каталогом в идентификаторе Microsoft Entra. Объект каталога содержит объекты, связанные с безопасностью, такие как учетные записи пользователей, приложения и группы. Идентификатор Microsoft Entra часто ссылается на каталог как клиент. Клиенты Microsoft Entra определяются идентификатором GUID (идентификатором клиента). Во многих случаях клиенты Microsoft Entra также могут быть идентифицированы доменным именем организации.

Например, организация с именем Contoso может иметь идентификатор aaaabbbb-0000-cccc-1111-dddd2222eeee клиента и доменное имя contoso.com.

Конечная точка центра записи Майкрософт

Идентификатор Microsoft Entra id имеет множество конечных точек для проверки подлинности:

  • Когда клиент, на котором размещен субъект, проходит проверку подлинности, известен (иными словами, когда пользователь или приложение находятся в каталоге Microsoft Entra), конечная точка Microsoft Entra .https://login.microsoftonline.com/{tenantId} {tenantId} Здесь используется либо идентификатор клиента организации в идентификаторе Microsoft Entra, либо его доменное имя (например, contoso.com).
  • Если клиент, на котором выполняется проверка подлинности участника, не известен, конечная точка "common" может использоваться, заменив приведенный {tenantId} выше значением common.

Конечная точка службы Microsoft Entra, используемая для проверки подлинности, также называется URL-адресом центра Microsoft Entra или просто центром Microsoft Entra.

Примечание.

Конечная точка службы Microsoft Entra изменяется в национальных облаках. При работе со службой конфиденциального реестра Azure, развернутой в национальном облаке, задайте соответствующую конечную точку службы Microsoft Entra национального облака. Чтобы изменить конечную точку, задайте переменную AadAuthorityUri среды требуемым универсальным кодом ресурса (URI).

Проверка подлинности пользователя

Самый простой способ доступа к конфиденциальному реестру Azure с проверкой подлинности пользователя — использовать пакет SDK конфиденциального реестра Azure и задать Federated Authentication для свойства конфиденциального реестра Azure строка подключенияtrue. При первом использовании пакета SDK для отправки запроса в службу пользователю будет предоставлена форма входа для ввода учетных данных Microsoft Entra. После успешной проверки подлинности запрос будет отправлен в конфиденциальный реестр Azure.

Приложения, не использующие пакет SDK конфиденциального реестра Azure, по-прежнему могут использовать библиотеку проверки подлинности Майкрософт (MSAL) вместо реализации клиента протокола безопасности службы Microsoft Entra. См. раздел "Включить веб-приложения для входа пользователей и вызова API с помощью платформа удостоверений Майкрософт для разработчиков".

Если приложение предназначено для работы в качестве интерфейсного интерфейса и проверки подлинности пользователей для кластера конфиденциального реестра Azure, приложение должно быть предоставлено делегированным разрешениям в конфиденциальном реестре Azure.

Проверка подлинности приложения

Приложения, использующие проверку подлинности конфиденциального реестра Azure, с помощью маркера из идентификатора Microsoft Entra. Владелец приложения должен сначала зарегистрировать его в идентификаторе Microsoft Entra. Кроме того, при регистрации создается второй объект приложения, который представляет это приложение для всех клиентов.

Подробные инструкции по регистрации приложения конфиденциального реестра Azure с помощью идентификатора Microsoft Entra см. в следующих статьях:

В конце регистрации владелец приложения получает следующие значения.

  • Идентификатор приложения (также известный как идентификатор клиента Microsoft Entra или appID)
  • Ключ проверки подлинности (также известный как общий секрет).

Чтобы получить маркер, приложение должно представить оба этих значения идентификатору Microsoft Entra.

Пакеты SDK конфиденциальной реестра Azure используют клиентская библиотека удостоверений Azure, которая позволяет легко выполнять проверку подлинности в конфиденциальном реестре Azure в разных средах с одинаковым кодом.

.NET Python Java JavaScript
Azure Identity SDK для .NET Azure Identity SDK для Python Azure Identity SDK для Java Azure Identity SDK для JavaScript

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

В этом сценарии приложение было отправлено маркером доступа Microsoft Entra для некоторых произвольных ресурсов, управляемых приложением, и он использует этот маркер для получения нового маркера доступа Microsoft Entra для ресурса конфиденциального реестра Azure, чтобы приложение могло получить доступ к конфиденциальному реестру от имени субъекта, указанного исходным маркером доступа Microsoft Entra.

Этот поток называется потоком обмена маркерами OAuth2. Обычно для него требуется несколько шагов конфигурации с идентификатором Microsoft Entra, а в некоторых случаях (в зависимости от конфигурации клиента Microsoft Entra) может потребоваться специальное согласие администратора клиента Microsoft Entra.

Следующие шаги