Compartir vía


Administración de ubicaciones externas

En este artículo se describe cómo enumerar, ver, actualizar, conceder permisos y eliminar ubicaciones externas.

Nota:

Databricks recomienda gobernar el acceso a archivos mediante volúmenes. Ver ¿Qué son los volúmenes de Unity Catalog?.

Descripción de una ubicación externa

Para ver las propiedades de una ubicación externa, incluidos los permisos y el acceso al área de trabajo, puede usar el Explorador de catálogos o un comando SQL.

Explorador de catálogo

  1. En la barra lateral, haga clic en Icono del catálogo Catálogo.
  2. En la página Acceso rápido, haga clic en el botón Datos >externos para ir a la pestaña Ubicaciones externas.
  3. Haga clic en el nombre de una ubicación externa para ver sus propiedades.

SQL

Ejecute el siguiente comando en un cuaderno o en el editor de Databricks SQL: Reemplace <location-name> por el nombre de la ubicación externa.

DESCRIBE EXTERNAL LOCATION <location-name>;

Mostrar concesiones en una ubicación externa

Para mostrar los permisos concedidos con relación a una ubicación externa, use un comando como el siguiente. También puede filtrar los resultados para mostrar únicamente los permisos concedidos con relación a la entidad de seguridad especificada:

SHOW GRANTS [<principal>] ON EXTERNAL LOCATION <location-name>;

Reemplace los valores de marcador de posición:

  • <location-name>: nombre de la ubicación externa que autoriza leer la ruta de acceso del contenedor de almacenamiento en el inquilino en la nube y escribir en ella.
  • <principal>: dirección de correo electrónico de un usuario de nivel de cuenta o nombre de un grupo de nivel de cuenta.

Nota:

Si un grupo o nombre de usuario contiene un espacio o @ símbolo, use tics atrás alrededor de él (no apóstrofos). Por ejemplo , equipo financiero.

Concesión de permisos en una ubicación externa

En esta sección se describe cómo conceder y revocar permisos en una ubicación externa mediante el Explorador de catálogos y comandos SQL en un cuaderno o una consulta SQL. Para obtener información sobre el uso de la CLI de Databricks o Terraform en su lugar, consulte la documentación de Databricks Terraform y ¿Qué es la CLI de Databricks?.

Puede conceder los siguientes permisos con relación a una ubicación externa:

  • CREATE EXTERNAL TABLE
  • CREATE EXTERNAL VOLUME
  • CREATE MANAGED STORAGE

Permisos necesarios: el privilegio CREATE EXTERNAL LOCATION en el metastore y en la credencial de almacenamiento a la que se hace referencia en la ubicación externa. Los administradores de metastore tienen CREATE EXTERNAL LOCATION en el metastore de forma predeterminada.

Para conceder permiso con el fin de usar una ubicación externa:

Explorador de catálogo

  1. En la barra lateral, haga clic en Icono del catálogo Catálogo.
  2. En la página Acceso rápido, haga clic en el botón Datos >externos para ir a la pestaña Ubicaciones externas.
  3. Haga clic en el nombre de una ubicación externa para abrir sus propiedades.
  4. Haga clic en Permisos.
  5. Para conceder permiso a usuarios o grupos, seleccione cada identidad y, luego, haga clic en Conceder.
  6. Para revocar permisos a usuarios o grupos, seleccione de cada identidad y, luego, haga clic en Revocar.

SQL

Ejecute el siguiente comando SQL en un cuaderno o en un editor de consultas SQL. En este ejemplo se concede la capacidad de crear una tabla externa que haga referencia a la ubicación externa:

GRANT CREATE EXTERNAL TABLE ON EXTERNAL LOCATION <location-name> TO <principal>;

Reemplace los valores de marcador de posición:

  • <location-name>: nombre de la ubicación externa que autoriza leer la ruta de acceso del contenedor de almacenamiento en el inquilino en la nube y escribir en ella.
  • <principal>: dirección de correo electrónico de un usuario de nivel de cuenta o nombre de un grupo de nivel de cuenta.

Nota:

Si un grupo o nombre de usuario contiene un espacio o @ símbolo, use tics atrás alrededor de él (no apóstrofos). Por ejemplo , equipo financiero.

