Compartir vía


Adición de un recurso de tabla de Catálogo de Unity a una aplicación de Databricks

Agregue tablas de Catálogo de Unity como recursos de Databricks Apps para que la aplicación pueda consultar y modificar los datos almacenados en el Catálogo de Unity con gobernanza y control de acceso. Las tablas de Catálogo de Unity proporcionan almacenamiento de datos estructurados con permisos específicos, por lo que la aplicación puede leer y escribir datos de forma segura sin necesidad de codificar credenciales.

Requisitos de privilegios

Para acceder a una tabla de catálogo de Unity, el principal de servicio de la aplicación debe tener el USE CATALOG privilegio en el catálogo primario, el USE SCHEMA privilegio en el esquema primario y el privilegio SELECT o MODIFY en la tabla. Al agregar el recurso de tabla, Azure Databricks concede automáticamente estos privilegios a la entidad de servicio de la aplicación.

Para que esta concesión automática se realice correctamente, uno de los siguientes valores debe ser verdadero para cada privilegio.

  • Para USE CATALOG: todos los usuarios de la cuenta tienen el USE CATALOG privilegio en el catálogo, o todos tienen el MANAGE privilegio en el catálogo.
  • Para USE SCHEMA: o todos los usuarios de la cuenta tienen el USE SCHEMA privilegio en el esquema, o usted tiene el MANAGE privilegio en el esquema.
  • Para SELECT o MODIFY: o todos los usuarios de la cuenta tienen el privilegio SELECT o el privilegio MODIFY en la tabla, o bien usted tiene el MANAGE privilegio en la tabla.

Consulte Referencia de privilegios del catálogo de Unity.

Adición de un recurso de tabla de Catálogo de Unity

Antes de agregar una tabla como recurso, revise los requisitos previos del recurso de la aplicación.

  1. Al crear o editar una aplicación, vaya al paso Configurar .
  2. En la sección Recursos de la aplicación, haga clic en + Agregar recurso.
  3. Seleccione Tabla UC como tipo de recurso.
  4. Elija una tabla de Unity Catalog entre las tablas disponibles en su área de trabajo. La tabla ya debe existir en el catálogo de Unity.
  5. Seleccione el nivel de permiso adecuado para la aplicación:
    • Seleccione: Concede al aplicación permiso para consultar y leer datos de la tabla. Esto es adecuado para las aplicaciones que solo necesitan leer datos.
    • Modificar: Concede permiso a la aplicación para insertar, actualizar y eliminar datos en la tabla. Este permiso incluye SELECTimplícitamente , por lo que la aplicación también puede leer datos.
  6. (Opcional) Especifique una clave de recurso personalizada, que es la forma en que hace referencia a la tabla en la configuración de la aplicación. La clave predeterminada es table.

Nota:

MODIFY no está disponible para todos los tipos de tabla. Por ejemplo, las vistas no admiten el MODIFY privilegio. Si la tabla no admite MODIFY, solo SELECT está disponible.

Variables de entorno

Al implementar una aplicación con un recurso de tabla de Catálogo de Unity, Azure Databricks expone el nombre completo de tres niveles de la tabla a través de variables de entorno a las que puede hacer referencia mediante el valueFrom campo .

Configuración de ejemplo:

env:
  - name: UC_TABLE_NAME
    valueFrom: table # Use your custom resource key if different

Utilizando la tabla en tu aplicación:

import os
from databricks.sdk import WorkspaceClient

# Access the table name
table_name = os.getenv("UC_TABLE_NAME")

# Initialize workspace client
w = WorkspaceClient()

# Query the table using a SQL warehouse resource
result = w.statement_execution.execute_statement(
    warehouse_id=os.getenv("DATABRICKS_WAREHOUSE_ID"),  # Requires a SQL warehouse resource
    statement=f"SELECT * FROM {table_name} LIMIT 10"
)

Para obtener más información, consulte Uso de variables de entorno para acceder a los recursos.

Eliminación de un recurso de tabla de catálogo de Unity

Al quitar un recurso de tabla de Catálogo de Unity de una aplicación, la entidad de servicio de la aplicación pierde las concesiones SELECT, MODIFY y ALL PRIVILEGES en la tabla. Azure Databricks también intenta revocar permisos jerárquicos de catálogo y esquema. La propia tabla permanece sin cambios y sigue estando disponible para otros usuarios y aplicaciones que tienen los permisos adecuados.

Procedimientos recomendados

Tenga en cuenta lo siguiente al trabajar con recursos de tabla de Catálogo de Unity:

  • Conceda permisos mínimos. Use SELECT a menos que la aplicación necesite escribir datos en la tabla.
  • Combine recursos de tabla con un recurso de SQL Warehouse cuando la aplicación necesite ejecutar consultas SQL en la tabla.
  • Use recursos de tabla independientes para distintas tablas en lugar de conceder acceso amplio de nivel de esquema, de modo que pueda aplicar el principio de privilegios mínimos.
  • Considere la posibilidad de usar volúmenes de Catálogo de Unity para datos no estructurados y tablas de Catálogo de Unity para datos estructurados.