Roles y requisitos de Azure Data Share

En este artículo se describen los roles y los permisos necesarios para compartir y recibir datos mediante el servicio Azure Data Share.

Roles y requisitos

Con el servicio de Azure Data Share, puede compartir datos sin intercambiar credenciales entre el proveedor de datos y el consumidor. En el caso del uso compartido basado en instantáneas, el servicio Azure Data Share usa identidades administradas (anteriormente conocidas como MSI) para autenticarse en el almacén de datos de Azure.

Para crear recursos compartidos en Azure Data Share, un usuario necesitará estos permisos:

Uso compartido de almacenamiento y lago de datos

Tipo de almacén de datos Acción Rol en el almacén de datos de origen Rol en el almacén de datos de destino Nota:
Azure Blob Storage Compartir datos Colaborador de la cuenta de almacenamiento** **En su lugar, podría crear un rol personalizado con las acciones de almacenamiento necesarias.
Recibir datos Colaborador de la cuenta de almacenamiento** **En su lugar, podría crear un rol personalizado con las acciones de almacenamiento necesarias.
Asignar automáticamente permisos de MI para compartir Un rol con Microsoft.Authorization/role assignments/write* Opcional. En su lugar, puede asignar los permisos mi manualmente.
Asignación automática de permisos mi para recibir Un rol con Microsoft.Authorization/role assignments/write* Opcional. En su lugar, puede asignar los permisos mi manualmente.
Azure Data Lake Gen 1 Compartir datos Acceso y permisos de escritura en los archivos que desea compartir.
Recibir datos No compatible
Asignar automáticamente permisos de MI para compartir Un rol con Microsoft.Authorization/role assignments/write* Opcional. En su lugar, puede asignar los permisos mi manualmente.
Asignación automática de permisos mi para recibir No admitida.
Azure Data Lake Gen 2 Compartir datos Colaborador de la cuenta de almacenamiento** **En su lugar, podría crear un rol personalizado con las acciones de almacenamiento necesarias.
Recibir datos Colaborador de la cuenta de almacenamiento** **En su lugar, podría crear un rol personalizado con las acciones de almacenamiento necesarias.
Asignar automáticamente permisos de MI para compartir Un rol con Microsoft.Authorization/role assignments/write* Opcional. En su lugar, puede asignar los permisos mi manualmente.
Asignación automática de permisos mi para recibir Un rol con Microsoft.Authorization/role assignments/write* Opcional. En su lugar, puede asignar los permisos mi manualmente.

* Este permiso existe en el rol Propietario .

Para más información sobre cómo compartir y desde Azure Storage, consulte el artículo para compartir y recibir datos de Azure Blob Storage y Azure Data Lake Storage.

Uso compartido de bases de datos SQL

Para compartir datos de SQL, puede usar:

Para recibir datos en SQL, deberá asignar permisos para recibir datos.

Autenticación de Microsoft Entra para compartir

Estos requisitos previos cubren la autenticación que necesitará para que Azure Data Share pueda conectarse con Azure SQL Database:

  • Necesitará permiso para escribir en las bases de datos del servidor SQL: Microsoft.Sql/servers/databases/write. Este permiso existe en el rol de colaborador.
  • Permisos de Administración de Microsoft Entra de SQL Server.
  • Acceso al firewall de SQL Server:
    1. En Azure Portal, vaya al servidor de SQL. Seleccione Firewalls y redes virtuales en el panel de navegación izquierdo.
    2. Seleccione en Permitir que los servicios y recursos de Azure accedan a este servidor.
    3. Seleccione +Agregar IP de cliente. La dirección IP del cliente puede cambiar, por lo que es posible que tenga que agregar la dirección IP del cliente de nuevo la próxima vez que comparta datos desde el portal.
    4. Seleccione Guardar.

Autenticación de SQL para compartir

