Vinculación del catálogo del espacio de trabajo

En el catálogo de Unity, todos los catálogos son accesibles de forma predeterminada desde cualquier área de trabajo asociada al mismo metastore. El enlace de catálogo de áreas de trabajo le permite invalidar este valor predeterminado para restringir un catálogo a una o varias áreas de trabajo específicas. Se deniega el acceso desde un espacio de trabajo no vinculado, incluso para los usuarios con otorgamiento de privilegios explícitos en el catálogo.

¿Por qué usar la vinculación del catálogo del espacio de trabajo?

Los requisitos de cumplimiento y de la organización suelen especificar que determinados datos deben permanecer accesibles solo en entornos designados. También es posible que tenga que:

  • Aísle los datos de producción de entornos de desarrollo o prueba.
  • Impedir que determinados dominios de datos se unan juntos.
  • Asegúrese de que los datos confidenciales solo se pueden procesar en áreas de trabajo específicas.

En Azure Databricks, el área de trabajo es el entorno de procesamiento de datos principal y el catálogo es el dominio de datos principal. El enlace de catálogo de áreas de trabajo conecta estos dos conceptos, lo que permite a los propietarios y usuarios con el privilegio MANAGE definir qué áreas de trabajo pueden acceder a cuáles catálogos.

Funcionamiento del enlace de catálogo de áreas de trabajo

Al enlazar un catálogo a áreas de trabajo específicas, solo las áreas de trabajo que asigne pueden acceder al catálogo. Cualquier área de trabajo que no esté en la lista asignada recibe un error cuando los usuarios intentan acceder al catálogo, invalidando cualquier privilegio individual que conceda a esos usuarios.

Diagrama de vinculación del área de trabajo del catálogo

En este diagrama, prod_catalog está enlazado a dos áreas de trabajo de producción. Incluso si un usuario posee una SELECT concesión en una tabla de prod_catalog, no puede acceder a esa tabla desde el área de trabajo de Desarrollo.

Acceso de solo lectura

Al enlazar un catálogo a un área de trabajo, puede restringir opcionalmente esa área de trabajo al acceso de solo lectura. Todas las operaciones de escritura de esa área de trabajo en el catálogo están bloqueadas.

Comportamiento predeterminado del catálogo del área de trabajo

La excepción al comportamiento de apertura predeterminado es el catálogo de áreas de trabajo predeterminado creado automáticamente para todas las áreas de trabajo nuevas. Este catálogo de áreas de trabajo solo está enlazado a su propia área de trabajo de forma predeterminada. Si desvincula este catálogo o extiende el acceso a otras áreas de trabajo, debe conceder manualmente los permisos necesarios, ya que el grupo de administradores del área de trabajo es local al área de trabajo y no se puede usar a través de áreas de trabajo.

Aplicación en toda la plataforma

Los enlaces de catálogo de áreas de trabajo se aplican de forma coherente en toda la plataforma:

  • Las consultas de esquema de información devuelven solo los catálogos accesibles en el área de trabajo actual.
  • El linaje de datos y el Explorador de catálogos solo muestran los catálogos asignados al área de trabajo actual.

¿Qué se puede vincular a los espacios de trabajo?

El enlace del área de trabajo se aplica más allá de los catálogos. También puede enlazar:

Enlace de un catálogo a una o varias áreas de trabajo

Para asignar un catálogo a áreas de trabajo específicas, puede usar el Explorador de catálogos o la CLI de Databricks.

Permisos necesarios: administrador de metastore, propietario del catálogo o MANAGE y USE CATALOG en el catálogo.

Note

Independientemente de si se asigna un catálogo al área de trabajo actual, los administradores de metastore pueden ver todos los catálogos de una tienda de metadatos y los propietarios del catálogo pueden ver todos los catálogos que poseen en una metastore. Los catálogos que no están asignados al área de trabajo aparecen atenuados y no hay objetos secundarios visibles ni consultables.

