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:
- Permisos de cuenta de recurso compartido de datos: Colaborador
- Grupo de recursos de almacenamiento: lector (leer permisos en el grupo de recursos en el que las cuentas de almacenamiento o las bases de datos residen para buscarlas en el portal).
- Permisos de origen, según el origen:
Uso compartido de almacenamiento y lago de datos
Tipo de almacén de datos | Action | 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 cuentas de almacenamiento** | **En su lugar, podría crear un rol personalizado con las acciones de almacenamiento necesarias | |
Recibir datos | Colaborador de cuentas 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 cuentas de almacenamiento** | **En su lugar, podría crear un rol personalizado con las acciones de almacenamiento necesarias | |
Recibir datos | Colaborador de cuentas 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 de 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 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 administrador de Microsoft Entra de SQL Server.
- Acceso al firewall de SQL Server:
- En Azure Portal, vaya al servidor de SQL. Seleccione Firewalls y redes virtuales en el panel de navegación izquierdo.
- Seleccione Sí en Permitir que los servicios y recursos de Azure accedan a este servidor.
- Seleccione +Agregar IP de cliente. La dirección IP del cliente puede cambiar, por lo que es posible que tenga que volver a añadir la IP de su cliente la próxima vez que comparta datos desde el portal.
- 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:
En Azure Portal, vaya a SQL Server y establézcase como administrador de Microsoft Entra.
Conéctese a Azure SQL Database/Data Warehouse con el Editor de Power Query o SQL Server Management Studio mediante la autenticación de Azure Active Directory.
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:
- En el Azure Portal, vaya al servidor SQL. Seleccione Firewalls y redes virtuales en el panel de navegación izquierdo.
- Seleccione Sí en Permitir que los servicios y recursos de Azure accedan a este servidor.
- Seleccione +Agregar IP de cliente. La dirección IP del cliente puede cambiar, por lo que es posible que tenga que volver a añadir la IP de su cliente la próxima vez que comparta datos desde el portal.
- Seleccione Guardar.
Autenticación que se va a recibir en SQL
Para un servidor SQL en el que usted sea el administrador de Microsoft Entra del servidor SQL, complete estos requisitos previos antes de aceptar un uso 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:
- En Azure Portal, vaya al servidor de SQL. Seleccione Firewalls y redes virtuales en el panel de navegación izquierdo.
- Seleccione Sí en Permitir que los servicios y recursos de Azure accedan a este servidor.
- Seleccione +Agregar IP de cliente. La dirección IP del cliente puede cambiar, por lo que es posible que tenga que volver a añadir la IP de su cliente la próxima vez que comparta datos desde el portal.
- Seleccione Guardar.
Para un servidor SQL en el que usted no sea el administrador de Microsoft Entra, complete estos requisitos previos antes de aceptar un uso 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:
En Azure Portal, vaya a SQL Server y establézcase como administrador de Microsoft Entra.
Conéctese a Azure SQL Database/Data Warehouse con el Editor de Power Query o SQL Server Management Studio mediante la autenticación de Azure Active Directory.
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:
- En el Azure Portal, vaya al servidor SQL y seleccione Firewalls y redes virtuales.
- Seleccione Sí en Permitir que los servicios y recursos de Azure accedan a este servidor.
- Seleccione +Agregar IP de cliente. La dirección IP del cliente puede cambiar, por lo que es posible que tenga que volver a añadir la IP de su cliente la próxima vez que comparta datos desde el portal.
- 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.
Compartir análisis de sinapsis Azure
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:
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.
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.
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:
- En el Azure Portal, vaya al área de trabajo de Synapse. Seleccione Firewalls en el panel de navegación izquierdo.
- En Permitir que los servicios y recursos de Azure accedan a esta área de trabajo, seleccione Activado.
- Seleccione +Agregar IP de cliente. La dirección IP del cliente puede cambiar, por lo que es posible que tenga que volver a añadir la IP de su cliente la próxima vez que comparta datos desde el portal.
- 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:
En el Azure Portal, vaya al á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.
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.
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:
- En el Azure Portal, vaya al área de trabajo de Synapse. Seleccione Firewalls en el panel de navegación izquierdo.
- En Permitir que los servicios y recursos de Azure accedan a esta área de trabajo, seleccione Activado.
- 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.
- 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 | Owner | 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 discos
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.
Esto lo hace automáticamente el servicio Azure Data Share cuando el usuario está añadiendo el conjunto de datos a través del portal Azure y el usuario es propietario del almacén de datos Azure, o es miembro de un rol personalizado que tiene asignado el permiso Microsoft.Authorization/role assignments/write.
Como alternativa, el usuario puede hacer que el propietario del almacén de datos de Azure agregue 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:
Vaya al almacén de datos de Azure.
Seleccione Access Control (IAM) .
Seleccione Agregar > Agregar asignación de roles.
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.
En la pestaña Miembros, seleccione Identidad administrada y, a continuación, seleccione Seleccionar miembros.
Seleccione su suscripción a Azure.
Seleccione Identidad administrada asignada por el sistema, busque el recurso de Azure Data Share y selecciónelo.
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 SQL, es necesario crear un usuario SQL desde un proveedor externo en SQL Database con el mismo nombre que el recurso Azure Data Share mientras se conecta a la base de datos SQL utilizando la autenticación 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.
Vaya al almacén de datos de Azure.
Seleccione Access Control (IAM) .
Seleccione Agregar > Agregar asignación de roles.
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.
En la pestaña Miembros, seleccione Identidad administrada y, a continuación, seleccione Seleccionar miembros.
Seleccione su suscripción a Azure.
Seleccione Identidad administrada asignada por el sistema, busque el recurso de Azure Data Share y selecciónelo.
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 objetivo basado en SQL, es necesario crear un usuario SQL a partir de un proveedor externo en SQL Database con el mismo nombre que el recurso Azure Data Share mientras se conecta a la base de datos SQL utilizando la autenticación 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
Puede que necesite registrar manualmente el proveedor de recursos Microsoft.DataShare en su suscripción Azure en los siguientes escenarios:
- 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.
- En Azure Portal, vaya a Suscripciones.
- Seleccione la suscripción que va a usar para Azure Data Share.
- Seleccione en Proveedores de recursos.
- Busque Microsoft.DataShare.
- 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 existen requisitos previos que son independientes del rol personalizado o del rol 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.
- Es posible que también tenga que registrar manualmente el proveedor de recursos Microsoft.DataShare en la suscripción de Azure en 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
- Obtenga más información acerca de los roles en Azure: Descripción de las definiciones de roles de Azure