Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В большинстве случаев назначение ролей предоставляет необходимые разрешения ресурсам Azure. Однако в некоторых случаях может потребоваться обеспечить более детализированный контроль доступа, добавив условие назначения роли.
В этом руководстве описано, как:
- Добавление условия в назначение роли
- Ограничение доступа к BLOB-объектам по тегу их индексации
Это важно
Управление доступом на основе атрибутов Azure (Azure ABAC) общедоступно для управления доступом к хранилищу BLOB-объектов Azure, Azure Data Lake Storage 2-го поколения и очередям Azure с помощью request
, resource
, environment
и principal
атрибутов на стандартных и премиум уровнях производительности учетной записи хранилища. В настоящее время блоб списка включает атрибут запроса и атрибут запроса моментального снимка для иерархического пространства имен, которые находятся в предварительной версии. Полные сведения о состоянии функции ABAC для службы хранилища Azure см. в разделе «Состояние функций условий в хранилище Azure».
Юридические условия, применимые к функциям Azure, которые находятся в состоянии бета-версии, предварительной версии или иным образом еще не выпущены в общедоступной версии, см. на странице Дополнительные условия использования предварительных версий в Microsoft Azure.
Предпосылки
Дополнительные сведения о предварительных требованиях для добавления и изменения условий назначения ролей см. в разделе Требования к условиям.
Состояние
В этом руководстве описано, как ограничить доступ к blob-объектам с определенным тегом. Например, вы добавляете условие в назначение роли, чтобы Chandra могли считывать только файлы с тегом Project=Cascade
.
Если Chandra пытается считывать большой двоичный объект без тега Project=Cascade
, доступ не разрешен.
Вот как выглядит условие в коде:
(
(
!(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'
)
)
Шаг 1. Создание пользователя
Войдите на портал Azure в качестве владельца подписки.
Выберите Microsoft Entra ID.
Создайте пользователя или найдите существующего пользователя. В этом руководстве в качестве примера используется Chandra.
Шаг 2. Настройка хранилища
Создайте учетную запись хранения, совместимую с функцией тегов индекса блобов. Дополнительные сведения см. в статье Управление данными BLOB-объектов Azure и их поиск с помощью тегов индекса BLOB-объектов.
Создайте контейнер в учетной записи хранения и задайте для анонимного уровня доступа значение Private (без анонимного доступа).
В контейнере выберите Загрузить, чтобы открыть панель загрузки blob.
Найдите текстовый файл для отправки.
Выберите "Дополнительно" , чтобы развернуть область.
В разделе тегов индекса BLOB-объектов добавьте следующий тег индекса BLOB-объектов в текстовый файл.
Если вы не видите раздел тегов индекса BLOB-объектов и только что зарегистрировали подписку, возможно, вам понадобится подождать несколько минут, чтобы изменения вступили в силу. Дополнительные сведения см. в статье "Использование тегов индекса BLOB-объектов для управления и поиска данных в хранилище BLOB-объектов Azure".
Примечание.
BLOB-объекты также поддерживают возможность хранения произвольных метаданных "ключ-значение", определяемых пользователем. Несмотря на то что метаданные похожи на теги индекса BLOB-объектов, теги индекса BLOB-объектов необходимо использовать с соблюдением условий.
Ключ Ценность Проект Каскад
Нажмите кнопку "Отправить ", чтобы отправить файл.
Отправьте второй текстовый файл.
Добавьте следующий тег индекса BLOB-объектов во второй текстовый файл.
Ключ Ценность Проект Пекарь
Шаг 3. Назначение роли данных BLOB-объектов хранилища
Откройте группу ресурсов.
Выберите Управление доступом (IAM) .
Откройте вкладку Назначения ролей, чтобы просмотреть назначения ролей в этой области.
Выберите Добавить>Добавить назначение ролей. Откроется страница добавления назначения ролей:
- На вкладке "Роли" выберите роль Storage Blob Data Reader.
- На вкладке "Участники" выберите пользователя, созданного ранее.
(Необязательно) В поле "Описание" введите доступ на чтение к blob-объектам с тегом Project=Cascade.
Выберите Далее.
Шаг 4. Добавление условия
- На вкладке "Условия" (необязательно) выберите "Добавить условие". Откроется страница "Добавить условие назначения ролей":
В разделе "Добавление действия" выберите "Добавить действие".
Появляется область "Выберите действие". Эта панель — отфильтрованный список действий с данными на основе назначения роли, на который будет нацелено ваше условие. Установите флажок рядом с Читать блок, а затем выберите Выбрать:
В разделе "Секция сборки выражений" выберите Добавить выражение.
Раздел "Выражение" расширяется.
Укажите следующие параметры выражения:
Настройки Ценность Источник атрибута Ресурс Атрибут Теги индекса BLOB [значения в ключе] Ключ Проект Оператор StringEqualsIgnoreCase Ценность Каскад
Прокрутите до типа редактора и выберите "Код".
Условие отображается как код. Вы можете внести изменения в условие в этом редакторе кода. Чтобы вернуться к визуальному редактору, выберите Visual.
Нажмите кнопку "Сохранить", чтобы добавить условие и вернуться на страницу "Добавить назначение ролей".
Выберите Далее.
На вкладке "Обзор + назначение" выберите Обзор + назначение, чтобы назначить роль с условием.
Спустя короткое время участнику системы безопасности назначается роль в выбранной области.
Шаг 5. Назначение роли читателя
Повторите предыдущие действия, чтобы назначить роль читателя пользователю, созданному ранее в области группы ресурсов.
Примечание.
Обычно не требуется назначать роль читателя. Однако это сделано, чтобы проверить условие с помощью портала Azure.
Шаг 6. Проверка условия
В новом окне войдите на портал Azure.
Войдите как пользователь, созданный ранее.
Откройте созданную учетную запись хранения и контейнер.
Убедитесь, что для метода проверки подлинности задана учетная запись пользователя Microsoft Entra , а не ключ доступа.
Выберите текстовый файл Бейкера.
Вы не должны иметь возможность просматривать или скачивать объект, и должно отображаться сообщение о неудачной авторизации.
Выберите каскадный текстовый файл.
Вы должны иметь возможность просматривать и скачивать блоб.
Шаг 7. Очистка ресурсов
Удалите добавленное назначение роли.
Удалите созданную тестовую учетную запись хранения.
Удалите созданного пользователя.