Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Este artículo contiene recomendaciones e instrucciones para administrar identidades, permisos y privilegios para trabajos de Lakeflow.
Nota:
Los secretos no se redactan desde el registro stdout
y stderr
las secuencias del controlador de Spark de un clúster. Para proteger los datos confidenciales, de forma predeterminada, los registros de controladores de Spark solo son visibles por los usuarios con permiso CAN MANAGE en clústeres de trabajos, modo de acceso dedicado y modo de acceso estándar. Para permitir que los usuarios con los permisos CAN ATTACH TO o CAN RESTART puedan ver los registros de estos clústeres, establezca la siguiente propiedad de configuración de Spark en la configuración del clúster: spark.databricks.acl.needAdminPermissionToViewLogs false
.
En clústeres de modo de acceso compartido sin aislamiento, los usuarios pueden ver los registros de controladores de Spark con el permiso CAN ATTACH TO o CAN MANAGE. Para limitar quién puede leer los registros solo a los usuarios con el permiso CAN MANAGE, establezca spark.databricks.acl.needAdminPermissionToViewLogs
en true
.
Consulte Configuración de Spark para obtener información sobre cómo agregar propiedades de Spark a una configuración de clúster.
Privilegios predeterminados para trabajos
Los trabajos tienen los siguientes privilegios establecidos de forma predeterminada:
- Al creador del trabajo se le concede el permiso IS OWNER.
- A los administradores del área de trabajo se les concede el permiso CAN MANAGE.
- El creador del trabajo se establece para Ejecutar como.
Permisos de administrador para trabajos
De manera predeterminada, los administradores del área de trabajo pueden cambiar el propietario de un trabajo o la configuración de Ejecutar como a cualquier usuario o entidad de servicio de su área de trabajo. Los administradores de cuentas pueden configurar la configuración RestrictWorkspaceAdmins
para cambiar este comportamiento. Consulte Restringir administradores de áreas de trabajo.
¿Cómo interactúan los trabajos con los permisos de Unity Catalog?
El trabajo se ejecuta como la identidad del usuario en la configuración Ejecutar como. Esta identidad se evalúa con respecto a las concesiones de permisos para lo siguiente:
- Recursos administrados por Unity Catalog, incluidas tablas, volúmenes, modelos y vistas.
- Listas de control de acceso (ACL) a tablas heredadas para los recursos registrados en el metastore de Hive heredado.
- ACL para proceso, cuadernos, consultas y otros recursos del área de trabajo.
- Secretos de Databricks. Consulte Administración de secretos.
Nota:
Las concesiones de Unity Catalog y las ACL de tablas heredadas requieren modos de acceso de proceso compatibles. Consulte Configure compute for jobs (Configuración del proceso de trabajos).
Tareas y permisos de SQL
La tarea de archivo es el único tipo de tarea SQL que se debe respetar completamente la identidad de Ejecutar como.
Las consultas SQL, las alertas y las tareas heredadas del panel respetan las opciones de uso compartido configuradas.
- Ejecutar como propietario: las ejecuciones de la tarea SQL programada siempre usan la identidad del propietario del recurso SQL configurado.
- Ejecutar como espectador: las ejecuciones de la tarea SQL programada siempre usan el conjunto de identidades en el campo de trabajo Ejecutar como.
Para más información sobre la configuración de uso compartido de consultas, consulte Configuración de permisos de consulta.
Ejemplo
En el escenario siguiente se muestra la interacción de la configuración de uso compartido de SQL y la configuración del trabajo Ejecutar como:
- El usuario A es el propietario de la consulta SQL denominada
my_query
. - El usuario A configura
my_query
con el valor de uso compartido Ejecutar como propietario. - El usuario B programa
my_query
como una tarea en un trabajo denominadomy_job
. - El usuario B configura
my_job
para que se ejecute con una entidad de servicio denominadaprod_sp
. - Cuando
my_job
se ejecuta, usa la identidad del usuario A para ejecutarmy_query
.
Ahora supongamos que el usuario B no quiere este comportamiento. A partir de la configuración existente, se produce lo siguiente:
- El usuario A cambia la configuración de uso compartido de
my_query
a Ejecutar como espectador. - Cuando se ejecuta
my_job
, usa la identificación deprod_sp
.
Configuración de la identidad para ejecuciones de trabajos
Para cambiar la configuración Ejecutar como, debe tener el permiso CAN MANAGE o IS OWNER en el trabajo.
Puede establecer la opción Ejecutar como en usted mismo o en cualquier entidad de servicio del área de trabajo en la que tenga el derecho usuario de entidad de servicio.
Para configurar la opción Ejecutar como para un trabajo en la interfaz de usuario del área de trabajo, seleccione un trabajo existente mediante los pasos siguientes:
- En la barra lateral del área de trabajo de Azure Databricks, haga clic en Trabajos y canalizaciones.
- OPCIONALMENTE, seleccione los filtros Trabajos y Propiedad de mí .
- Haga clic en el vínculo Nombre del trabajo.
- En el panel lateral Detalles del trabajo, haga clic en el icono de lápiz situado junto al campo Ejecutar como.
- Busque y seleccione un usuario o una entidad de servicio.
- Haga clic en Save(Guardar).
Para obtener más información sobre cómo trabajar con entidades de servicio, consulte estos temas:
- Entidades de servicio
- Roles para administrar entidades de servicio
- Enumere los principales servicios que puede utilizar.
Procedimientos recomendados para la gobernanza de trabajos
Databricks recomienda lo siguiente para todos los trabajos de producción:
Asignación de la propiedad del trabajo a una entidad de servicio
Si el usuario que posee un trabajo deja su organización, es posible que se produzca un error en el trabajo. Use entidades de servicio para hacer que los trabajos sean resistentes a la rotación de empleados.
De forma predeterminada, los administradores del área de trabajo pueden administrar los permisos de trabajo y reasignar la propiedad si es necesario.
Ejecución de trabajos de producción mediante una entidad de servicio
Los trabajos se ejecutan con los privilegios del propietario del trabajo de forma predeterminada. Si asigna la propiedad a una entidad de servicio, los trabajos usan los permisos de la entidad de servicio.
El uso de entidades de servicio para trabajos de producción permite restringir los permisos de escritura en los datos de producción. Si ejecuta trabajos con los permisos de un usuario, ese usuario necesita los mismos permisos para editar los datos de producción requeridos por el trabajo.
Usar siempre configuraciones de proceso compatibles con Unity Catalog
La gobernanza de datos de Unity Catalog requiere que use una configuración de proceso compatible.
El proceso sin servidor para trabajos y almacenes de SQL siempre usa Unity Catalog.
Para trabajos con computación clásica, Databricks recomienda el modo de acceso estándar para las cargas de trabajo compatibles. Use el modo de acceso dedicado cuando sea necesario.
Las canalizaciones declarativas de Lakeflow configuradas con el catálogo de Unity tienen algunas limitaciones. Consulte Limitaciones.
Restricción de permisos en trabajos de producción
Los usuarios que desencadenen, detengan o reinicien las ejecuciones de trabajo necesitan el permiso Can Manage Run.
Los usuarios que ven la configuración del trabajo o las ejecuciones del monitor necesitan el permiso Can View.
Conceda solo privilegios Can Manage o Is Owner a los usuarios de confianza para modificar el código de producción.
Controlar el acceso a un archivo
El control de acceso a trabajos permite a los propietarios y administradores de trabajos conceder permisos específicos en sus trabajos. Están disponibles los siguientes permisos:
Nota:
Cada permiso incluye las concesiones de permisos debajo de él en la tabla siguiente.
Permiso | Conceder |
---|---|
ES PROPIETARIO | Identidad usada para Ejecutar como de forma predeterminada. |
PUEDE ADMINISTRAR | Los usuarios pueden editar la definición del trabajo, incluidos los permisos. Los usuarios pueden pausar y reanudar una programación. |
PUEDE ADMINISTRAR LA EJECUCIÓN | Los usuarios pueden desencadenar y cancelar ejecuciones de trabajos. |
SE PUEDE VER | Los usuarios pueden ver los resultados de la ejecución del trabajo. |
El creador de un trabajo tiene el permiso IS OWNER de forma predeterminada.
Un trabajo no puede tener más de un propietario.
No se puede asignar al grupo el permiso Is Owner en calidad de propietario.
Los trabajos desencadenados a través de Ejecutar ahora asumen los permisos del dueño del trabajo y no del usuario que emitió Ejecutar ahora.
El control de acceso de trabajos se aplica a los trabajos mostrados en la interfaz de usuario de trabajos de Lakeflow y sus ejecuciones. No se aplica a:
Flujos de trabajo de cuadernos que ejecutan código modular e interconectado. Estos usan los permisos del cuaderno en sí. Si el cuaderno procede de Git, se crea una nueva copia y sus archivos heredan los permisos del usuario que desencadenó la ejecución.
Trabajos enviados por API. Estos usan los permisos predeterminados del cuaderno a menos que establezca explícitamente el valor de
access_control_list
en la solicitud de API.
Para más información sobre los niveles de permisos de trabajo, consulte ACL de trabajo.
Configuración de los permisos de los trabajos
Para configurar los permisos para un trabajo en la interfaz de usuario del área de trabajo, seleccione un trabajo existente mediante los pasos siguientes:
- En la barra lateral del área de trabajo de Azure Databricks, haga clic en Trabajos y canalizaciones.
- Opcionalmente, seleccione los filtros Trabajos y Propiedad de mí .
- Haga clic en el vínculo Nombre del trabajo.
- En el panel Detalles del trabajo, haga clic en Editar permisos. Aparece el cuadro de diálogo Permission Settings (Configuración de permisos).
- Haga clic en el campo Seleccionar usuario, grupo o entidad de servicio... y empiece a escribir un usuario, grupo o entidad de servicio. El campo busca en todas las identidades disponibles del área de trabajo.
- Haga clic en Agregar.
- Haga clic en Save(Guardar).
Administración del propietario del trabajo
Solo los administradores de áreas de trabajo pueden editar el propietario de un trabajo. Se debe asignar exactamente un propietario de trabajo. Los propietarios de trabajos pueden ser usuarios o entidades de servicio.