Habilitación del control de acceso de la tabla de metastore de Hive en un clúster (heredado)
En este artículo se describe cómo habilitar el control de acceso a tablas para el metastore de Hive integrado en un clúster.
Para obtener información sobre cómo establecer privilegios en objetos protegibles de metastore de Hive una vez habilitado el control de acceso a la tabla en un clúster, consulte Privilegios de metastore de Hive y objetos protegibles (heredado).
Nota:
El control de acceso a la tabla de metastore de Hive es un modelo de gobernanza de datos heredado. Databricks recomienda usar Unity Catalog en su lugar por su simplicidad y su modelo de gobernanza centrado en la cuenta. Puede actualizar las tablas administradas por el metastore de Hive al metastore de Unity Catalog.
Habilitación del control de acceso a tablas para un clúster
El control de acceso a tablas está disponible en dos versiones:
- Control de acceso a tablas solo de SQL, que únicamente permite a los usuarios ejecutar comandos SQL.
- Control de acceso a tablas de Python y SQL, que permite a los usuarios ejecutar comandos SQL, Python y PySpark.
El control de acceso a tablas no se admite con runtime para Machine Learning.
Importante
Aunque el control de acceso a tablas está habilitado para un clúster, los administradores de área de trabajo de Azure Databricks tienen acceso a los datos de nivel de archivo.
Control de acceso a tablas solo de SQL
Esta versión del control de acceso a tablas únicamente permite a los usuarios ejecutar comandos SQL.
Para habilitar el control de acceso a tablas solo de SQL en un clúster y restringir dicho clúster de modo que solo puedan usarse comandos SQL, establezca la siguiente marca en la configuración de Spark del clúster:
spark.databricks.acl.sqlOnly true
Nota:
El acceso al control de acceso a tablas solo de SQL no se ve afectado por el valor Habilitar control de acceso a tablas de la página de configuración del administrador. Dicho valor solo afecta a la habilitación del control de acceso a tablas de Python y SQL de todo el área de trabajo.
Control de acceso a tablas de Python y SQL
Esta versión del control de acceso a tablas permite a los usuarios ejecutar comandos Python que usan la API de DataFrame, además de SQL. Cuando está habilitado en un clúster, los usuarios de dicho clúster:
- Solo pueden acceder a Spark mediante la API de SQL o la API de DataFrame. En ambos casos, los administradores restringen el acceso a las tablas y las vistas de acuerdo con los privilegios que puede conceder en los objetos de metastore de Hive de Azure Databricks.
- Deben ejecutar sus comandos en nodos de clúster como usuarios con pocos privilegios que no tengan permitido acceder a partes confidenciales del sistema de archivos ni crear conexiones de red a puertos distintos del 80 y 443.
- Solo las funciones integradas de Spark pueden crear conexiones de red en puertos distintos del 80 y 443.
- Solo los usuarios administradores de área de trabajo o los usuarios con el privilegio ANY FILE pueden leer datos de bases de datos externas a través del conector JDBC de PySpark.
- Si desea que los procesos de Python tengan acceso a puertos de salida adicionales, puede indicar en la configuración de Spark
spark.databricks.pyspark.iptable.outbound.whitelisted.ports
los puertos a los que desee permitir el acceso. El formato admitido del valor de configuración es[port[:port][,port[:port]]...]
, por ejemplo:21,22,9000:9999
. El puerto debe estar dentro del intervalo válido, es decir,0-65535
.
Los intentos de evitar estas restricciones producirán una excepción. Estas restricciones existen para que los usuarios no puedan acceder en ningún momento a datos sin derechos a través del clúster.
Habilitación del control de acceso a tablas para el área de trabajo
Para que los usuarios puedan configurar el control de acceso a tablas de Python y SQL, un área de trabajo de Azure Databricks debe habilitar el control de acceso a tablas para el área de trabajo de Azure Databricks y denegar el acceso de los usuarios a los clústeres que no estén habilitados para el control de acceso a tablas.
- Vaya a la página de configuración.
- Haga clic en la pestaña Security (Seguridad).
- Active la opción Control de acceso de tabla.
Aplicación del control de acceso a tablas
Para asegurarse de que los usuarios acceden solo a los datos que quiere que accedan, debe restringir los usuarios a clústeres con el control de acceso a tablas habilitado. En concreto, debe asegurarse de lo siguiente:
- Los usuarios no tienen permiso para crear clústeres. Si crean un clúster sin el control de acceso a tablas, pueden acceder a todos los datos de ese clúster.
- Los usuarios no tienen el permiso CAN ATTACH TO para un clúster que no esté habilitado para el control de acceso a tablas.
Consulte Permisos de proceso para obtener más información.
Creación de clústeres habilitados para el control de acceso a tablas
El control de acceso a tablas está habilitado de forma predeterminada en clústeres con modo de acceso compartido.
Para crear el clúster mediante la API de REST, consulte Crear nuevo clúster.
Establecimiento de privilegios en un objeto de datos
Consulte Privilegios y objetos protegibles en el metastore de Hive (heredado).