Puede seguir el vídeo de demostración paso a paso para configurar la autenticación o completar cada uno de estos requisitos previos:

  • Permiso para escribir en las bases de datos del servidor SQL: Microsoft.Sql/servers/databases/write. Este permiso existe en el rol de colaborador.

  • Permiso para que la Azure Data Share administrada del recurso tenga acceso a la base de datos:

    1. En Azure Portal, vaya a SQL Server y establézcalo como Microsoft Entra Administración.

    2. Conectar a Azure SQL Database/Data Warehouse mediante el Editor de Power Query o SQL Server Management Studio con la autenticación de Microsoft Entra.

    3. Ejecute el siguiente script para agregar la identidad administrada del recurso de Data Share como db_datareader. Conéctese mediante Active Directory y no la autenticación de SQL Server.

      create user "<share_acct_name>" from external provider;     
      exec sp_addrolemember db_datareader, "<share_acct_name>"; 
      

      Nota:

      <share_acc_name> es el nombre del recurso de Data Share.

  • Un usuario de Azure SQL Database con acceso "db_datareader" para navegar y seleccionar las tablas o vistas que desea compartir.

  • Acceso al firewall de SQL Server:

    1. En el Azure Portal, vaya al servidor SQL. Seleccione Firewalls y redes virtuales en el panel de navegación izquierdo.
    2. Seleccione en Permitir que los servicios y recursos de Azure accedan a este servidor.
    3. Seleccione +Agregar IP de cliente. La dirección IP del cliente puede cambiar, por lo que es posible que tenga que agregar la dirección IP del cliente de nuevo la próxima vez que comparta datos desde el portal.
    4. Seleccione Guardar.

Autenticación que se va a recibir en SQL

Para un servidor SQL server en el que sea el administrador de Microsoft Entra del servidor SQL Server, complete estos requisitos previos antes de aceptar un recurso compartido de datos:

  • Una instancia de Azure SQL Database o Azure Synapse Analytics (anteriormente Azure SQL DW).
  • Permiso para escribir en las bases de datos del servidor SQL: Microsoft.Sql/servers/databases/write. Este permiso existe en el rol de colaborador.
  • Acceso al firewall de SQL Server:
    1. En Azure Portal, vaya al servidor de SQL. Seleccione Firewalls y redes virtuales en el panel de navegación izquierdo.
    2. Seleccione en Permitir que los servicios y recursos de Azure accedan a este servidor.
    3. Seleccione +Agregar IP de cliente. La dirección IP del cliente puede cambiar, por lo que es posible que tenga que agregar la dirección IP del cliente de nuevo la próxima vez que comparta datos desde el portal.
    4. Seleccione Guardar.

Para un servidor SQL server en el que no sea el administrador de Microsoft Entra, complete estos requisitos previos antes de aceptar un recurso compartido de datos:

Puede seguir el vídeo de demostración paso a paso o los pasos siguientes para configurar los requisitos previos.

  • Una instancia de Azure SQL Database o Azure Synapse Analytics (anteriormente Azure SQL DW).

  • Permiso para escribir en bases de datos en servidor SQL: Microsoft.Sql/servers/databases/write. Este permiso existe en el rol de colaborador.

  • Permiso para que la identidad administrada del recurso compartido de Data Share tenga acceso a Azure SQL Database o Azure Synapse Analytics:

    1. En Azure Portal, vaya a SQL Server y establézcalo como Microsoft Entra Administración.

    2. Conectar a Azure SQL Database/Data Warehouse mediante el Editor de Power Query o SQL Server Management Studio con la autenticación de Microsoft Entra.

    3. Ejecute el siguiente script para agregar la identidad administrada de Data Share como "db_datareader, db_datawriter o 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>";
      

      Nota:

      <share_acc_name> es el nombre del recurso de Data Share.

  • Acceso al firewall de SQL Server:

    1. En el Azure Portal, vaya al servidor SQL y seleccione Firewalls y redes virtuales.
    2. Seleccione en Permitir que los servicios y recursos de Azure accedan a este servidor.
    3. Seleccione +Agregar IP de cliente. La dirección IP del cliente puede cambiar, por lo que es posible que tenga que agregar la dirección IP del cliente de nuevo la próxima vez que comparta datos desde el portal.
    4. Seleccione Guardar.

Para más información sobre cómo compartir y desde Azure SQL, consulte el artículo para compartir y recibir datos de Azure SQL Database.

Uso compartido de Análisis de Azure Synapse

