Compartir vía


Control de acceso basado en rol (RBAC)

RBAC de OneLake usa asignaciones de roles para aplicar permisos a sus miembros. Puede asignar roles a usuarios o a grupos de seguridad, grupos de Microsoft 365 y listas de distribución. Cada miembro del grupo de usuarios obtiene el rol asignado.

Si alguien está en dos o más grupos de seguridad o en un grupo de Microsoft 365, obtiene el nivel más alto de permiso proporcionado por los roles. Si anida grupos de usuarios y asigna un rol a un grupo, todos los usuarios contenidos adquieren permisos.

RBAC de OneLake permite a los usuarios definir roles de acceso a datos solo para elementos de Lakehouse.

RBAC de OneLake restringe el acceso a los datos para los usuarios con acceso de lectura o de Visor del área de trabajo a un almacén de lago. No se aplica a administradores del área de trabajo, miembros ni colaboradores. Como resultado, RBAC OneLake solo admite el nivel de lectura de permisos.

Procedimiento para crear roles de RBAC

Puede definir y administrar roles de RBAC de OneLake a través de la configuración de acceso a datos de Lakehouse.

Más información en Introducción a los roles de acceso a datos.

Rol de RBAC predeterminado en el almacén de lago

Cuando el usuario crea un almacén de lago, OneLake genera un rol de RBAC predeterminado denominado Default Readers. El rol permite a todos los usuarios con permiso ReadAll leer todas las carpetas del elemento.

Esta es la definición de rol predeterminada:

Elemento de Fabric Nombre del rol Permiso Carpetas incluidas Miembros asignados
Lakehouse DefaultReader ReadAll Todas las carpetas en Tables/ y Files/ Todos los usuarios con permiso ReadAll

Nota:

Para restringir el acceso a usuarios específicos o carpetas específicas, debe modificar el rol predeterminado, o bien quitarlo y crear un rol personalizado.

Herencia en RBAC de OneLake

Para cualquier carpeta, los permisos RBAC de OneLake siempre heredan toda la jerarquía de los archivos y subcarpetas de la carpeta.

Por ejemplo, dada la siguiente jerarquía de un lago en OneLake.

Tables/
──── (empty folder)
Files/
────folder1
│   │   file11.txt
│   │
│   └───subfolder11
│       │   file1111.txt
|       │
│       └───subfolder111
|            │   file1111.txt
│   
└───folder2
    │   file21.txt

Para la jerarquía dada, los permisos de RBAC de OneLake para Role1 y Role2 heredan de la siguiente manera:

Rol Permiso Carpeta definida en el permiso Carpetas y archivos que heredan el permiso
Role1 Lectura folder1
│   │   file11.txt
│   │
│   └───subfolder11
│       │   file1111.txt
|       │
│       └───subfolder111
|            │   file1111.txt
Role2 Lectura folder2
    │   file21.txt

Recorrido y enumeración en RBAC de OneLake

RBAC de OneLake proporciona recorrido automático de elementos primarios para garantizar que los datos sean fáciles de detectar. La concesión a un usuario del permiso Read para subfolder11 concede al usuario la capacidad de enumerar y recorrer la carpeta1 del directorio primario. Esta funcionalidad es similar a los permisos de carpeta de Windows en los que proporcionar acceso a una subcarpeta proporciona detección y recorrido para los directorios primarios. La enumeración y el recorrido concedidos al elemento primario no se extienden a otros elementos fuera de los elementos primarios directos, lo que garantiza que otras carpetas se mantengan seguras.

Por ejemplo, dada la siguiente jerarquía de un lago en OneLake.

Tables/
──── (empty folder)
Files/
────folder1
│   │   file11.txt
│   │
│   └───subfolder11
│       │   file111.txt
|       │
│       └───subfolder111
|            │   file1111.txt
│   
└───folder2
    │   file21.txt

Para la jerarquía dada, los permisos RBAC de OneLake para "Role1" proporcionan el siguiente acceso. Tenga en cuenta que el acceso a file11.txt no es visible, ya que no es un elemento primario de subfolder11. Del mismo modo, file111.txt tampoco es visible para Role2.

