Роли и требования для Azure Data Share

В этой статье описываются роли и разрешения, необходимые для совместного использования и получения данных с помощью службы Azure Data Share.

Роли и требования

С помощью службы Azure Data Share вы можете совместно использовать данные без обмена учетными данными между поставщиком данных и потребителем. Для совместного использования на основе моментальных снимков служба Azure Data Share использует управляемые удостоверения (которые ранее назывались MSI) для проверки подлинности в хранилище данных Azure.

Чтобы создать доли в Azure Data Share, пользователю требуются следующие разрешения:

Общий доступ к хранилищу и озерам данных

Тип хранилища данных Действие Роль в хранилище исходных данных Роль в целевом хранилище данных Примечание.
Хранилище 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. Это разрешение имеется в роли Contributor.
  • Разрешения Microsoft Entra Admin в SQL Server.
  • Доступ к брандмауэру SQL Server:
    1. В портале Azure перейдите к своему серверу SQL. Выберите Брандмауэры и виртуальные сети в левой области навигации.
    2. Выберите значение Да для параметра Разрешить доступ к серверу службам и ресурсам Azure.
    3. Выберите + Добавить IP-адрес клиента. IP-адрес клиента может измениться, поэтому может потребоваться снова добавить IP-адрес клиента при следующем совместном использовании данных на портале.
    4. Выберите Сохранить.

Аутентификация SQL для совместного использования

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

  • Разрешение на запись в базы данных на SQL Server: Microsoft.Sql/servers/database/write. Это разрешение имеется в роли Contributor.

  • Разрешение для управляемого удостоверения ресурса Azure Data Share на доступ к базе данных:

    1. В портале Azure перейдите к серверу SQL и назначьте себя администратором Microsoft Entra.

    2. Подключитесь к Базе данных SQL Azure или хранилищу данных с помощью Редактора запросов или SQL Server Management Studio с проверкой подлинности через Microsoft Entra.

    3. Выполните следующий скрипт, чтобы добавить управляемую идентификацию ресурса 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:

    1. На портале Azure перейдите в раздел SQL Server. Выберите Брандмауэры и виртуальные сети в левой области навигации.
    2. Выберите значение Да для параметра Разрешить доступ к серверу службам и ресурсам Azure.
    3. Выберите + Добавить IP-адрес клиента. IP-адрес клиента может измениться, поэтому может потребоваться снова добавить IP-адрес клиента при следующем совместном использовании данных на портале.
    4. Выберите Сохранить.

Аутентификация для получения данных в SQL

Для сервера SQL, где вы являетесь администратором Microsoft Entra для сервера SQL, выполните следующие предварительные требования перед принятием общего ресурса данных:

  • База данных SQL Azure или Azure Synapse Analytics (ранее — хранилище данных SQL Azure).
  • Разрешение на запись в базы данных на SQL Server: Microsoft.Sql/servers/database/write. Это разрешение имеется в роли Contributor.
  • Доступ к брандмауэру SQL Server:
    1. В портале Azure перейдите к своему серверу SQL. Выберите Брандмауэры и виртуальные сети в левой области навигации.
    2. Выберите значение Да для параметра Разрешить доступ к серверу службам и ресурсам Azure.
    3. Выберите + Добавить IP-адрес клиента. IP-адрес клиента может измениться, поэтому может потребоваться снова добавить IP-адрес клиента при следующем совместном использовании данных на портале.
    4. Выберите Сохранить.

Если для сервера SQL вы не являетесь администратором Microsoft Entra, выполните следующие предварительные требования, прежде чем принимать обмен данными:

Вы можете воспользоваться пошаговым демонстрационным видео или выполнить описанные ниже действия, чтобы настроить необходимые компоненты.

  • База данных SQL Azure или Azure Synapse Analytics (ранее — хранилище данных SQL Azure).

  • Разрешение на запись в базы данных на сервере SQL Server: Microsoft.Sql/servers/database/write. Это разрешение имеется в роли Contributor.

  • Разрешение для управляемой идентификации ресурса Data Share на доступ к базе данных Azure SQL или Azure Synapse Analytics:

    1. В портале Azure перейдите к серверу SQL и назначьте себя администратором Microsoft Entra.

    2. Подключитесь к Базе данных SQL Azure или хранилищу данных с помощью Редактора запросов или SQL Server Management Studio с проверкой подлинности через Microsoft Entra.

    3. Выполните следующий скрипт, чтобы добавить управляемую идентификацию 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:

    1. В портал Azure перейдите к СЕРВЕРУ SQL Server и выберите брандмауэры и виртуальные сети.
    2. Выберите значение Да для параметра Разрешить доступ к серверу службам и ресурсам Azure.
    3. Выберите + Добавить IP-адрес клиента. IP-адрес клиента может измениться, поэтому может потребоваться снова добавить IP-адрес клиента при следующем совместном использовании данных на портале.
    4. Выберите Сохранить.