Compartir

  • Permiso para escribir en el grupo de SQL en el área de trabajo de Synapse: Microsoft.Synapse/workspaces/sqlPools/write. Este permiso existe en el rol de colaborador.

  • Permiso para que la identidad administrada del recurso de Data Share tenga acceso al grupo de SQL del área de trabajo de Synapse:

    1. En Azure Portal, vaya a su área de trabajo de Synapse. Seleccione Administrador de SQL Active Directory en el panel de navegación izquierdo y establézcalo como administrador de Microsoft Entra.

    2. Abra el Synapse Studio, seleccione Administrar en el panel de navegación izquierdo. En Seguridad, seleccione Control de acceso. Debe asignarse el rol de administrador de SQL o administrador del área de trabajo.

    3. Seleccione Desarrollar en el panel de navegación izquierdo de la Synapse Studio. Ejecute el siguiente script en el grupo de SQL para agregar la identidad administrada del recurso de Data Share como db_datareader.

      create user "<share_acct_name>" from external provider;     
      exec sp_addrolemember db_datareader, "<share_acct_name>"; 
      

      Nota:

      <share_acc_name> es el nombre del recurso de Data Share.

  • Acceso al firewall del área de trabajo de Synapse:

    1. En el Azure Portal, vaya al área de trabajo de Synapse. Seleccione Firewalls en el panel de navegación izquierdo.
    2. En Permitir que los servicios y recursos de Azure accedan a esta área de trabajo, seleccione Activado.
    3. Seleccione +Agregar IP de cliente. La dirección IP del cliente puede cambiar, por lo que es posible que tenga que agregar la dirección IP del cliente de nuevo la próxima vez que comparta datos desde el portal.
    4. Seleccione Guardar.

Receive

  • Un grupo de SQL dedicado de Azure Synapse Analytics (área de trabajo). Actualmente, no se admite la recepción de datos en un grupo de SQL sin servidor.

  • Permiso para escribir en el grupo de SQL en el área de trabajo de Synapse: Microsoft.Synapse/workspaces/sqlPools/write. Este permiso existe en el rol de colaborador.

  • Permiso para que la identidad administrada del recurso de Data Share tenga acceso al grupo de SQL del área de trabajo de Synapse:

    1. En el Azure Portal, vaya al área de trabajo de Synapse.

    2. Seleccione Administrador de SQL Active Directory en el panel de navegación izquierdo y establézcalo como administrador de Microsoft Entra.

    3. Abra Synapse Studio y seleccione Administrar en el panel de navegación izquierdo. En Seguridad, seleccione Control de acceso. Debe asignarse el rol de administrador de SQL o administrador del área de trabajo.

    4. En Synapse Studio, seleccione Desarrollar en el panel de navegación izquierdo. Ejecute el siguiente script en el grupo de SQL para agregar la identidad administrada del recurso de Data Share como "db_datareader, db_datawriter o 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>";
      

      Nota:

      <share_acc_name> es el nombre del recurso de Data Share.

  • Acceso al firewall del área de trabajo de Synapse:

    1. En el Azure Portal, vaya al área de trabajo de Synapse. Seleccione Firewalls en el panel de navegación izquierdo.
    2. En Permitir que los servicios y recursos de Azure accedan a esta área de trabajo, seleccione Activado.
    3. Seleccione +Agregar IP de cliente. La dirección IP del cliente está sujeta a cambios. Es posible que se tenga repetir este proceso la próxima vez que comparta datos de SQL desde Azure Portal.
    4. Seleccione Guardar.

Para más información sobre cómo compartir y desde Azure Synapse Analytics, consulte el artículo para compartir y recibir datos de Azure Synapse Analytics.

Asignación manual de permisos de MI

Si un usuario tiene permisos de microsoft.Authorization/role assignments/write en un almacén de datos de origen o de destino, asignará automáticamente la identidad administrada de Azure Data Share los permisos que necesita para autenticarse con el almacén de datos. También puede asignar manualmente permisos de identidad administrada.

Si decide asignar permisos manualmente, asigne estos permisos a la identidad administrada del recurso de Azure Data Share en función del origen y la acción:

Tipo de almacén de datos Almacén de datos de origen del proveedor de datos Almacén de datos de destino del consumidor de datos
Azure Blob Storage Lector de datos de blobs de almacenamiento Colaborador de datos de blobs de almacenamiento
Azure Data Lake Gen1 Propietario No compatible
Azure Data Lake Gen2 Lector de datos de blobs de almacenamiento Colaborador de datos de blobs de almacenamiento
Azure SQL Database db_datareader db_datareader, db_datawriter, db_ddladmin
Azure Synapse Analytics db_datareader db_datareader, db_datawriter, db_ddladmin

