Comparteix via


Creación de un objeto de destinatario para usuarios que no son de Databricks mediante tokens de portador (uso compartido abierto)

En este artículo se describe cómo crear destinatarios de Delta Sharing que no tienen acceso a un área de trabajo de Databricks habilitada para Unity Catalog y conceder a esos destinatarios acceso a datos compartidos de forma segura mediante tokens de autenticación. Este flujo de autenticación, junto con el flujo de autenticación de federación de tokens de OIDC, se denomina uso compartido abierto.

Así es como funciona:

  1. Como proveedor de datos, crea el objeto de destinatario en su metastore de Unity Catalog.

  2. Al crear el objeto recipient, se selecciona el método de token de portador, Azure Databricks genera un token, un archivo de credenciales que incluye el token y un vínculo de activación para que pueda compartirlo con el destinatario.

    El objeto recipient tiene el tipo de autenticación de TOKEN. Puede actualizar y revocar el token según sea necesario.

  3. El destinatario accede al vínculo de activación, descarga el archivo de credenciales y usa el archivo de credenciales para autenticarse y obtener acceso de lectura a las tablas que se incluyen en los recursos compartidos a los que se les concede acceso.

El flujo de federación de OIDC es una alternativa al flujo de tokens de portador descrito en este artículo. Tiene ventajas de seguridad y comodidad sobre el flujo de tokens de portador. Para más información, consulte Uso de la federación de Open ID Connect (OIDC) para habilitar la autenticación en los recursos compartidos de Delta Sharing (uso compartido abierto).

Importante

Todos los tokens de destinatarios de uso compartido abierto emitidos antes del 8 de diciembre de 2025, con fechas de expiración posteriores al 8 de diciembre de 2026 o sin fecha de expiración, expiran automáticamente el 8 de diciembre de 2026. Si actualmente usa tokens de destinatario con duraciones largas o ilimitadas, revise las integraciones y renueve los tokens según sea necesario para evitar cambios importantes después de esta fecha.

Creación del destinatario

Para crear un destinatario para el uso compartido abierto, puede usar el Explorador de catálogos, la CLI del catálogo de Databricks unity o el CREATE RECIPIENT comando SQL en un cuaderno de Azure Databricks o el editor de consultas SQL de Databricks.

Permisos requeridos: Administrador del metastore o usuario con el privilegio de CREATE RECIPIENT para el metastore de Unity Catalog donde están registrados los datos que quiere compartir.

Explorador de catálogos

  1. En el área de trabajo de Azure Databricks, haga clic en el icono Datos.Catálogo.

  2. En la parte superior del panel Catálogo, haga clic en el icono de engranaje y seleccione Delta Sharing.

    Como alternativa, en la página Acceso rápido, haga clic en el botón Delta Sharing>.

  3. En la pestaña Compartido por mí, haga clic en Nuevo destinatario.

  4. Escriba el nombre del destinatario.

  5. En Tipo de destinatario, seleccione Abrir.

  6. Seleccione Token.

  7. (Opcional) Establezca el tiempo de expiración del tiempo de vida del token (en segundos, minutos, horas o días desde el momento de su creación). Deje Establecer expiración seleccionada para establecer una hora de expiración. Los tokens son válidos para un máximo de un año después de la creación.

    Si selecciona Establecer expiración y deja el campo en blanco, la duración del token se ajusta por defecto al valor de duración del token del destinatario establecido en la configuración del metastore. Consulte Modificación de la duración del token del destinatario. Para obtener información sobre cómo cambiar la duración del token y rotar tokens, consulte Administración de tokens de destinatario.

  8. (Opcional) Escriba un comentario.

  9. Haga clic en Crear.

  10. Copie el vínculo de activación.

    Como alternativa, puede obtener el vínculo de activación más adelante. Consulte Obtener el vínculo de activación.

  11. (Opcional) Cree propiedades de Destinatario personalizadas.

    En la pestaña Información general del destinatario, haga clic en el icono Editar icono de edición situado junto a Propiedades del destinatario. A continuación, agregue un nombre de propiedad (Clave) y un Valor. Para obtener más información, consulte Administrar las propiedades del destinatario.

SQL

Ejecute el comando siguiente en un cuaderno o en el editor de consultas SQL de Databricks:

CREATE RECIPIENT [IF NOT EXISTS] <recipient-name>
[COMMENT "<comment>"];

También es posible agregar propiedades personalizadas para el destinatario. Para obtener más información, consulte Administrar las propiedades del destinatario.

Interfaz de línea de comandos (CLI)

Ejecute el siguiente comando mediante la CLI de Databricks.

databricks recipients create <recipient-name>

También es posible agregar propiedades personalizadas para el destinatario. Para obtener más información, consulte Administrar las propiedades del destinatario.

La salida incluye la activation_url que comparte con el destinatario.

