Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Управление доступом на основе атрибутов (ABAC) — это система авторизации, которая определяет доступ на основе атрибутов, связанных с субъектами безопасности, ресурсами и средой запроса на доступ. С помощью ABAC можно предоставить субъекту безопасности доступ к ресурсу на основе атрибутов. Azure ABAC означает реализацию ABAC для Azure.
Что такое условия назначения ролей?
управление доступом на основе ролей Azure (Azure RBAC) — это система авторизации, которая помогает управлять доступом к ресурсам Azure, что они могут делать с этими ресурсами и к каким областям они имеют доступ. В большинстве случаев Azure RBAC обеспечит управление доступом, необходимое с помощью определений ролей и назначений ролей. Однако в некоторых случаях может потребоваться более точное управление доступом или упростить управление сотнями назначений ролей.
Azure ABAC основывается на Azure RBAC путем добавления условий назначения ролей на основе атрибутов в контексте определенных действий. Условие назначения ролей — это дополнительная проверка, которую можно добавить в назначение роли для более детального управления доступом. Условие фильтрует разрешения, предоставленные в рамках определения роли и назначения ролей. Например, можно добавить условие, требующее, чтобы у объекта был конкретный тег, чтобы его можно было прочитать. Вы не можете явно запретить доступ к определенным ресурсам с помощью условий.
Зачем использовать условия?
Существует три основных преимущества использования условий назначения ролей:
- Предоставьте более точный контроль доступа - Назначение роли использует определение роли с действиями и действиями данных для предоставления разрешений для субъекта безопасности. Вы можете записать условия, чтобы отфильтровать эти разрешения для более точного управления доступом. Вы также можете добавить условия в определенные действия. Например, вы можете предоставить Джону доступ на чтение больших двоичных объектов в подписке только в том случае, если большие двоичные объекты помечены как Project=Blue.
- Помогите уменьшить количество назначений ролей. В настоящее время каждая подписка Azure имеет ограничение назначения ролей. Существуют сценарии, требующие тысяч назначений ролей. Все эти назначения ролей должны управляться. В этих сценариях можно добавить условия для использования значительно меньше назначений ролей.
- Использовать атрибуты, имеющие определенное значение для бизнеса . Условия позволяют использовать атрибуты, имеющие определенное значение для бизнеса в управлении доступом. Ниже приведены примеры атрибутов: имя проекта, этап разработки программного обеспечения и уровни классификации. Значения этих атрибутов ресурсов являются динамическими и изменяются по мере перемещения пользователей между командами и проектами.
Примеры сценариев для условий
Существует несколько сценариев, в которых может потребоваться добавить условие в назначение роли. Ниже приведены некоторые примеры.
- Доступ на чтение к BLOB-объектам с помощью тега Project=Cascade
- Новые блобы должны включать тег Project=Cascade
- Существующие большие двоичные объекты должны быть помечены по крайней мере одним ключом проекта или ключом программы
- Существующие большие двоичные объекты должны быть помечены ключом Project и каскадом, Бейкером или значениями Skagit
- Чтение, запись или удаление объектов Blob в контейнерах, названных blobs-example-container
- Доступ на чтение к BLOB-объектам в контейнерах с именем blobs-example-container с доступом только для чтения.
- Предоставление прав записи к blob-объектам в контейнерах с именем Contosocorp с путем uploads/contoso
- Доступ на чтение к blob-объектам с тегом Program=Alpine и путем журналов
- Доступ на чтение к blob-объектам с тегом Project=Baker и у пользователя есть соответствующий атрибут Project=Baker
- Доступ на чтение к BLOB-объектам во время определенного диапазона даты и времени.
- Запись к блоб-объектам только через приватную ссылку или из определенной подсети.
Дополнительные сведения о создании этих примеров см. в примере условий назначения ролей Azure для хранилища BLOB-объектов.
Где можно добавить условия?
В настоящее время условия можно добавить в встроенные или пользовательские назначения ролей, которые имеют хранилище BLOB-объектов или действия с данными хранилища очередей. Условия добавляются в той же области, что и назначение роли. Так же, как и назначения ролей, необходимо иметь разрешения Microsoft.Authorization/roleAssignments/write
, чтобы добавить условие.
Ниже приведены некоторые атрибуты хранилища BLOB-объектов, которые можно использовать в условиях.
- Имя учетной записи
- Теги индексации BLOB-объектов
- Путь к Blob
- Префикс BLOB-объекта
- Имя контейнера
- Имя области шифрования
- Текущая версия
- Включено ли иерархическое пространство имен
- Это частная ссылка
- Снимок
- Текущее время по всемирному координированному времени (UTC)
- Идентификатор версии
Как выглядит условие?
Вы можете добавить условия в новые или существующие назначения ролей. Это роль "Чтение данных хранилища BLOB", назначенная пользователю по имени Chandra в рамках группы ресурсов. Также добавлено условие, которое разрешает доступ только для чтения к BLOB-объектам с тегом Project=Cascade.
Если Chandra пытается читать объект BLOB без метки Project=Cascade, доступ не будет разрешен.
Вот как выглядит условие на портале Azure:
Вот как выглядит условие в коде:
(
(
!(ActionMatches{'Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read'}
AND NOT
SubOperationMatches{'Blob.List'})
)
OR
(
@Resource[Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags:Project<$key_case_sensitive$>] StringEqualsIgnoreCase 'Cascade'
)
)
Дополнительные сведения о формате условий см. в формате условий назначения ролей Azure и синтаксисе.
Состояние особенностей состояния
В следующей таблице перечислен статус функциональных возможностей условий.
Функция | Состояние | Дата |
---|---|---|
Использование атрибутов среды в условии | ГА | Апрель 2024 г. |
Добавление условий с помощью редактора условий на портале Azure | ГА | Октябрь 2022 |
Добавление условий с помощью Azure PowerShell, Azure CLIили REST API | ГА | Октябрь 2022 |
Используйте атрибуты ресурса и запроса и для определенных сочетаний ресурсов хранилища Azure, типов атрибутов доступа и уровней производительности учетных записей хранения. Для получения дополнительной информации см. раздел Состояние характеристик условий вслужбе хранилища Azure. | ГА | Октябрь 2022 |
Применение настраиваемых атрибутов безопасности к субъекту в условии | ГА | Ноябрь 2023 г. |
Условия и Microsoft Entra PIM
Вы также можете добавить условия для соответствующих назначений ролей с помощью Microsoft Entra Privileged Identity Management (Microsoft Entra PIM) для ресурсов Azure. При использовании Microsoft Entra PIM конечные пользователи должны активировать соответствующее назначение ролей, чтобы получить разрешение на выполнение определенных действий. Использование условий в Microsoft Entra PIM позволяет не только ограничить доступ пользователя к ресурсу с помощью точных условий, но и использовать Microsoft Entra PIM для защиты с помощью параметра с привязкой времени, рабочего процесса утверждения, аудита и т. д. Дополнительные сведения см. в статье Назначение ролей ресурсов Azure в управлении привилегированными пользователями.
Терминология
Чтобы лучше понять Azure RBAC и Azure ABAC, можно вернуться к следующему списку терминов.
Срок | Определение |
---|---|
Управление доступом на основе атрибутов (ABAC) | Система авторизации, которая определяет доступ на основе атрибутов, связанных с субъектами безопасности, ресурсами и средой. С помощью ABAC можно предоставить субъекту безопасности доступ к ресурсу на основе атрибутов. |
Azure ABAC | Ссылается на реализацию ABAC для Azure. |
Условие назначения ролей | Дополнительная проверка, которую можно добавить в назначение роли, чтобы обеспечить более детальный контроль доступа. |
атрибут | В этом контексте пара "ключ-значение", например Project=Blue, где Project является ключом атрибута, а Blue — значением атрибута. Атрибуты и теги являются синонимами для целей управления доступом. |
выражение | Условие, которое оценивается как истинное или ложное. Выражение имеет формат атрибута <оператора><><значения>. |
Ограничения
Ниже приведены некоторые ограничения в отношении условий.
Ресурс | Лимит | Примечания. |
---|---|---|
Количество выражений на условие с помощью визуального редактора | 5 | Вы можете добавить более пяти выражений с помощью редактора кода |
Известные проблемы
Ниже приведены известные проблемы с условиями:
- Если вы используете Microsoft Entra Privileged Identity Management (PIM) и настраиваемые атрибуты безопасности, принципал не отображается в источнике атрибутов при добавлении условия.