Авторизация доступа к таблицам с помощью идентификатора Microsoft Entra

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

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

Авторизация с помощью идентификатора Microsoft Entra доступна для всех общедоступных регионов и национальных облаков. Только учетные записи хранения, созданные с помощью модели развертывания Azure Resource Manager, поддерживают авторизацию Microsoft Entra.

Обзор идентификатора Microsoft Entra для таблиц

Когда участник безопасности (пользователь, группа или приложение) пытается получить доступ к ресурсу таблицы, запрос должен быть авторизован. С идентификатором Microsoft Entra доступ к ресурсу является двухэтапным процессом. Вначале удостоверение участника безопасности проходит аутентификацию, которая возвращает токен OAuth 2.0. Затем маркер передается как часть запроса в службу таблиц и используется этой службой для авторизации доступа к указанному ресурсу.

Для этапа аутентификации требуется, чтобы приложение запросило маркер доступа OAuth 2.0 во время выполнения. Если приложение выполняется из сущности Azure, такой как виртуальная машина Azure, масштабируемый набор виртуальных машин или приложение "Функции Azure", оно может использовать управляемое удостоверение для доступа к таблицам.

Шаг авторизации требует, чтобы одна или несколько ролей Azure были назначены субъекту безопасности. Azure Storage предоставляет роли Azure, включающие общие наборы разрешений для данных таблиц. Роли, назначенные субъекту безопасности, определяют разрешения, которые будут иметь субъект. Дополнительные сведения о назначении ролей Azure для доступа к таблицам см. в статье "Назначение роли Azure для доступа к данным таблицы".

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

Язык .СЕТЬ Ява JavaScript Питон Иди
Обзор проверки подлинности с помощью идентификатора Microsoft Entra Проверка подлинности приложений .NET с помощью служб Azure Аутентификация Azure с помощью Java и Azure Identity Проверка подлинности приложений JavaScript в Azure с помощью пакета SDK Azure Проверка подлинности приложений Python в Azure с помощью пакета SDK Azure
Проверка подлинности с использованием учетных записей служебных принципалов для разработчиков Проверка подлинности приложений .NET в службах Azure во время локальной разработки с помощью субъектов-служб Аутентификация Azure с использованием учетной записи службы Авторизация JS-приложений к службам Azure с помощью служебного принципала Аутентификация приложений Python для служб Azure при локальной разработке с использованием учетных данных служб Аутентификация Azure SDK для Go с помощью учетной записи службы
Проверка подлинности с помощью учетных записей разработчика или пользователей Проверка подлинности приложений .NET в службах Azure во время локальной разработки с помощью учетных записей разработчиков Проверка подлинности Azure с учетными данными пользователя Аутентификация приложений JS в службах Azure с учетными записями разработки Проверка подлинности приложений Python в службах Azure во время локальной разработки с помощью учетных записей разработчиков Аутентификация в Azure с помощью Azure SDK для Go
Проверка подлинности из приложений, размещенных в Azure Проверка подлинности размещенных в Azure приложений в ресурсах Azure с помощью пакета SDK Azure для .NET Проверка подлинности размещенных в Azure приложений Java Проверка подлинности размещенных в Azure приложений JavaScript в ресурсах Azure с помощью пакета SDK Azure для JavaScript Проверка подлинности размещенных в Azure приложений в ресурсах Azure с помощью пакета SDK Azure для Python Аутентификация с использованием Azure SDK для Go и управляемого удостоверения
Проверка подлинности из локальных приложений Аутентификация в ресурсах Azure из приложений .NET, размещенных локально Проверка подлинности локальных приложений JavaScript в ресурсах Azure Аутентификация к ресурсам Azure из приложений Python, размещённых локально
Общие сведения о клиентской библиотеке идентификации Библиотека клиентской идентификации Azure для .NET Клиентская библиотека удостоверений Azure для Java Клиентская библиотека идентификации Azure для JavaScript Клиентская библиотека идентификации Azure для Python клиентская библиотека удостоверений Azure для Go

Назначение ролей Azure для предоставления прав доступа

Microsoft Entra разрешает доступ к защищенным ресурсам с помощью управления доступом на основе ролей Azure (Azure RBAC). Служба хранилища Azure определяет набор встроенных ролей Azure, охватывающих общие наборы разрешений, используемых для доступа к данным таблиц. Вы также можете определить собственные роли для доступа к данным таблиц.

Когда роль Azure назначается субъекту безопасности Microsoft Entra, Azure предоставляет доступ к этим ресурсам для этого субъекта безопасности. Субъект безопасности Microsoft Entra может быть пользователем, группой, субъектом-службой приложений или управляемым удостоверением для ресурсов Azure.

Область ресурсов

Прежде чем назначить роль RBAC Azure субъекту безопасности, определите для него область доступа. Наилучшие практики предписывают всегда предоставлять максимально узкую область доступа. Роли RBAC Azure, определенные на более высоком уровне, наследуются подчиненными ресурсами.

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

  • Отдельная таблица. В этой области назначение ролей применяется к указанной таблице.
  • Аккаунт хранения. В этой области назначение ролей применяется ко всем таблицам в учетной записи.
  • Группа ресурсов. В этой области назначение ролей применяется ко всем таблицам во всех учетных записях хранения в группе ресурсов.
  • Подписка. В этой области назначение ролей применяется ко всем таблицам во всех учетных записях хранения во всех группах ресурсов в подписке.
  • Группа управления. В этой области назначение ролей применяется ко всем таблицам во всех учетных записях хранения во всех группах ресурсов во всех подписках в группе управления.

Дополнительные сведения об области для назначения ролей Azure RBAC см. в статье Сведения об области действия для Azure RBAC.

Встроенные роли Azure для таблиц

Azure RBAC предоставляет встроенные роли для авторизации доступа к данным таблицы с помощью идентификатора Microsoft Entra и OAuth. Встроенные роли, которые предоставляют разрешения для таблиц в службе хранилище Azure, включают:

Сведения о назначении встроенной роли Azure субъекту безопасности см. в статье "Назначение роли Azure для доступа к табличным данным". Чтобы узнать, как составить список ролей RBAC Azure и их разрешений, см. Список определений ролей Azure.

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

Только роли, явно определенные для доступа к данным, позволяют субъекту безопасности получать доступ к данным таблиц. Встроенные роли, такие как владелец, участник и участник учетной записи хранения, позволяют субъекту безопасности управлять учетной записью хранения, но не предоставлять доступ к данным таблицы в этой учетной записи через идентификатор Microsoft Entra. Однако, если роль включает Microsoft.Storage/storageAccounts/listKeys/action, то пользователь, которому назначена данная роль, может получить доступ к данным в учетной записи хранения с помощью авторизации общего ключа при помощи ключей доступа к учетной записи.

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

Это важно

Назначение ролей Azure может требовать до 30 минут на распространение.

Разрешения доступа к операциям с данными

Дополнительные сведения о разрешениях, необходимых для вызова определенных операций службы таблиц, см. в разделе "Разрешения для вызова операций с данными".

Дальнейшие действия