Дополнительные сведения о совместном доступе к Azure SQL и из Azure SQL см. в статье о совместном использовании и получении данных из База данных SQL Azure.

Совместное использование Azure Synapse Analytics

Поделиться

  • Разрешение на запись в пул SQL в рабочей области Synapse: Microsoft.Synapse/workspaces/sqlPools/write. Это разрешение имеется в роли Contributor.

  • Разрешение для управляемой идентификации ресурса Data Share на доступ к пулу SQL рабочей области Synapse:

    1. В портале Azure перейдите в рабочую область Synapse. Выберите SQL Active Directory admin в левой панели навигации и назначьте себя администратором Microsoft Entra.

    2. Откройте Synapse Studio, выберите "Управление " в области навигации слева. Выберите Управление доступом в разделе "Безопасность". Назначьте себе роль администратора SQL или администратора рабочей области.

    3. Выберите " Разработка " в области навигации слева в 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:

    1. В портале Azure перейдите в рабочую область Synapse. В области навигации слева выберите Брандмауэры.
    2. Выберите значение Вкл. для параметра Разрешить службам и ресурсам Azure доступ к этой рабочей области.
    3. Выберите + Добавить IP-адрес клиента. IP-адрес клиента может измениться, поэтому может потребоваться снова добавить IP-адрес клиента при следующем совместном использовании данных на портале.
    4. Выберите Сохранить.

Получить

  • Выделенный пул SQL в Azure Synapse Analytics (рабочая область). Получение данных в бессерверный пул SQL в настоящее время не поддерживается.

  • Разрешение на запись в пул SQL в рабочей области Synapse: Microsoft.Synapse/workspaces/sqlPools/write. Это разрешение имеется в роли Contributor.

  • Разрешение для управляемой идентификации ресурса Data Share на доступ к пулу SQL рабочей области Synapse:

    1. В портале Azure перейдите в рабочую область Synapse.

    2. Выберите администратора SQL Active Directory в левой области навигации и задайте себя администратором Microsoft Entra.

    3. Откройте Synapse Studio, затем выберите Управление в области навигации слева. Выберите Управление доступом в разделе "Безопасность". Назначьте себе роль администратора SQL или администратора рабочей области.

    4. В 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:

    1. В портале Azure перейдите в рабочую область Synapse. В области навигации слева выберите Брандмауэры.
    2. Выберите значение Вкл. для параметра Разрешить службам и ресурсам Azure доступ к этой рабочей области.
    3. Выберите + Добавить IP-адрес клиента. IP-адрес клиента можно изменить. Этот процесс может потребоваться повторить при следующем обмене данными SQL из портал Azure.
    4. Выберите Сохранить.

Дополнительные сведения о предоставлении и получении данных в Azure Synapse Analytics см. в статье о предоставлении и получении данных в Azure Synapse Analytics.

Назначение разрешений MI вручную

Если у пользователя есть разрешение Microsoft.Authorization/role assignments/write для исходного или целевого хранилища данных, Azure Data Share автоматически назначит своей управляемой идентичности разрешения, необходимые для аутентификации в этом хранилище данных. Вы также можете вручную назначить разрешения для управляемой идентификации.

Если вы решили назначить разрешения вручную, назначьте эти разрешения управляемой идентичности ресурса Azure Data Share в зависимости от источника и действия:

Тип хранилища данных Исходное хранилище данных поставщика данных Целевое хранилище данных для потребителя данных
Хранилище BLOB в Azure Читатель данных BLOB-объектов хранилища Участник данных хранилища BLOB-объектов
Azure Data Lake 1-го поколения Владелец Не поддерживается
Azure Data Lake 2-го поколения Читатель данных BLOB-объектов хранилища Участник данных хранилища BLOB-объектов
База данных SQL Azure db_datareader db_datareader, db_datawriter, db_ddladmin
Azure Synapse Analytics db_datareader db_datareader, db_datawriter, db_ddladmin

