Настройка управления доступом для учетных записей хранения
Запросы к защищенному ресурсу в службе BLOB-объектов, файлов, очередей или таблиц должны быть авторизованы. Авторизация гарантирует, что ресурсы в вашей учетной записи хранения будут доступны только тогда, когда они должны быть и только тем пользователям или приложениям, которым вы предоставляете доступ. Выбор правильного метода авторизации является критически важным решением по обеспечению безопасности, которое должно соответствовать принципам нулевого доверия— проверять явно, использовать минимальный доступ к привилегиям и предполагать нарушение.
В приведенной ниже таблице перечислены возможности, которые служба хранилища Azure предлагает для авторизации доступа к ресурсам.
| Артефакт Azure | Общий ключ (ключ учетной записи хранения) | Подписанный общий ключ доступа (SAS) | Идентификатор Microsoft Entra | Локальные службы домен Active Directory | Анонимный общедоступный доступ на чтение |
|---|---|---|---|---|---|
| Azure Блобы | Поддерживается | Поддерживается | Поддерживается | Не поддерживается | Поддерживается |
| Файлы Azure (SMB) | Поддерживается | Не поддерживается | Поддерживается в доменных службах Microsoft Entra или Microsoft Entra Kerberos | Поддерживаемые учетные данные должны быть синхронизированы с идентификатором Microsoft Entra | Не поддерживается |
| Файлы Azure (REST) | Поддерживается | Поддерживается | Поддерживается | Не поддерживается | Не поддерживается |
| Очереди Azure | Поддерживается | Поддерживается | Поддерживается | Не поддерживается | Не поддерживается |
| Таблицы Azure | Поддерживается | Поддерживается | Поддерживается | Не поддерживается | Не поддерживается |
Ниже кратко описан каждый метод авторизации.
Идентификатор Microsoft Entra (рекомендуется): идентификатор Microsoft Entra — это облачная служба управления удостоверениями и доступом Майкрософт. Интеграция Microsoft Entra ID доступна для служб BLOB, файлов, очередей и таблиц. С помощью идентификатора Microsoft Entra можно назначить точный доступ к пользователям, группам или приложениям с помощью управления доступом на основе ролей Azure (RBAC). RBAC — это самый безопасный метод, так как он устраняет необходимость хранения учетных данных в коде и поддерживает расширенные функции безопасности, такие как условный доступ, многофакторная проверка подлинности и управляемые удостоверения.
Авторизация доменных служб Microsoft Entra для файлов Azure. Файлы Azure поддерживают авторизацию на основе удостоверений через блок сообщений сервера (SMB) через доменные службы Microsoft Entra. Вы можете использовать Azure RBAC для управления доступом на уровне общего доступа и списков управления доступом Windows для разрешений на уровне файлов и каталогов, обеспечивая подробный контроль доступа клиента к ресурсам Службы файлов Azure.
Авторизация Active Directory (AD) для файлов Azure. Файлы Azure поддерживают авторизацию на основе удостоверений через SMB через локальные доменные службы Active Directory. Доменная служба AD может размещаться на локальных компьютерах или на виртуальных машинах Azure. Доступ SMB к файлам поддерживается с использованием учетных данных AD с компьютеров, присоединенных к домену, локально или в Azure. Вы можете использовать Azure RBAC для управления доступом на уровне общего доступа и DACLs NTFS (списки управления доступом по усмотрению) для применения разрешений на уровне каталога и файлов. Учетные данные должны быть синхронизированы с идентификатором Microsoft Entra.
Общий ключ: авторизация общего ключа зависит от ключей доступа к учетной записи и других параметров для создания зашифрованной строки подписи, передаваемой в заголовке авторизации запроса. Недостатком является общий ключ, предоставляющий полный доступ к учетной записи хранения, и его следует избегать, когда это возможно. Рекомендуется отключить авторизацию общего ключа, если сценарии поддерживают проверку подлинности на основе удостоверений.
Разделяемые сигнатуры доступа (SAS): разделяемые сигнатуры доступа делегируют доступ к определенному ресурсу в вашей учетной записи с указанными разрешениями и в течение указанного временного интервала. Существует три типа SAS:
- SAS делегирования доступа пользователями (защищенный учетными данными Microsoft Entra, рекомендуется)
- SAS службы
- SAS учетной записи (обе защищенные с помощью ключа учетной записи хранения)
Замечание
При необходимости использования SAS, предпочитайте SAS для делегирования пользователей для хранилища BLOB, так как он обеспечивает более высокий уровень безопасности.
Анонимный доступ к контейнерам и BLOB-объектам: Вы можете при необходимости сделать ресурсы BLOB-объектов общедоступными на уровне контейнера или самого BLOB-объекта. Общедоступный контейнер или BLOB-объект дает любому пользователю анонимный доступ на чтение. Для запросов на чтение к общедоступным контейнерам и BLOB-объектам не требуется авторизация.
Замечание
Анонимный общедоступный доступ может представлять угрозу безопасности. Рекомендуется отключить анонимный доступ на уровне учетной записи облачного хранилища, если это не требуется специально, и использовать маркеры SAS с ограниченным доступом.
Рекомендации по обеспечению безопасности
Проверка подлинности и авторизация доступа к большим двоичным объектам, файлам, очередям и табличным данным с помощью Идентификатора Microsoft Entra обеспечивает более высокую безопасность и удобство использования по сравнению с другими параметрами авторизации. Например, используя идентификатор Microsoft Entra, не следует хранить ключ доступа к учетной записи с кодом, как и при авторизации общего ключа. Несмотря на то что вы можете продолжать использовать авторизацию общего ключа с приложениями больших двоичных объектов и очередей, корпорация Майкрософт настоятельно рекомендует перейти к идентификатору Microsoft Entra по возможности.
Аналогичным образом можно продолжать использовать подписанные URL-адреса (SAS) для предоставления точного доступа к ресурсам в учетной записи хранения, но идентификатор Microsoft Entra предлагает аналогичные возможности без необходимости управлять маркерами SAS или беспокоиться о отмене скомпрометированного SAS. Если требуется SAS, всегда предпочитайте SAS с делегированием пользователей вместо SAS учетной записи или SAS службы.
Рекомендации по выбору метода авторизации:
- Первый вариант. Используйте идентификатор Microsoft Entra с управляемыми удостоверениями для ресурсов Azure при запуске приложения в Azure.
- Второй вариант: используйте Microsoft Entra ID с учетными данными службы для приложений, которым требуется программный интерфейс.
- Третий вариант: если SAS требуется для делегирования доступа, используйте SAS для делегирования пользователей для хранилища объектов Blob.
- Последний вариант: используйте только общий ключ, если другой параметр недоступен, и попробуйте отключить его на уровне учетной записи хранения, чтобы предотвратить непреднамеренное использование.
- Анонимный доступ: отключите по умолчанию, если у вас есть определенное требование к доступу к общедоступным BLOB-объектам; в этом случае тщательно ограничьте доступ к определенным контейнерам.