Ejemplo del proveedor de datos

Al compartir datos de una cuenta de almacenamiento, a la identidad administrada del recurso compartido de datos se le concede el rol Lector de datos de Storage Blob.

El servicio Azure Data Share lo hace automáticamente cuando el usuario agrega un conjunto de datos a través de Azure Portal y el usuario es propietario del almacén de datos de Azure, o es miembro de un rol personalizado que tiene asignado el permiso Microsoft.Authorization/role assignments/write .

Como alternativa, el usuario puede tener el propietario del almacén de datos de Azure agregar manualmente la identidad administrada del recurso compartido de datos al almacén de datos de Azure. Esta acción solo debe realizarse una vez por cada recurso compartido de datos.

Para crear manualmente una asignación de roles para la identidad administrada del recurso compartido de datos, siga los pasos a continuación:

  1. Vaya al almacén de datos de Azure.

  2. Seleccione Access Control (IAM) .

  3. Seleccione Agregar > Agregar asignación de roles.

    Screenshot that shows Access control (IAM) page with Add role assignment menu open.

  4. En la pestaña Rol, seleccione uno de los roles que se enumeran en la tabla de asignación de roles de la sección anterior.

  5. En la pestaña Miembros, seleccione Identidad administrada y, a continuación, seleccione Seleccionar miembros.

  6. Seleccione su suscripción a Azure.

  7. Seleccione Identidad administrada asignada por el sistema, busque el recurso de Azure Data Share y selecciónelo.

  8. En la pestaña Revisión y asignación, seleccione Revisión y asignación para asignar el rol.

Para obtener más información sobre las asignaciones de roles, consulte Asignación de roles de Azure mediante Azure Portal. Consulte Asignación de roles de Azure mediante la API REST si comparte datos empleando las API REST y quiere crear una asignación de roles mediante la API.

Para el uso compartido basado en instantáneas de SQL, es necesario crear un usuario de SQL a partir de un proveedor externo de SQL Database con el mismo nombre que el recurso de Azure Data Share al conectarse a la base de datos SQL mediante la autenticación de Microsoft Entra. Se debe conceder a este usuario el permiso db_datareader. Puede encontrar un script de ejemplo junto con otros requisitos previos para el uso compartido basado en SQL en el tutorial Uso compartido desde Azure SQL Database o Azure Synapse Analytics.

Ejemplo de consumidor de datos

Para recibir datos en la cuenta de almacenamiento, se debe conceder a la identidad administrada del recurso compartido de datos del consumidor acceso a la cuenta de almacenamiento de destino. A la identidad administrada del recurso compartido de datos se le debe conceder el rol Lector de datos de Storage Blob. El servicio Azure Data Share hace esto automáticamente si el usuario especifica una cuenta de almacenamiento de destino mediante Azure Portal y tiene el permiso adecuado. Por ejemplo, el usuario es propietario de la cuenta de almacenamiento o es miembro de un rol personalizado que tiene asignado el permiso Microsoft.Authorization/asignación de roles/escritura.

Como alternativa, el usuario puede hacer que el propietario de la cuenta de almacenamiento agregue manualmente la identidad administrada del recurso compartido de datos a dicha cuenta. Esta acción solo debe realizarse una vez por cada recurso compartido de datos. Para crear una asignación de roles manualmente para la identidad administrada del recurso compartido de datos, siga estos pasos.

  1. Vaya al almacén de datos de Azure.

  2. Seleccione Access Control (IAM) .

  3. Seleccione Agregar > Agregar asignación de roles.

    Screenshot that shows Access control (IAM) page with Add role assignment menu open.

  4. En la pestaña Rol, seleccione uno de los roles que se enumeran en la tabla de asignación de roles de la sección anterior. Por ejemplo, para una cuenta de almacenamiento, seleccione Lector de datos de Storage Blob.

  5. En la pestaña Miembros, seleccione Identidad administrada y, a continuación, seleccione Seleccionar miembros.

  6. Seleccione su suscripción a Azure.

  7. Seleccione Identidad administrada asignada por el sistema, busque el recurso de Azure Data Share y selecciónelo.

  8. En la pestaña Revisión y asignación, seleccione Revisión y asignación para asignar el rol.