Cambio del propietario de una ubicación externa

El creador de una ubicación externa es su propietario inicial. Para cambiar el propietario por otro usuario o grupo de nivel de cuenta, ejecute el siguiente comando en un cuaderno o en el editor de Databricks SQL o utilice el Catalog Explorer. Reemplace los valores de marcador de posición:

  • <location-name>: nombre de la credencial.
  • <principal>: dirección de correo electrónico de un usuario de nivel de cuenta o nombre de un grupo de nivel de cuenta.
ALTER EXTERNAL LOCATION <location-name> OWNER TO <principal>

Marcar una ubicación externa como solo lectura

Si desea que los usuarios tengan acceso de solo lectura a una ubicación externa, puede usar Catalog Explorer para marcar la ubicación externa como de solo lectura.

Hacer que las ubicaciones externas sean de solo lectura:

  • Impide que los usuarios escriban en los archivos de esas ubicaciones externas, independientemente de los permisos de escritura concedidos por la identidad administrada de Azure que subyace a la credencial de almacenamiento e independientemente de los permisos del catálogo de Unity concedidos en esa ubicación externa.
  • Impide que los usuarios creen tablas o volúmenes administrados en esas ubicaciones externas.
  • Permite al sistema validar la ubicación externa correctamente en el momento de la creación.

Puede marcar las ubicaciones externas como de solo lectura al crearlas.

También puede usar el Explorador de catálogos para cambiar el estado de solo lectura después de crear una ubicación externa:

  1. En la barra lateral, haga clic en Icono del catálogo Catálogo.
  2. En la página Acceso rápido, haga clic en el botón Datos >externos para ir a la pestaña Ubicaciones externas.
  3. Seleccione la ubicación externa, haga clic en el menú menú Kebab Acciones junto al botón Probar conexión y seleccione Editar.
  4. En el cuadro de diálogo de edición, haga clic en Opciones avanzadas y seleccione la opción Límite de uso de solo lectura.
  5. Haga clic en Actualizar.

Modificación de una ubicación externa

El propietario de una ubicación externa puede cambiar el nombre, el URI y la credencial de almacenamiento de la ubicación externa.

Para cambiar el nombre de una ubicación externa, haga lo siguiente:

Ejecute el siguiente comando en un cuaderno o en el editor de Databricks SQL: Reemplace los valores de marcador de posición:

  • <location-name>: nombre de la ubicación.
  • <new-location-name>: nuevo nombre de la ubicación.
ALTER EXTERNAL LOCATION <location-name> RENAME TO <new-location-name>;

Para cambiar el URI al que apunta una ubicación externa en su inquilino de la nube, haga lo siguiente:

Ejecute el siguiente comando en un cuaderno o en el editor de Databricks SQL: Reemplace los valores de marcador de posición:

  • <location-name>: nombre de la ubicación externa.
  • <url>: nueva dirección URL de almacenamiento a la que la ubicación debe autorizar el acceso en el inquilino en la nube.
ALTER EXTERNAL LOCATION location_name SET URL '<url>' [FORCE];

La opción FORCE cambia la dirección URL aunque haya tablas externas que dependan de la ubicación externa.

Para cambiar la credencial de almacenamiento que usa una ubicación externa, haga lo siguiente:

Ejecute el siguiente comando en un cuaderno o en el editor de Databricks SQL: Reemplace los valores de marcador de posición:

  • <location-name>: nombre de la ubicación externa.
  • <credential-name>: nombre de la credencial de almacenamiento que concede acceso a la dirección URL de la ubicación en el inquilino en la nube.
ALTER EXTERNAL LOCATION <location-name> SET STORAGE CREDENTIAL <credential-name>;

Eliminación de una ubicación externa

Para eliminar (anular) una ubicación externa, debe ser su propietario. Para eliminar una ubicación externa, haga lo siguiente:

Ejecute el siguiente comando en un cuaderno o en el editor de Databricks SQL: Los elementos entre corchetes son opcionales. Reemplace <location-name> por el nombre de la ubicación externa.

DROP EXTERNAL LOCATION [IF EXISTS] <location-name>;