Explorador de catálogos

  1. Inicie sesión en un área de trabajo vinculada al metastore.

  2. Haga clic en el icono Datos.Catálogo.

  3. En el panel Catálogoa la izquierda, haga clic en el nombre del catálogo.

    El panel principal Explorador de catálogo tiene como valor predeterminado la lista Catálogos. También puede seleccionar el catálogo allí.

  4. En la pestaña Áreas de trabajo, desactive la casilla Todas las áreas de trabajo tienen acceso.

    Si el catálogo ya está enlazado a una o varias áreas de trabajo, esta casilla ya está desactivada.

  5. Haga clic en Asignar a áreas de trabajo y escriba o busque las áreas de trabajo que desea asignar.

  6. (Opcional) Limite el acceso al área de trabajo a solo lectura.

    En el menú Administrar nivel de acceso , seleccione Cambiar acceso a solo lectura.

    Puede revertir esta selección a cualquier hora editando el catálogo y seleccionando Cambiar acceso para leer y escribir.

Para revocar el acceso, vaya a la pestaña Áreas de trabajo, seleccione el área de trabajo y haga clic en Revocar.

CLI

Hay dos grupos de comandos de la CLI de Databricks y dos pasos necesarios para asignar un catálogo a un área de trabajo.

En los ejemplos siguientes, reemplace <profile-name> por el nombre del perfil de configuración de autenticación de Azure Databricks. Debe incluir el valor de un token de acceso personal, además del nombre de la instancia del área de trabajo y el ID del área de trabajo donde generó el token de acceso personal. Consulte Autenticación de token de acceso personal (heredado).

  1. Usa el comando catalogs del grupo de comandos update para establecer el isolation mode del catálogo a ISOLATED :

    databricks catalogs update <my-catalog> \
    --isolation-mode ISOLATED \
    --profile <profile-name>
    

    El valor predeterminado de isolation-mode es OPEN para todas las áreas de trabajo asociadas al metastore.

  2. Use el comando workspace-bindings del grupo update-bindings para asignar las áreas de trabajo al catálogo:

    databricks workspace-bindings update-bindings catalog <my-catalog> \
    --json '{
      "add": [{"workspace_id": <workspace-id>, "binding_type": <binding-type>}...],
      "remove": [{"workspace_id": <workspace-id>, "binding_type": "<binding-type>}...]
    }' --profile <profile-name>
    

    Use las propiedades "add" y "remove" para agregar o quitar enlaces de área de trabajo. El <binding-type> puede ser "BINDING_TYPE_READ_WRITE" (valor predeterminado) o "BINDING_TYPE_READ_ONLY".

Para enumerar todas las asignaciones de área de trabajo de un catálogo, use el workspace-bindings comando del grupo de get-bindings comandos:

databricks workspace-bindings get-bindings catalog <my-catalog> \
--profile <profile-name>

Desenlaza un catálogo de un área de trabajo

Las instrucciones para revocar el acceso del área de trabajo a un catálogo mediante el Explorador de catálogos o el grupo de comandos de la CLI workspace-bindings se incluyen en Enlace de un catálogo a una o varias áreas de trabajo.

Importante

Si el área de trabajo se ha habilitado automáticamente para el catálogo de Unity y tiene un catálogo de áreas de trabajo predeterminado, los administradores del área de trabajo poseen ese catálogo y tienen todos los permisos en ese catálogo solo en el área de trabajo. Si desenlaza ese catálogo o lo enlaza a otros catálogos, debe conceder los permisos necesarios manualmente a los miembros del grupo de administradores del área de trabajo como usuarios individuales o mediante grupos de nivel de cuenta, ya que el grupo de administradores del área de trabajo es un grupo local del área de trabajo. Para obtener más información sobre los grupos de cuentas frente a grupos locales de área de trabajo, consulte Fuentes de grupos.