Авторизация доступа к Хранилище BLOB-объектов Azure с помощью условий назначения ролей Azure

Управление доступом на основе атрибутов (ABAC) — это стратегия авторизации, которая определяет уровни доступа на основе атрибутов, связанных с субъектами безопасности, ресурсами, средой и самими запросами. С помощью ABAC вы можете предоставить субъекту безопасности доступ к ресурсу на основе условия, выраженного в качестве предиката, с использованием этих атрибутов.

Система Azure ABAC основана на управлении доступом на основе ролей Azure (Azure RBAC). Она позволяет добавлять условия для назначения ролей Azure. Он позволяет создавать условия назначения ролей на основе атрибутов субъекта, ресурса, запроса и среды.

Внимание

Управление доступом на основе атрибутов Azure (Azure ABAC) общедоступен для управления доступом к Хранилище BLOB-объектов Azure, Azure Data Lake Storage 2-го поколения и очередям Azure с помощью request, resourceenvironmentа principal также атрибутов в уровнях производительности учетной записи хранения уровня "Стандартный" и "Премиум". В настоящее время атрибут ресурса метаданных контейнера и большой двоичный объект списка включают атрибут запроса в предварительной версии. Полные сведения о состоянии функции ABAC для служба хранилища Azure см. в разделе "Состояние функций условий" в служба хранилища Azure.

Юридические условия, применимые к функциям Azure, которые находятся в состоянии бета-версии, предварительной версии или иным образом еще не выпущены в общедоступной версии, см. на странице Дополнительные условия использования предварительных версий в Microsoft Azure.

Обзор условий в службе хранилища Azure

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

В основе Azure ABAC лежит механизм Azure RBAC, к которому добавляются условия назначения ролей в контексте определенных действий. Условие назначения роли — это дополнительная проверка, которая выполняется при авторизации действия с ресурсом хранилища. Это условие выражается в виде предиката с использованием атрибутов, связанных с одним из следующих объектов:

  • Субъект безопасности, запрашивающий авторизацию
  • Ресурс, доступ к которому запрашивается
  • Параметры запроса
  • Среда, в которой выполняется запрос

Условия назначения ролей имеют следующие преимущества:

  • Более детальный контроль доступа к ресурсам. Например, если вы хотите предоставить пользователю доступ к BLOB-объектам в учетных записях хранения только в том случае, если они помечены как Project=Sierra, вы можете использовать условия для действия чтения, используя теги в качестве атрибута.
  • Сокращение количества назначений ролей, которые необходимо создавать и администрировать. Для этого можно использовать обобщенное назначение ролей для группы безопасности, а затем ограничивать доступ для отдельных участников группы с использованием условия, которое соответствует атрибутам субъекта, с атрибутами конкретного ресурса (например, BLOB-объекта или контейнера), к которому осуществляется доступ.
  • Выражение правил контроля доступа в терминах атрибутов с бизнес-значением. Например, вы можете выражать условия с помощью атрибутов, представляющих имя проекта, бизнес-приложение, подразделение организации или уровень классификации.

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

Условия назначения ролей в службе хранилища Azure поддерживаются для Хранилища BLOB-объектов Azure. Вы также можете использовать условия с учетными записями с включенным функцией иерархического пространства имен (HNS) (Data Lake Storage 2-го поколения).

Поддерживаемые атрибуты и операции

Для достижения этих целей можно настроить условия назначения ролей для действий DataActions. Условия можно использовать для настраиваемой роли или встроенных ролей. Обратите внимание, что условия не поддерживаются для действий управления с помощью поставщика ресурсов служба хранилища.

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

Условия можно использовать с настраиваемыми ролями, если роль включает действия, поддерживающие условия.

Если вы работаете с условиями на основе тегов индекса BLOB-объектов, следует использовать роль Владелец данных BLOB-объектов хранилища, так как в эту роль включены разрешения для операций с тегами.

Примечание.

Теги индекса BLOB-объектов не поддерживаются для учетных записей хранения Data Lake Storage 2-го поколения, которые используют иерархическое пространство имен. Не следует создавать условия назначения ролей на основе тегов индекса в учетных записях хранения, в которых включена функция иерархического пространства имен (HNS).

Формат условия назначения ролей Azure позволяет использовать @Resource@Principal@Request атрибуты или @Environment атрибуты в условиях. Атрибут @Principal — это настраиваемый атрибут безопасности для субъекта, такого как пользователь, корпоративное приложение (субъект безопасности) или управляемое удостоверение. Атрибут @Resource ссылается на атрибут ресурса службы хранилища, к которому осуществляется доступ. Это может быть учетная запись хранения, контейнер или большой двоичный объект. Атрибут @Request ссылается на атрибут или параметр, входящий в запрос операции службы хранилища. Атрибут @Environment ссылается на сетевую среду или дату и время запроса.

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

Состояние функций условий в служба хранилища Azure

Управление доступом на основе атрибутов Azure (Azure ABAC) общедоступен для управления доступом к Хранилище BLOB-объектов Azure, Azure Data Lake Storage 2-го поколения и очередям Azure с помощью request, resourceenvironmentа principal также атрибутов в уровнях производительности учетной записи хранения уровня "Стандартный" и "Премиум". В настоящее время атрибут ресурса метаданных контейнера и большой двоичный объект списка включают атрибут запроса в предварительной версии.

В следующей таблице показан текущий статус ABAC по типу ресурса хранилища и типу атрибута. Также отображаются исключения для определенных атрибутов.

Типы ресурсов Типы атрибутов Атрибуты Availability
BLOB-объекты
Data Lake Storage 2-го поколения
Очереди
Запросить
Ресурс
Среда
Субъект
Все атрибуты, кроме указанных в этой таблице Общедоступная версия
Data Lake Storage 2-го поколения Ресурс Моментальный снимок Предварительный просмотр
BLOB-объекты
Data Lake Storage 2-го поколения
Ресурс Метаданные контейнера Предварительный просмотр
BLOB-объекты Запросить Список больших двоичных объектов: Предварительный просмотр

Юридические условия, применимые к функциям Azure, которые находятся в состоянии бета-версии, предварительной версии или иным образом еще не выпущены в общедоступной версии, см. на странице Дополнительные условия использования предварительных версий в Microsoft Azure.

Примечание.

Некоторые функции хранения не поддерживаются для Data Lake Storage 2-го поколения учетных записей хранения, использующих иерархическое пространство имен (HNS). Дополнительные сведения см. в статье о поддержке функций хранилища BLOB-объектов.

Следующие атрибуты ABAC не поддерживаются, если иерархическое пространство имен включено для учетной записи хранения:

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

См. также