Проверка подлинности и авторизация в ретрансляторе 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 см. в следующих статьях:
- Проверка подлинности с помощью управляемых удостоверений
- Проверка подлинности из приложения 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:
Роль | Description |
---|---|
Владелец 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 можно настроить в пространстве имен ретранслятора. В отличие от обмена сообщениями в служебной шине, при гибридных подключениях в ретрансляторе поддерживаются неавторизованные и анонимные отправители. Анонимный доступ для сущности можно включить при ее создании, как показано на следующем снимке экрана с портала.
Чтобы использовать 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.
Примеры
- Гибридные подключения: .NET, Java, JavaScript
- Ретранслятор WCF: .NET
Следующие шаги
- Дополнительные сведения о SAS см. в статье Аутентификация служебной шины с помощью подписанных URL-адресов.
- Подробные сведения о функции гибридных подключений см. в руководстве Протокол гибридных подключений ретранслятора Azure.
- Соответствующую информацию о проверке подлинности и авторизации с помощью обмена сообщениями в служебной шине см. в этой статье.