Rol Permiso Carpeta definida en el permiso Carpetas y archivos que heredan el permiso
Role1 Lectura subfolder11
Files/
────folder1
│   │
│   └───subfolder11
│       │   file111.txt
|       │
│       └───subfolder111
|            │   file1111.txt
Role2 Lectura subfolder111
Files/
────folder1
│   │
│   └───subfolder11
|       │
│       └───subfolder111
|            │   file1111.txt

En el caso de los accesos directos, el comportamiento de enumeración es ligeramente diferente. Los accesos directos a orígenes de datos externos se comportan igual que las carpetas; pero los accesos directos a otras ubicaciones de OneLake tienen un comportamiento especializado. El acceso a un acceso directo de OneLake viene determinado por los permisos de destino del acceso directo. Al enumerar los accesos directos, no se realiza ninguna llamada para comprobar el acceso de destino. Como resultado, al enumerar un directorio, se devolverán todos los accesos directos internos independientemente del acceso de un usuario al destino. Cuando un usuario intenta abrir el acceso directo, la comprobación de acceso se evaluará y un usuario solo verá los datos para los que tiene los permisos necesarios. Para más información sobre los accesos directos, vea la sección de seguridad de los accesos directos.

En los ejemplos siguientes se usa la jerarquía de carpetas siguiente.

Files/
────folder1
│   
└───shortcut2
|
└───shortcut3
Rol Permiso Carpeta definida en el permiso Resultado de enumerar archivos
Role1 Lectura folder1
Files/
────folder1
│   
└───shortcut2
|
└───shortcut3
Role2 N/D N/D
Files/
│   
└───shortcut2
|
└───shortcut3

Procedimiento para evaluar los permisos RBAC de OneLake con permisos de Fabric

Los permisos de área de trabajo y elemento permiten conceder acceso "detallado general" a los datos de OneLake para el elemento especificado. Los permisos RBAC de OneLake le permiten restringir el acceso a los datos en OneLake solo a carpetas específicas.

Diagrama en el que se muestra el orden de las evaluaciones de permisos con área de trabajo, elemento y RBAC.

Permisos de RBAC y área de trabajo de OneLake

Los permisos del área de trabajo son el límite de seguridad principal de los datos en OneLake. Cada área de trabajo representa un único dominio o área de proyecto donde los equipos pueden colaborar en los datos. La seguridad del área de trabajo se administra utilizando los roles de área de trabajo de Fabric. Más información sobre el control de acceso basado en roles (RBAC) de Fabric: Roles de área de trabajo

Los roles de área de trabajo de Fabric conceden los siguientes permisos en OneLake.

Permiso Administrador Member Colaborador Visor
Ver archivos en OneLake Siempre* Sí Siempre* Sí Siempre* Sí No de manera predeterminada. Use RBAC de OneLake para conceder el acceso.
Escribir archivos en OneLake Siempre* Sí Siempre* Sí Siempre* Sí No

Nota:

*Como los roles Administrador de área de trabajo, Miembro y Colaborador conceden automáticamente permisos de escritura a OneLake, invalida los permisos de lectura de RBAC de OneLake.

Rol de área de trabajo ¿Aplica OneLake permisos de lectura de RBAC?
Administrador, miembro, colaborador No, la seguridad de OneLake omitirá los permisos de lectura de RBC de OneLake
Espectador Sí, si se definen, se aplicarán los permisos de lectura de RBAC de OneLake

Permisos RBAC y Lakehouse de OneLake

Dentro de un área de trabajo, los elementos de Fabric pueden tener permisos configurados por separado de los roles del área de trabajo. Los permisos se pueden configurar compartiendo un elemento o administrando los permisos de un elemento. Los siguientes permisos determinan la capacidad de un usuario para realizar acciones en los datos de OneLake.

Permisos de Lakehouse

Permiso de Lakehouse ¿Puede ver archivos en OneLake? ¿Puede escribir archivos en OneLake? ¿Puede leer datos a través del punto de conexión de análisis SQL?
Leer No de manera predeterminada, use RBAC de OneLake para conceder el acceso. No No
ReadAll Sí, de manera predeterminada. Use RBAC de OneLake para restringir el acceso. No No
Escritura
Execute, Reshare, ViewOutput, ViewLogs N/D: no se puede conceder por sí solo N/D: no se puede conceder por sí solo N/D: no se puede conceder por sí solo

