Роли и требования для Azure Data Share
В этой статье описываются роли и разрешения, необходимые для совместного использования и получения данных с помощью службы Azure Data Share.
Роли и требования
С помощью службы Azure Data Share вы можете совместно использовать данные без обмена учетными данными между поставщиком данных и потребителем. Для совместного использования на основе моментальных снимков служба Azure Data Share использует управляемые удостоверения (которые ранее назывались MSI) для проверки подлинности в хранилище данных Azure.
Чтобы создать общие папки в общей папке Azure, пользователю потребуются следующие разрешения:
- Разрешения учетной записи общего доступа к данным: участник
- Группа ресурсов хранилища: читатель (разрешения на чтение в группе ресурсов, в которой учетные записи хранения или базы данных живут, вы можете найти их на портале).
- Разрешения источника в зависимости от источника:
Общий доступ к хранилищу и озерам данных
Тип хранилища данных | Действие | Роль в хранилище исходных данных | Роль в целевом хранилище данных | Примечание. |
---|---|---|---|---|
Хранилище BLOB-объектов Azure | Поделиться | Участник учетной записи хранения** | **Вместо этого можно создать пользовательскую роль с необходимыми действиями хранилища. | |
Получение данных | Участник учетной записи хранения** | **Вместо этого можно создать пользовательскую роль с необходимыми действиями хранилища. | ||
Автоматическое назначение разрешений MI для общего доступа | Роль с помощью Microsoft.Authorization/назначения ролей и записи* | Необязательно. Вместо этого можно вручную назначить разрешения MI. | ||
Автоматическое назначение разрешений MI для получения | Роль с помощью Microsoft.Authorization/назначения ролей и записи* | Необязательно. Вместо этого можно вручную назначить разрешения MI. | ||
Azure Data Lake 1-го поколения | Поделиться | Доступ и запись разрешений на файлы, к которым вы хотите предоставить общий доступ. | ||
Получение данных | Не поддерживается | |||
Автоматическое назначение разрешений MI для общего доступа | Роль с помощью Microsoft.Authorization/назначения ролей и записи* | Необязательно. Вместо этого можно вручную назначить разрешения MI. | ||
Автоматическое назначение разрешений MI для получения | Не поддерживается. | |||
Azure Data Lake 2-го поколения | Поделиться | Участник учетной записи хранения** | **Вместо этого можно создать пользовательскую роль с необходимыми действиями хранилища. | |
Получение данных | Участник учетной записи хранения** | **Вместо этого можно создать пользовательскую роль с необходимыми действиями хранилища. | ||
Автоматическое назначение разрешений MI для общего доступа | Роль с помощью Microsoft.Authorization/назначения ролей и записи* | Необязательно. Вместо этого можно вручную назначить разрешения MI. | ||
Автоматическое назначение разрешений MI для получения | Роль с помощью Microsoft.Authorization/назначения ролей и записи* | Необязательно. Вместо этого можно вручную назначить разрешения MI. |
* Это разрешение существует в роли владельца .
Дополнительные сведения о совместном доступе к хранилищу Azure и из нее см. в статье по совместному использованию и получению данных из Хранилище BLOB-объектов Azure и Azure Data Lake Storage.
Общий доступ к базе данных SQL
Чтобы предоставить общий доступ к данным из SQL, можно использовать следующее:
Чтобы получить данные в SQL, необходимо назначить разрешения на получение данных.
Проверка подлинности Microsoft Entra для общего доступа
Эти предварительные требования охватывают необходимую проверку подлинности, чтобы Azure Data Share могли подключиться к База данных SQL Azure:
- Вам потребуется разрешение на запись в базы данных на СЕРВЕРе SQL Server: Microsoft.Sql/servers/database/write. Это разрешение назначено роли участника.
- Разрешения администратора Microsoft Entra в SQL Server.
- Доступ к брандмауэру SQL Server:
- В портал Azure перейдите к серверу SQL Server. Выберите Брандмауэры и виртуальные сети в левой области навигации.
- Выберите значение Да для параметра Разрешить доступ к серверу службам и ресурсам Azure.
- Выберите + Добавить IP-адрес клиента. IP-адрес клиента может измениться, поэтому может потребоваться снова добавить IP-адрес клиента при следующем совместном использовании данных на портале.
- Выберите Сохранить.
Проверка подлинности SQL для общего доступа
Пошаговую демонстрацию видео можно выполнить для настройки проверки подлинности или выполнить каждое из следующих предварительных требований:
Разрешение на запись в базы данных на SQL Server: Microsoft.Sql/servers/database/write. Это разрешение назначено роли участника.
Разрешение управляемого удостоверения ресурса Azure Data Share для доступа к базе данных:
В портал Azure перейдите к серверу SQL Server и задайте себя администратором Microsoft Entra.
Подключитесь к База данных SQL Azure/хранилищу данных с помощью Редактор запросов или SQL Server Management Studio с проверкой подлинности Microsoft Entra.
Выполните следующий сценарий, чтобы добавить управляемое ресурсом ресурса data Share в качестве db_datareader. Подключитесь с помощью Active Directory и не проверки подлинности SQL Server.
create user "<share_acct_name>" from external provider; exec sp_addrolemember db_datareader, "<share_acct_name>";
Примечание.
Share_acc_name <> — это имя ресурса Data Share.
Пользователь База данных SQL Azure с доступом "db_datareader" для перехода и выбора таблиц или представлений, к которым вы хотите предоставить общий доступ.
Доступ к брандмауэру SQL Server:
- В портал Azure перейдите к SQL Server. Выберите Брандмауэры и виртуальные сети в левой области навигации.
- Выберите значение Да для параметра Разрешить доступ к серверу службам и ресурсам Azure.
- Выберите + Добавить IP-адрес клиента. IP-адрес клиента может измениться, поэтому может потребоваться снова добавить IP-адрес клиента при следующем совместном использовании данных на портале.
- Выберите Сохранить.
Проверка подлинности для получения в SQL
Для SQL Server, где вы являетесь администратором Microsoft Entra сервера SQL Server, выполните следующие предварительные требования перед принятием общего ресурса данных:
- База данных SQL Azure или Azure Synapse Analytics (ранее — хранилище данных SQL Azure).
- Разрешение на запись в базы данных на SQL Server: Microsoft.Sql/servers/database/write. Это разрешение назначено роли участника.
- Доступ к брандмауэру SQL Server:
- В портал Azure перейдите к серверу SQL Server. Выберите Брандмауэры и виртуальные сети в левой области навигации.
- Выберите значение Да для параметра Разрешить доступ к серверу службам и ресурсам Azure.
- Выберите + Добавить IP-адрес клиента. IP-адрес клиента может измениться, поэтому может потребоваться снова добавить IP-адрес клиента при следующем совместном использовании данных на портале.
- Выберите Сохранить.
Для SQL Server, где вы не являетесь администратором Microsoft Entra, выполните следующие предварительные требования, прежде чем принимать общую папку данных:
Вы можете выполнить пошаговые демонстрационные видео или описанные ниже действия, чтобы настроить предварительные требования.
База данных SQL Azure или Azure Synapse Analytics (ранее — хранилище данных SQL Azure).
Разрешение на запись в базы данных на сервере SQL Server: Microsoft.Sql/servers/database/write. Это разрешение назначено роли участника.
Разрешение управляемого удостоверения ресурса Data Share для доступа к База данных SQL Azure или Azure Synapse Analytics:
В портал Azure перейдите к серверу SQL Server и задайте себя администратором Microsoft Entra.
Подключитесь к База данных SQL Azure/хранилищу данных с помощью Редактор запросов или SQL Server Management Studio с проверкой подлинности Microsoft Entra.
Выполните следующий скрипт, чтобы добавить управляемое удостоверение Data Share с ролями db_datareader, db_datawriter и db_ddladmin.
create user "<share_acc_name>" from external provider; exec sp_addrolemember db_datareader, "<share_acc_name>"; exec sp_addrolemember db_datawriter, "<share_acc_name>"; exec sp_addrolemember db_ddladmin, "<share_acc_name>";
Примечание.
Share_acc_name <> — это имя ресурса Data Share.
Доступ к брандмауэру SQL Server:
- В портал Azure перейдите к СЕРВЕРУ SQL Server и выберите брандмауэры и виртуальные сети.
- Выберите значение Да для параметра Разрешить доступ к серверу службам и ресурсам Azure.
- Выберите + Добавить IP-адрес клиента. IP-адрес клиента может измениться, поэтому может потребоваться снова добавить IP-адрес клиента при следующем совместном использовании данных на портале.
- Выберите Сохранить.
Дополнительные сведения о совместном доступе к SQL Azure и из нее см. в статье по совместному использованию и получению данных из База данных SQL Azure.
Общий доступ к аналитике Azure synapse
Поделиться
Разрешение на запись в пул SQL в рабочей области Synapse: Microsoft.Synapse/workspaces/sqlPools/write. Это разрешение назначено роли участника.
Разрешение управляемого удостоверения ресурса Data Share для доступа к пулу рабочих областей Synapse:
В портал Azure перейдите в рабочую область Synapse. Выберите администратора SQL Active Directory в левой области навигации и задайте себя администратором Microsoft Entra.
Откройте Synapse Studio, выберите "Управление " в области навигации слева. Выберите Управление доступом в разделе "Безопасность". Назначьте себе роль администратора SQL или администратора рабочей области.
Выберите " Разработка " в области навигации слева в Synapse Studio. Выполните следующий скрипт в пуле SQL, чтобы добавить управляемое ресурсом удостоверение data Share в качестве db_datareader.
create user "<share_acct_name>" from external provider; exec sp_addrolemember db_datareader, "<share_acct_name>";
Примечание.
Share_acc_name <> — это имя ресурса Data Share.
Доступ к брандмауэру рабочей области Synapse:
- В портал Azure перейдите в рабочую область Synapse. В области навигации слева выберите Брандмауэры.
- Выберите значение Вкл. для параметра Разрешить службам и ресурсам Azure доступ к этой рабочей области.
- Выберите + Добавить IP-адрес клиента. IP-адрес клиента может измениться, поэтому может потребоваться снова добавить IP-адрес клиента при следующем совместном использовании данных на портале.
- Выберите Сохранить.
Получение
Выделенный пул SQL в Azure Synapse Analytics (рабочая область). Получение данных в бессерверный пул SQL в настоящее время не поддерживается.
Разрешение на запись в пул SQL в рабочей области Synapse: Microsoft.Synapse/workspaces/sqlPools/write. Это разрешение назначено роли участника.
Разрешение управляемого удостоверения ресурса Data Share для доступа к пулу SQL рабочей области Synapse:
В портал Azure перейдите в рабочую область Synapse.
Выберите администратора SQL Active Directory в левой области навигации и задайте себя администратором Microsoft Entra.
Откройте Synapse Studio, затем выберите Управление в области навигации слева. Выберите Управление доступом в разделе "Безопасность". Назначьте себе роль администратора SQL или администратора рабочей области.
В Synapse Studio в области навигации слева выберите Разработка. Выполните следующий сценарий в пуле SQL, чтобы добавить управляемое ресурсом удостоверение data Share в качестве db_datareader, db_datawriter, db_ddladmin.
create user "<share_acc_name>" from external provider; exec sp_addrolemember db_datareader, "<share_acc_name>"; exec sp_addrolemember db_datawriter, "<share_acc_name>"; exec sp_addrolemember db_ddladmin, "<share_acc_name>";
Примечание.
Share_acc_name <> — это имя ресурса Data Share.
Доступ к брандмауэру рабочей области Synapse:
- В портал Azure перейдите в рабочую область Synapse. В области навигации слева выберите Брандмауэры.
- Выберите значение Вкл. для параметра Разрешить службам и ресурсам Azure доступ к этой рабочей области.
- Выберите + Добавить IP-адрес клиента. IP-адрес клиента можно изменить. Этот процесс может потребоваться повторить при следующем обмене данными SQL из портал Azure.
- Выберите Сохранить.
Дополнительные сведения о совместном доступе к Azure Synapse Analytics и их получении из Azure Synapse Analytics см . в статье.
Назначение разрешений MI вручную
Если у пользователя есть назначения ролей Microsoft.Authorization/ разрешения на запись в исходном или целевом хранилище данных, он автоматически назначит управляемое удостоверение Azure Data Share разрешения, необходимые для проверки подлинности в хранилище данных. Вы также можете назначить разрешения управляемого удостоверения вручную.
Если вы решили назначить разрешения вручную, назначьте эти разрешения управляемому удостоверению ресурса Azure Data Share на основе источника и действия:
Тип хранилища данных | Исходное хранилище данных поставщика данных | Целевое хранилище данных потребителя данных |
---|---|---|
Хранилище BLOB-объектов Azure | читатель данных больших двоичных объектов хранилища. | Участник данных хранилища BLOB-объектов |
Azure Data Lake 1-го поколения | Ответственный | Не поддерживается |
Azure Data Lake 2-го поколения | читатель данных больших двоичных объектов хранилища. | Участник данных хранилища BLOB-объектов |
База данных SQL Azure | db_datareader | db_datareader, db_datawriter, db_ddladmin |
Azure Synapse Analytics | db_datareader | db_datareader, db_datawriter, db_ddladmin |
Пример поставщика данных
При совместном использовании данных из учетной записи хранения управляемое удостоверение ресурса общего ресурса данных предоставляется роль чтения данных BLOB-объектов хранилища.
Это выполняется автоматически службой Azure Data Share при добавлении набора данных через портал Azure, а пользователь является владельцем хранилища данных Azure или является членом настраиваемой роли с назначенным разрешением Microsoft.Authorization/roles/write.
Кроме того, пользователь может иметь владельца хранилища данных Azure, добавив управляемое удостоверение ресурса общего ресурса данных в хранилище данных Azure вручную. Это действие необходимо выполнить только один раз для каждого общего ресурса данных.
Чтобы создать назначение ролей для управляемого удостоверения ресурса общего ресурса данных вручную, выполните следующие действия.
Перейдите в хранилище данных Azure.
Выберите Управление доступом (IAM).
Выберите "Добавить" > "Добавить назначение ролей".
На вкладке "Роль" выберите одну из ролей, перечисленных в таблице назначения ролей в предыдущем разделе.
На вкладке "Участники" выберите "Управляемое удостоверение" и нажмите "Выбрать участников".
Выберите свою подписку Azure.
Выберите управляемое удостоверение, назначаемое системой, найдите ресурс Azure Data Share и выберите его.
Чтобы назначить роль, на вкладке Проверка и назначение выберите Проверка и назначение.
Дополнительные сведения о назначениях ролей см. в статье "Назначение ролей Azure" с помощью портал Azure. Если вы предоставляете общий доступ к данным с помощью REST API, можно создать назначение ролей с помощью API, ссылаясь на назначение ролей Azure с помощью REST API.
Для общего доступа на основе моментальных снимков SQL пользователь SQL должен быть создан из внешнего поставщика в База данных SQL с тем же именем, что и ресурс Azure Data Share при подключении к базе данных SQL с помощью проверки подлинности Microsoft Entra. Этому пользователю необходимо предоставить разрешение db_datareader. Пример скрипта, а также другие необходимые компоненты для совместного использования на основе SQL см. в учебнике Совместное использование из Базы данных SQL Azure или Azure Synapse Analytics.
Пример потребителя данных
Для получения данных в учетной записи хранения управляемому удостоверению общего ресурса данных потребителя необходимо предоставить доступ к целевой учетной записи хранения. Управляемому удостоверению общего ресурса данных необходимо предоставить роль участника данных BLOB-объекта хранилища. Это выполняется автоматически службой Azure Data Share, если пользователь имеет соответствующее разрешение и указывает целевую учетную запись хранения с помощью портала Azure. Например, пользователь является владельцем учетной записи хранения или является членом настраиваемой роли, которая имеет назначение Microsoft.Authorization/roles/разрешение на запись .
Кроме того, пользователь может попросить владельца учетной записи хранения вручную добавить управляемое удостоверение общего ресурса данных в учетную запись хранения. Это действие необходимо выполнить только один раз для каждого общего ресурса данных. Чтобы создать назначение роли для управляемого удостоверения общего ресурса данных вручную, выполните следующие действия.
Перейдите в хранилище данных Azure.
Выберите Управление доступом (IAM).
Выберите "Добавить" > "Добавить назначение ролей".
На вкладке "Роль" выберите одну из ролей, перечисленных в таблице назначения ролей в предыдущем разделе. Например, для учетной записи хранения выберите средство чтения данных BLOB-объектов хранилища.
На вкладке "Участники" выберите "Управляемое удостоверение" и нажмите "Выбрать участников".
Выберите свою подписку Azure.
Выберите управляемое удостоверение, назначаемое системой, найдите ресурс Azure Data Share и выберите его.
Чтобы назначить роль, на вкладке Проверка и назначение выберите Проверка и назначение.
Дополнительные сведения о назначениях ролей см. в статье "Назначение ролей Azure" с помощью портал Azure. Если вы получаете данные с помощью REST API, можно создать назначение ролей с помощью API, ссылаясь на назначение ролей Azure с помощью REST API.
Для целевого объекта на основе SQL необходимо создать пользователя SQL из внешнего поставщика в База данных SQL с тем же именем, что и ресурс Azure Data Share при подключении к базе данных SQL с помощью проверки подлинности Microsoft Entra. Этому пользователю необходимо предоставить разрешения db_datareader, db_datawriter, db_ddladmin. Пример скрипта, а также другие необходимые компоненты для совместного использования на основе SQL см. в учебнике Совместное использование из Базы данных SQL Azure или Azure Synapse Analytics.
Регистрация поставщика ресурсов
Возможно, потребуется вручную зарегистрировать поставщика ресурсов Microsoft.DataShare в подписке Azure в следующих сценариях:
- Просмотр приглашения Azure Data Share в первый раз в клиенте Azure
- Совместное использование данных из хранилища данных Azure в другой подписке Azure из ресурса Azure Data Share
- Получение данных в хранилище данных Azure в другой подписке Azure из ресурса Azure Data Share
Выполните следующие действия, чтобы зарегистрировать поставщик ресурсов Microsoft.DataShare в подписке Azure. Для регистрации поставщика ресурсов необходимо иметь доступ участника к подписке Azure.
- На портале Azure перейдите к подпискам.
- Выберите подписку, которую вы использовали для Azure Data Share.
- Выберите поставщики ресурсов.
- Выполните поиск Microsoft.DataShare.
- Выберите Зарегистрировать.
Дополнительные сведения о поставщике ресурсов см. в описании поставщиков и типов ресурсов Azure.
Пользовательские роли для общего ресурса данных
В этом разделе описываются пользовательские роли и разрешения, необходимые для предоставления общего доступа к данным и получения данных, относящихся к учетной записи хранения. Существуют также предварительные требования, которые не зависят от пользовательской роли или роли Azure Data Share.
Предварительные требования для общей папки данных, а также настраиваемая роль
- Для общего доступа к хранилищу и моментальному снимку озера данных для добавления набора данных в Azure Data Share необходимо предоставить управляемому удостоверению ресурса поставщика данных доступ к исходному хранилищу данных Azure. Например, если используется учетная запись хранения, управляемое удостоверение ресурса общего ресурса данных предоставляется роль средства чтения данных BLOB-объектов хранилища.
- Чтобы получить данные в учетную запись хранения, управляемое удостоверение ресурса общего ресурса потребительских данных должно быть предоставлено доступ к целевой учетной записи хранения. Управляемому удостоверению общего ресурса данных необходимо предоставить роль участника данных BLOB-объекта хранилища.
- Вам также может потребоваться вручную зарегистрировать поставщика ресурсов Microsoft.DataShare в подписке Azure для некоторых сценариев. Дополнительные сведения см. в разделе регистрации поставщика ресурсов этой статьи.
Создание настраиваемых ролей и необходимых разрешений
Пользовательские роли можно создавать в подписке или группе ресурсов для совместного использования и получения данных. Затем пользователям и группам можно назначить настраиваемую роль.
- Для создания настраиваемой роли существуют действия, необходимые для хранения, общего ресурса, группы ресурсов и авторизации. Ознакомьтесь с документом об операциях поставщика ресурсов Azure для общего доступа к данным, чтобы понять различные уровни разрешений и выбрать соответствующие для вашей пользовательской роли.
- Кроме того, можно использовать портал Azure для перехода к IAM, настраиваемой роли, добавлению разрешений, поиску, поиску разрешений Microsoft.DataShare, чтобы просмотреть список доступных действий.
- Дополнительные сведения о назначении настраиваемых ролей см. в статье о пользовательских ролях Azure. После получения пользовательской роли проверьте ее, чтобы убедиться, что она работает должным образом.
В следующем примере показано, как необходимые действия будут перечислены в представлении JSON для пользовательской роли для совместного использования и получения данных.
{
"Actions": [
"Microsoft.Storage/storageAccounts/read",
"Microsoft.Storage/storageAccounts/write",
"Microsoft.Storage/storageAccounts/blobServices/containers/read",
"Microsoft.Storage/storageAccounts/blobServices/generateUserDelegationKey/action",
"Microsoft.Storage/storageAccounts/listkeys/action",
"Microsoft.DataShare/accounts/read",
"Microsoft.DataShare/accounts/providers/Microsoft.Insights/metricDefinitions/read",
"Microsoft.DataShare/accounts/shares/listSynchronizations/action",
"Microsoft.DataShare/accounts/shares/synchronizationSettings/read",
"Microsoft.DataShare/accounts/shares/synchronizationSettings/write",
"Microsoft.DataShare/accounts/shares/synchronizationSettings/delete",
"Microsoft.DataShare/accounts/shareSubscriptions/*",
"Microsoft.DataShare/listInvitations/read",
"Microsoft.DataShare/locations/rejectInvitation/action",
"Microsoft.DataShare/locations/consumerInvitations/read",
"Microsoft.DataShare/locations/operationResults/read",
"Microsoft.Resources/subscriptions/resourceGroups/read",
"Microsoft.Resources/subscriptions/resourcegroups/resources/read",
"Microsoft.Authorization/roleAssignments/read",
]
}
Следующие шаги
- Дополнительные сведения о ролях в Azure см. в разделе Общие сведения об определениях ролей Azure.