Пример поставщика данных

При предоставлении общего доступа к данным из учётной записи хранения управляемой идентичности ресурса общего доступа к данным назначается роль Storage Blob Data Reader.

Это выполняется автоматически службой Azure Data Share при добавлении набора данных через портал Azure, а пользователь является владельцем хранилища данных Azure или является членом настраиваемой роли с назначенным разрешением Microsoft.Authorization/roles/write.

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

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

  1. Перейдите в хранилище данных Azure.

  2. Выберите Управление доступом (IAM).

  3. Выберите Добавить > Добавить назначение роли.

    Снимок экрана: страница

  4. На вкладке "Роль" выберите одну из ролей, перечисленных в таблице назначения ролей в предыдущем разделе.

  5. На вкладке Члены выберите Управляемое удостоверение, а затем выберите Выбрать членов.

  6. Выберите свою подписку Azure.

  7. Выберите управляемое удостоверение, назначаемое системой, найдите ресурс Azure Data Share и выберите его.

  8. Чтобы назначить роль, на вкладке Проверка и назначение выберите Проверка и назначение.

Чтобы узнать больше о назначениях ролей, см. статью Назначение ролей 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/role assignments/write.

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

  1. Перейдите в хранилище данных Azure.

  2. Выберите Управление доступом (IAM).

  3. Выберите Добавить > Добавить назначение роли.

    Снимок экрана: страница

  4. На вкладке "Роль" выберите одну из ролей, перечисленных в таблице назначения ролей в предыдущем разделе. Например, для учетной записи хранения выберите средство чтения данных BLOB-объектов хранилища.

  5. На вкладке Члены выберите Управляемое удостоверение, а затем выберите Выбрать членов.

  6. Выберите свою подписку Azure.

  7. Выберите управляемое удостоверение, назначаемое системой, найдите ресурс Azure Data Share и выберите его.

  8. Чтобы назначить роль, на вкладке Проверка и назначение выберите Проверка и назначение.

Чтобы узнать больше о назначениях ролей, см. статью Назначение ролей 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.

  1. На портале Azure перейдите к подпискам.
  2. Выберите подписку, которую вы использовали для Azure Data Share.
  3. Выберите Поставщики ресурсов.
  4. Найдите Microsoft.DataShare.
  5. Выберите Зарегистрировать.

Дополнительные сведения о поставщике ресурсов см. в описании поставщиков и типов ресурсов Azure.

Пользовательские роли для общего доступа к данным

В этом разделе описываются пользовательские роли и разрешения, необходимые в рамках этих ролей для совместного использования и получения данных для учетной записи хранения. Существуют также предварительные требования, которые не зависят от пользовательской роли или роли Azure Data Share.

Предварительные требования для общего доступа к данным, помимо настраиваемой роли

  • Для общего доступа на основе моментальных снимков к хранилищу и озеру данных при добавлении набора данных в Azure Data Share необходимо предоставить управляемой идентичности ресурса общего доступа к данным поставщика доступ к исходному хранилищу данных Azure. Например, при использовании учетной записи хранения управляемой идентификации ресурса общего доступа к данным назначается роль «Читатель данных BLOB-объектов хранилища».
  • Чтобы получать данные в учетную запись хранения, необходимо предоставить управляемому удостоверению ресурса получателя общего доступа к данным доступ к целевой учетной записи хранения. Управляемому удостоверению общего ресурса данных необходимо предоставить роль участника данных BLOB-объекта хранилища.
  • Вам также может потребоваться вручную зарегистрировать поставщика ресурсов Microsoft.DataShare в подписке Azure для некоторых сценариев. Подробные сведения см. в разделе Регистрация поставщика ресурсов этой статьи.

Создание настраиваемых ролей и необходимых разрешений

Пользовательские роли можно создавать в подписке или группе ресурсов для совместного использования и получения данных. Затем пользователям и группам можно назначить настраиваемую роль.

  • Для создания пользовательской роли требуются действия для Storage, Data Share, группы ресурсов и авторизации. Ознакомьтесь с документом об операциях поставщика ресурсов 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.