El destinatario se crea con el authentication_type de TOKEN.

Nota:

Al crear el destinatario, tiene la opción de limitar el acceso de destinatario a un conjunto restringido de direcciones IP. También puede agregar una lista de acceso IP a un destinatario existente. Consulte Restringir el acceso de destinatarios a Delta Sharing mediante listas de acceso IP (uso compartido abierto).

Para obtener el vínculo de activación del nuevo destinatario, puede usar Catalog Explorer, la CLI de Unity Catalog de Databricks, el comando DESCRIBE RECIPIENT SQL en un cuaderno de Azure Databricks, o el editor de consultas SQL de Databricks.

Si el destinatario ya ha descargado el archivo de credenciales, no se devuelve ni se muestra el vínculo de activación.

Permisos necesarios: administrador del metastore, usuario con el privilegio USE RECIPIENT o el propietario del objeto del destinatario.

Explorador de catálogos

  1. En el área de trabajo de Azure Databricks, haga clic en el icono Datos.Catálogo.

  2. En la parte superior del panel Catálogo, haga clic en el icono de engranaje y seleccione Delta Sharing.

    Como alternativa, en la página Acceso rápido, haga clic en el botón Delta Sharing>.

  3. En la pestaña Compartido por mí, haga clic en Destinatarios y seleccione el destinatario.

  4. En la página de detalles del destinatario, copie el vínculo Activación.

SQL

Ejecute el siguiente comando en un cuaderno o en el editor de consultas de Databricks SQL.

DESCRIBE RECIPIENT <recipient-name>;

La salida incluye el activation_link.

Interfaz de línea de comandos (CLI)

Ejecute el siguiente comando mediante la CLI de Databricks.

databricks recipients get <recipient-name>

La salida incluye el activation_url.

Conceder al destinatario acceso a un recurso compartido

Una vez que haya creado el destinatario y creado recursos compartidos, puede conceder al destinatario acceso a esos recursos compartidos.

Para conceder acceso compartido a los destinatarios, puede usar Catalog Explorer, la CLI de Unity Catalog de Databricks o el comando SQL GRANT ON SHARE en un cuaderno de Azure Databricks o en el editor de consultas de Databricks SQL.

Permisos necesarios: uno de los siguientes:

  • Administrador del metastore.
  • Permisos delegados o control tanto en el recurso compartido como en los objetos de destinatario ((USE SHARE + SET SHARE PERMISSION) o propietario del recurso compartido) AND (USE RECIPIENT o propietario del destinatario).

Para obtener instrucciones, consulte Administrar el acceso a los recursos compartidos de datos de Delta Sharing (para proveedores).

Enviar al destinatario su información de conexión

Debe informar al destinatario de cómo acceder a los datos que comparte con ellos. Use un canal seguro para compartir el vínculo de activación y un vínculo a instrucciones para usarlo.

Solo puede descargar el archivo de credenciales una vez. Los destinatarios deben tratar la credencial descargada como un secreto y no deben compartirla fuera de su organización. Si le preocupa que una credencial haya sido manejada de manera insegura, puede rotar la credencial de un destinatario en cualquier momento. Para obtener más información sobre cómo administrar credenciales para garantizar el acceso seguro a los destinatarios, consulte Consideraciones de seguridad para tokens.

Administración de tokens de destinatario

Si va a compartir datos con un destinatario mediante el flujo de tokens de portador de uso compartido abierto, es posible que tenga que rotar el token del destinatario. La rotación de un token consiste en establecer un token existente para que expire y reemplazarlo por un nuevo token y una dirección URL de activación.

Debe rotar el token de un destinatario y generar una nueva dirección URL de activación en las siguientes circunstancias:

  • Cuando el token de destinatario existente está a punto de expirar.
  • Si un destinatario pierde su dirección URL de activación o si está en peligro.
  • Si la credencial está dañada, perdida o comprometida después de que un destinatario lo descargue.
  • Cuando modifique la duración del token de destinatario para un metastore. Consulte Modificación de la duración del token del destinatario.

Consideraciones de seguridad para tokens

En un momento dado, un destinatario puede tener como máximo dos tokens: un token activo y un token girado. El token rotado es uno que se ha programado para expirar y ser reemplazado por el token activo. Hasta que expire el token girado, si intenta rotar el token de nuevo, se producirá un error.

Al rotar el token de un destinatario, puede establecer --existing-token-expire-in-seconds opcionalmente en el número de segundos antes de que expire el token de destinatario existente( es decir, el que se va a rotar). Si establece el valor en 0, el token existente del destinatario expira inmediatamente.

Databricks recomienda establecer --existing-token-expire-in-seconds en un período relativamente corto que dé tiempo a la organización del destinatario para acceder a la nueva dirección URL de activación, a la vez que minimiza la cantidad de tiempo que el destinatario tiene dos tokens activos. Si sospecha que el token de destinatario existente está en peligro, Databricks recomienda forzar que expire inmediatamente.