Permisos de punto de conexión de SQL Analytics de OneLake y RBAC de Lakehouse

Un punto de conexión de análisis SQL es un almacén que se genera automáticamente a partir de un almacén de lago en Microsoft Fabric. Un cliente puede realizar la transición desde la vista "Lake" de la instancia de Lakehouse (que admite la ingeniería de datos y Apache Spark) a la vista "SQL" de la misma instancia de Lakehouse. Más información sobre el punto de conexión de SQL Analytics en la documentación de almacén de datos: punto de conexión de SQL Analytics.

Permiso de punto de conexión de SQL Analytics ¿Los usuarios pueden ver archivos mediante un punto de conexión de OneLake? ¿Los usuarios pueden escribir archivos mediante un punto de conexión de OneLake? ¿Los usuarios pueden leer datos mediante el punto de conexión de análisis SQL?
Leer No de manera predeterminada, use RBAC de OneLake para conceder el acceso. No No de manera predeterminada, pero se puede configurar con permisos pormenorizados de SQL
ReadData No de manera predeterminada. Use RBAC de OneLake para conceder el acceso. No
Escribir

Permisos de modelo semántico de almacén de lago predeterminados y de RBAC de OneLake

En Microsoft Fabric, cuando el usuario crea un almacén de lago, el sistema también aprovisiona el modelo semántico predeterminado asociado. El modelo semántico predeterminado tiene métricas sobre los datos del lago de datos. El modelo semántico permite a Power BI cargar datos para los informes.

Permiso del modelo semántico predeterminado ¿Puede ver archivos en OneLake? ¿Puede escribir archivos en OneLake? ¿Puede ver el esquema en el modelo semántico? ¿Puede leer datos en el modelo semántico?
Leer No de manera predeterminada, use RBAC de OneLake para conceder el acceso. No No Sí, de manera predeterminada. Se puede restringir con seguridad de nivel de objeto de Power BI y seguridad de nivel de fila de Power BI
Build Sí, de manera predeterminada. Use RBAC de OneLake para restringir el acceso.
Escribir
Volver a compartir N/D: no se puede conceder por sí solo N/D: no se puede conceder por sí solo N/D: no se puede conceder por sí solo N/D: no se puede conceder por sí solo

Uso compartido de Lakehouse y permisos de RBAC de OneLake

Cuando un usuario comparte un almacén de lago, concede a otros usuarios o a un grupo de usuarios acceso a un almacén de lago sin dar acceso al área de trabajo y al resto de sus elementos. Puede encontrar el almacén de lago compartido a través de Data Hub o de la sección Compartido conmigo en Microsoft Fabric.

Cuando alguien comparte un almacén de lago, también puede conceder acceso al punto de conexión de análisis de SQL y al modelo semántico predeterminado asociado.

Captura de pantalla de la pantalla Conceder acceso a personas de Lakehouse.

Opción de uso compartido ¿Puede ver archivos en OneLake? ¿Puede escribir archivos en OneLake? ¿Puede leer datos a través del punto de conexión de análisis SQL? ¿Puede ver y crear modelos semánticos?
No hay permisos adicionales seleccionados No de manera predeterminada, use RBAC de OneLake para conceder el acceso. No N.º No
Leer todo Apache Spark Sí, de manera predeterminada. Use RBAC de OneLake para restringir el acceso. No N.º No
Leer todos los datos del punto de conexión de SQL No de manera predeterminada, use RBAC de OneLake para conceder el acceso. No No
Creación de informes en el conjunto de datos predeterminado Sí, de manera predeterminada. Use RBAC de OneLake para restringir el acceso. No No

Más información sobre el modelo de permisos de uso compartido de datos:

Accesos directos

RBAC de OneLake en accesos directos internos

Para cualquier carpeta de un almacén de lago, los permisos de RBAC siempre se heredan en todos los accesos directos internos en los que esta carpeta se define como destino.