Para obtener más información sobre las asignaciones de roles, consulte Asignación de roles de Azure mediante Azure Portal. Consulte Asignación de roles de Azure mediante la API REST si recibe datos empleando las API REST y quiere crear una asignación de roles mediante la API.

Para el destino basado en SQL, es necesario crear un usuario de SQL a partir de un proveedor externo de SQL Database con el mismo nombre que el recurso de Azure Data Share al conectarse a la base de datos SQL mediante la autenticación de Microsoft Entra. Se debe conceder a este usuario el permisodb_datareader, db_datawriter, db_ddladmin. Puede encontrar un script de ejemplo junto con otros requisitos previos para el uso compartido basado en SQL en el tutorial Uso compartido desde Azure SQL Database o Azure Synapse Analytics.

Registro del proveedor de recursos

Es posible que tenga que registrar manualmente el proveedor de recursos Microsoft.DataShare en su suscripción de Azure en los escenarios siguientes:

  • Consulte la invitación de Azure Data Share por primera vez en su inquilino de Azure.
  • Opción para compartir datos de un almacén de datos de Azure en una suscripción de Azure diferente del recurso de Azure Data Share
  • Recepción de datos en un almacén de datos de Azure en una suscripción de Azure diferente del recurso de Azure Data Share

Siga estos pasos para registrar el proveedor de recursos Microsoft.DataShare en la suscripción de Azure. Necesita acceso de Colaborador a la suscripción de Azure para registrar el proveedor de recursos.

  1. En Azure Portal, vaya a Suscripciones.
  2. Seleccione la suscripción que va a usar para Azure Data Share.
  3. Seleccione en Proveedores de recursos.
  4. Busque Microsoft.DataShare.
  5. Seleccione Registrar.

Para más información sobre los proveedores de recursos, vea Tipos y proveedores de recursos de Azure.

Roles personalizados para Data Share

En esta sección se describen los roles y permisos personalizados necesarios dentro de los roles personalizados para compartir y recibir datos, específicos de una cuenta de almacenamiento. También hay requisitos previos que son independientes del rol personalizado o del rol de Azure Data Share.

Requisitos previos para Data Share, además del rol personalizado

  • Si el uso compartido se basa en instantáneas de almacenamiento o de lago de datos, para agregar un conjunto de datos en Azure Data Share, se debe conceder a la identidad administrada del recurso compartido de datos del proveedor acceso al almacén de datos de Azure de origen. Por ejemplo, si usa una cuenta de almacenamiento, a la identidad administrada del recurso compartido de datos se le concede el rol Lector de datos de Storage Blob.
  • Para recibir datos en una cuenta de almacenamiento, se debe conceder a la identidad administrada del recurso compartido de datos del consumidor acceso a la cuenta de almacenamiento de destino. A la identidad administrada del recurso compartido de datos se le debe conceder el rol Lector de datos de Storage Blob.
  • También es posible que tenga que registrar manualmente el proveedor de recursos Microsoft.DataShare en su suscripción de Azure para algunos escenarios. Consulte la sección Registro del proveedor de recursos de este artículo para obtener detalles específicos.

Creación de roles personalizados y permisos necesarios

Los roles personalizados se pueden crear en una suscripción o grupo de recursos para compartir y recibir datos. A los usuarios y grupos se les puede asignar el rol personalizado.

  • Para crear un rol personalizado, hay acciones necesarias para Storage, Data Share, grupos de recursos y autorización. Consulte el documento de operaciones del proveedor de recursos de Azure para Data Share para comprender los distintos niveles de permisos y elegir aquellos pertinentes para su rol personalizado.
  • Como alternativa, puede usar Azure Portal para ir a IAM, Rol personalizado, Agregar permisos, Buscar y buscar permisos de Microsoft.DataShare para ver la lista de acciones disponibles.
  • Para más información sobre la asignación de roles personalizados, consulte Roles personalizados de Azure. Una vez que tenga el rol personalizado, compruébelo para verificar que funciona según lo esperado.

A continuación se muestra un ejemplo de cómo se mostrarán las acciones necesarias en la vista JSON para que un rol personalizado comparta y reciba datos.

{
"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", 
 ] 
}

Pasos siguientes