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

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

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

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

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

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

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

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

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

Язык .NET Java JavaScript Python Go
Обзор проверки подлинности с помощью идентификатора Microsoft Entra Проверка подлинности приложений .NET с помощью служб Azure Проверка подлинности Azure с помощью Java и Удостоверения Azure Проверка подлинности приложений 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 с помощью пакета SDK Azure для Go
Проверка подлинности из размещенных в Azure приложений Проверка подлинности размещенных в Azure приложений в ресурсах Azure с помощью пакета SDK Azure для .NET Проверка подлинности размещенных в Azure приложений Java Проверка подлинности размещенных в Azure приложений JavaScript в ресурсах Azure с помощью пакета SDK Azure для JavaScript Проверка подлинности размещенных в Azure приложений в ресурсах Azure с помощью пакета SDK Azure для Python Проверка подлинности с помощью пакета SDK Azure для 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, как для служб данных, так и для службы управления, см. в разделе Хранилище статьи Встроенные роли Azure. Кроме того, сведения о различных типах ролей, которые предоставляют разрешения в Azure, см. в ролях Azure, ролях Microsoft Entra и классических ролях администратора подписки.

Важно!

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

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

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

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