Si nunca se ha accedido a la dirección URL de activación existente de un destinatario, la rotación del token existente invalida esa dirección URL de activación y la reemplaza por una nueva.

Si todos los tokens de destinatario han expirado, la rotación del token reemplaza la dirección URL de activación existente por una nueva. Databricks recomienda rotar o quitar rápidamente un destinatario cuyo token ha expirado.

Si una dirección URL de activación del destinatario se envía accidentalmente a la persona incorrecta o se envía a través de un canal no seguro, Databricks recomienda que:

  1. Revoque el acceso del destinatario al recurso compartido.
  2. Gire el recipiente y establezca --existing-token-expire-in-seconds en 0.
  3. Comparta la nueva dirección URL de activación con el destinatario previsto a través de un canal seguro.
  4. Una vez que se haya accedido a la dirección URL de activación, conceda al destinatario acceso de nuevo al recurso compartido.

En situaciones extremas, en lugar de rotar el token del destinatario, puede quitar y volver a crear el destinatario.

Rotación del token de un destinatario

Para rotar el token de un destinatario, puede usar el Explorador de catálogos o la CLI del catálogo de Databricks Unity.

Permisos requeridos: propietario del objeto de destinatario.

Explorador de catálogos

  1. En el área de trabajo de Azure Databricks, haga clic en el icono Datos.Catálogo.

  2. En el panel izquierdo, expanda el menú Compartir delta y seleccione Compartido por mí.

  3. En la parte superior del panel Catálogo, haga clic en el icono de engranaje y seleccione Delta Sharing.

    Como alternativa, en la página Acceso rápido, haga clic en el botón Delta Sharing>.

  4. En la pestaña Compartido por mí, haga clic en Destinatarios y seleccione el destinatario.

  5. En la pestaña Detalles, en Expiración del token, haga clic en Rotar.

  6. En el cuadro de diálogo Rotar token, establezca el token de manera que expire inmediatamente o durante un período de tiempo establecido. Para obtener consejos sobre cuándo expirar los tokens existentes, consulte Consideraciones de seguridad para tokens.

  7. Haga clic en Rotar.

  8. En la pestaña Detalles , copie el nuevo vínculo Activación y compártalo con el destinatario a través de un canal seguro. Consulte Obtener el vínculo de activación.

Interfaz de línea de comandos (CLI)

  1. Ejecute el siguiente comando mediante la CLI de Databricks. Reemplace los valores de marcador de posición:

    • <recipient-name>: el nombre del destinatario.
    • <expiration-seconds>: número de segundos hasta que el token de destinatario existente debe expirar. Durante este período, el token existente seguirá funcionando. Un valor de 0 significa que el token existente expira inmediatamente. Para obtener consejos sobre cuándo expirar los tokens existentes, consulte Consideraciones de seguridad para tokens.
    databricks recipients rotate-token \
    <recipient-name> \
    <expiration-seconds>
    
  2. Obtenga el nuevo vínculo de activación del destinatario y compártalo con el destinatario a través de un canal seguro. Consulte Obtener el vínculo de activación.

Modificación de la duración del token de destinatario

Si necesita modificar la duración predeterminada del token de destinatario para el metastore de Unity Catalog, puede usar el Explorador de Catálogos o la CLI de Unity Catalog de Databricks.

Nota:

La duración del token de destinatario para los destinatarios existentes no se actualiza automáticamente cuando se cambia la duración predeterminada del token de destinatario para un metastore. Para aplicar la nueva duración del token a un destinatario determinado, debe rotar su token. Consulte Administración de tokens de destinatarios.

Permisos necesarios: administrador de la cuenta.

Explorador de catálogos

  1. Inicie sesión en la consola de la cuenta.
  2. En la barra lateral, haga clic en Icono de datos.Catálogo.
  3. Haga clic en el nombre del metastore.
  4. En la opción Duración del token de destinatario de Delta Sharing, haga clic en Editar.
  5. Habilite Establecer expiración.
  6. Escriba un número de segundos, minutos, horas o días y seleccione la unidad de medida. Los tokens son válidos para un máximo de un año después de la creación.
  7. Haz clic en Guardar.

Interfaz de línea de comandos (CLI)

Ejecute el siguiente comando mediante la CLI de Databricks. Reemplace por 12a345b6-7890-1cd2-3456-e789f0a12b34 el UUID de metastore y reemplace 86400 por el número de segundos antes de que expire el token de destinatario. Los tokens son válidos para un máximo de un año después de la creación.

databricks metastores update \
12a345b6-7890-1cd2-3456-e789f0a12b34 \
--delta-sharing-recipient-token-lifetime-in-seconds 86400