Cuando un usuario accede a los datos a través de un acceso directo a otra ubicación de OneLake, la identidad del usuario que realiza la llamada se usará para autorizar el acceso a los datos en la ruta de acceso de destino del acceso directo*. Como resultado, este usuario debe tener permisos RBAC de OneLake en la ubicación de destino para leer los datos.

Importante

Al acceder a los accesos directos mediante modelos semánticos de Power BI o T-SQL, la identidad del usuario que realiza la llamada no se pasa al destino de acceso directo. En su lugar, se pasa la identidad del propietario del elemento que realiza la llamada y se delega el acceso al usuario que realiza la llamada.

No se permite definir permisos de RBAC para el acceso directo interno y se deben definir en la carpeta de destino ubicada en el elemento de destino. Como la definición de permisos de RBAC se limita a los elementos de almacén de lago, OneLake solo permite permisos de RBAC para accesos directos destinados a carpetas en elementos de almacén de lago.

En la tabla siguiente se especifica si se admite el escenario de acceso directo correspondiente para definir permisos de RBAC de OneLake.

Escenario de acceso directo interno ¿Se admiten los permisos de RBAC de OneLake? Comentarios
Acceso directo en un almacén de lago1 que apunta a carpeta2 ubicada en el mismo almacén de lago. Admitido. Para restringir el acceso a los datos en el acceso directo, defina RBAC de OneLake para carpeta2.
Acceso directo en un almacén de lago1 que apunta a carpeta2 ubicada en otro almacén de lago2 Admitido. Para restringir el acceso a los datos en el acceso directo, defina RBAC de OneLake para carpeta2 en almacén de lago2.
Acceso directo en un almacén de lago que apunta a una tabla ubicada en un almacén de datos No admitida. OneLake no admite la definición de permisos de RBAC en almacenes de datos. En su lugar, el acceso se determina en función del permiso ReadAll.
Acceso directo en un almacén de lago que apunta a una tabla ubicada en un base de datos KQL No admitida. OneLake no admite la definición de permisos de RBAC en bases de datos KQL. En su lugar, el acceso se determina en función del permiso ReadAll.

RBAC de OneLake en accesos directos externos (ADLS, S3, Dataverse)

OneLake admite la definición de permisos de RBAC para accesos directos, como los de ADLS, S3 y Dataverse. En este caso, el modelo RBAC se aplica sobre el modelo de autorización delegado habilitado para este tipo de acceso directo.

Imagine que usuario1 crea un acceso directo S3 en un almacén de lago que apunta a una carpeta en un cubo de AWS S3. Después, usuario2 intenta acceder a los datos en este acceso directo.

¿La conexión de S3 autoriza el acceso para el usuario1 delegado? ¿RBAC de OneLakeautoriza el acceso para el usuario2 que realiza la solicitud? Resultado: ¿Puede usuario2 acceder a los datos en el acceso directo de S3?
No N.º N.º
No No
No No

Los permisos de RBAC se deben definir para todo el ámbito del acceso directo (toda la carpeta de destino), pero se heredan de forma recursiva en todas sus subcarpetas y archivos.

Más información sobre los accesos directos de S3, ADLS y Dataverse en Accesos directos de OneLake.

Límites en RBAC de OneLake

En la tabla siguiente se proporcionan las limitaciones de los roles de acceso a datos de OneLake.

Escenario Límite
Número máximo de roles RBAC de OneLake por elemento de Fabric Como máximo, 250 roles para cada elemento de almacén de lago.
Número máximo de miembros por rol RBAC de OneLake Como máximo, 500 usuarios y grupos de usuarios por rol.
Número máximo de permisos por rol de RBAC de OneLake Como máximo, 500 permisos por rol

Latencias en RBAC de OneLake

  • Si cambia una definición de rol de RBAC de OneLake, OneLake tarda unos cinco minutos en aplicar las definiciones actualizadas.
  • Si cambia un grupo de usuarios en el rol de RBAC de OneLake, OneLake tarda aproximadamente una hora en aplicar los permisos del rol en el grupo de usuarios actualizado.