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


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

Существует два способа проверки подлинности и авторизации доступа к ресурсам Azure Relay: идентификатор Microsoft Entra и подписанные URL-адреса (SAS). В этой статье подробно описывается использовании обоих механизмов безопасности.

Microsoft Entra ID

Интеграция Microsoft Entra для ресурсов Ретрансляции Azure обеспечивает управление доступом на основе ролей Azure (Azure RBAC) для точного контроля доступа клиента к ресурсам. Вы можете с помощью Azure RBAC предоставить разрешения субъекту безопасности, то есть пользователю, группе или субъекту-службе приложения. Субъект безопасности проходит проверку подлинности с помощью идентификатора Microsoft Entra для возврата маркера OAuth 2.0. Маркер можно использовать для авторизации запроса на доступ к ресурсу Azure Relay.

Дополнительные сведения о проверке подлинности с помощью идентификатора Microsoft Entra см. в следующих статьях:

Важно!

Авторизация пользователей или приложений с помощью маркера OAuth 2.0, возвращаемого идентификатором Microsoft Entra, обеспечивает более высокую безопасность и простоту использования через подписанные URL-адреса (SAS). С идентификатором Microsoft Entra не требуется хранить маркеры в коде и риск потенциальных уязвимостей безопасности. Мы рекомендуем использовать идентификатор Microsoft Entra с приложениями Azure Relay, когда это возможно.

Встроенные роли

Для Azure Relay управление пространствами имен и всеми связанными ресурсами через портал Azure и API управления ресурсами Azure уже защищено с помощью модели Azure RBAC. В Azure предоставляются следующие встроенные роли Azure для авторизации доступа к пространству имен Relay:

Роль Описание
Владелец Azure Relay Эта роль обеспечивает полный доступ к ресурсам Azure Relay.
Прослушиватель Azure Relay Эта роль предоставляет права на прослушивание и чтение сущностей при доступе к ресурсам Azure Relay.
Отправитель Azure Relay Эта роль предоставляет права на отправку и чтение сущностей при доступе к ресурсам Azure Relay.

Подписанный URL-адрес

Приложения могут проходить проверку подлинности в ретрансляторе Azure с помощью подписанного URL-адреса (SAS). Аутентификация с помощью SAS позволяет проверить подлинность приложений в службе ретранслятора Azure с помощью ключа доступа, настроенного в пространстве имен ретранслятора. Затем этот ключ можно использовать для создания маркера подписанного URL-адреса, который клиенты могут использовать при проверке подлинности в службе ретранслятора.

Проверка подлинности с помощью SAS позволяет предоставлять пользователю доступ к ресурсам ретранслятора Azure с определенными правами. Проверка подлинности SAS предусматривает настройку соответствующих прав на ресурс для криптографического ключа. Затем клиенты могут получить доступ к этому ресурсу. Для этого им нужно предоставить маркер SAS, который состоит из универсального кода ресурса (URI) данного ресурса, а также указать срок действия, подписанный с использованием настроенного ключа.

Ключи для SAS можно настроить в пространстве имен ретранслятора. В отличие от обмена сообщениями в служебной шине, при гибридных подключениях в ретрансляторе поддерживаются неавторизованные и анонимные отправители. Анонимный доступ для сущности можно включить при ее создании, как показано на следующем снимке экрана с портала.

A dialog box titled

Чтобы использовать SAS, в пространстве имен Relay можно настроить объект SharedAccessAuthorizationRule, который содержит следующие свойства:

  • KeyName — определяет правило.
  • PrimaryKey — криптографический ключ, используемый для подписи и проверки маркеров SAS.
  • SecondaryKey — криптографический ключ, используемый для подписи и проверки маркеров SAS.
  • Rights — набор прав на прослушивание, отправку или управление.

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

Чтобы получить доступ к сущности, клиенту требуется маркер SAS, созданный с помощью определенного правила SharedAccessAuthorizationRule. Маркер SAS создается с помощью хэш-функции HMAC-SHA256 строки ресурса, состоящей из URI ресурса, к которому запрашивается доступ, и срока действия с криптографическим ключом, связанным с правилом авторизации.

Поддержка проверки подлинности SAS для ретранслятора Azure включена в пакет Azure SDK для .NET 2.0 и более поздних версий. SAS включает в себя поддержку правила SharedAccessAuthorizationRule. Все интерфейсы API, которые принимают строку подключения в качестве параметра, поддерживают строки подключения SAS.

Примеры

  • Гибридные Подключение ions: .NET, Java, JavaScript
  • Ретранслятор WCF: .NET

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