Crear y administrar destinatarios de datos para Delta Sharing
Este artículo explica cómo crear y administrar destinatarios para Delta Sharing.
Un destinatario es el objeto con nombre que representa la identidad de un usuario o grupo de usuarios en el mundo real que consume datos compartidos. La forma de crear destinatarios difiere en función de si el destinatario tiene o no acceso a un área de trabajo de Databricks habilitada para Unity Catalog:
- Para los destinatarios con acceso a un área de trabajo de Databricks habilitada para Unity Catalog, puede crear un objeto de destinatario con una conexión segura administrada íntegramente por Databricks. Este modo de uso compartido se denomina Uso compartido de Databricks a Databricks.
- Para los destinatarios sin acceso a un área de trabajo de Databricks que esté habilitada para Unity Catalog, debe usar uso compartido abierto, con una conexión segura que usted administre usando autenticación basada en tokens.
Para más información sobre estos dos modos de uso compartido y cuándo elegir uno u otro, consulte Uso compartido abierto frente a uso compartido de Databricks a Databricks.
Requisitos
Para crear un destinatario:
- Debe ser administrador del metastore o tener el privilegio
CREATE_RECIPIENT
para el metastore de Unity Catalog donde están registrados los datos que quiere compartir. - Es necesario crear el destinatario mediante un área de trabajo de Azure Databricks que tenga asociado ese metastore de Unity Catalog.
- Si usa un cuaderno de Databricks para crear el destinatario, el clúster deberá usar Databricks Runtime 11.3 LTS o superior y, o bien el modo de acceso de clúster compartido o de usuario único.
Para otras operaciones de administración de destinatarios (como ver, eliminar, actualizar y conceder acceso de destinatario a un recurso compartido), consulte los requisitos de permisos enumerados en las secciones específicas de operaciones de este artículo.
Creación de un objeto de destinatario para los usuarios que tienen acceso a Databricks (uso compartido de Databricks a Databricks)
Si su destinatario de datos tiene acceso a un área de trabajo de Databricks que ha sido habilitada para Unity Catalog, puede crear un objeto de destinatario con un tipo de autenticación de DATABRICKS
.
Un objeto de destinatario con el tipo de autenticación DATABRICKS
representa a un destinatario de datos en una determinada metastore de Unity Catalog, identificada en la definición del objeto de destinatario por una cadena de identificador de uso compartido formada por la nube, la región y el UUID del metastore. Solo se puede acceder a los datos compartidos con este destinatario en ese metastore.
Paso 1: Solicitar el identificador de uso compartido del destinatario
Pida a un usuario destinatario que le envíe el identificador de uso compartido del metastore de Unity Catalog que se adjunta a las áreas de trabajo en las que el usuario o grupo de usuarios destinatarios trabajarán con los datos compartidos.
El identificador de uso compartido es una cadena formada por la nube del metastore, la región y el UUID (identificador único del metastore), con el formato <cloud>:<region>:<uuid>
.
Por ejemplo, en la captura de pantalla siguiente, la cadena de identificador de uso compartido completa es aws:us-west-2:19a84bee-54bc-43a2-87de-023d0ec16016
.
El destinatario puede encontrar el identificador usando Catalog Explorer, la CLI de Unity Catalog de Databricks o la función CURRENT_METASTORE
predeterminada de SQL en un cuaderno de Databricks o una consulta de Databricks SQL que se ejecute en un clúster compatible con Unity Catalog en el área de trabajo que pretende usar.
Explorador de catálogo
Para obtener el identificador de uso compartido mediante Catalog Explorer:
En el área de trabajo de Azure Databricks, haga clic en Catálogo.
En la parte superior del panel Catálogo, haga clic en el icono del engranaje de y seleccione Delta Sharing.
Como alternativa, en la página Acceso rápido, haga clic en el botón Delta Sharing>.
En la pestaña Compartidos conmigo, haga clic en el nombre de la organización de uso compartido de Databricks en la zona superior derecha y seleccione Copiar identificador de uso compartido.
SQL
Ejecute el siguiente comando en un cuaderno o en el editor de consultas de Databricks SQL:
SELECT CURRENT_METASTORE();
CLI
Ejecute el siguiente comando mediante la CLI de Databricks. El identificador de uso compartido se devuelve como global_metastore_id
.
databricks metastores summary
Puede ayudar al destinatario enviando a su contacto la información contenida en este paso, o puede dirigirle a Obtener acceso en el modelo de Databricks a Databricks.
Paso 2: Creación del destinatario
Para crear un destinatario para el uso compartido de Databricks a Databricks, puede usar Catalog Explorer, la CLI de Databricks de Unity Catalog o el comando de SQL CREATE RECIPIENT
en un cuaderno de Azure Databricks o en el editor de consultas de Databricks SQL.
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álogo
En el área de trabajo de Azure Databricks, haga clic en Catálogo.
En la parte superior del panel Catálogo, haga clic en el icono del engranaje de y seleccione Delta Sharing.
Como alternativa, en la página Acceso rápido, haga clic en el botón Delta Sharing>.
En la pestaña Compartido por mí, haga clic en Nuevo destinatario.
Escriba los valores de Nombre de destinatario e Identificador de uso compartido.
Use toda la cadena de identificador de uso compartido con el formato
<cloud>:<region>:<uuid>
. Por ejemplo,aws:us-west-2:19a84bee-54bc-43a2-87de-023d0ec16016
.(Opcional) Escriba un comentario.
Haga clic en Crear.
(Opcional) Cree propiedades de Destinatario personalizadas.
Haga clic en Editar propiedades > +Agregar propiedad. 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 siguiente comando en un cuaderno o en el editor de consultas de Databricks SQL:
CREATE RECIPIENT [IF NOT EXISTS] <recipient-name>
USING ID '<sharing-identifier>'
[COMMENT "<comment>"];
Use toda la cadena de identificador de uso compartido con el formato <cloud>:<region>:<uuid>
. Por ejemplo, aws:eu-west-1:g0c979c8-3e68-4cdf-94af-d05c120ed1ef
.
También es posible agregar propiedades personalizadas para el destinatario. Para obtener más información, consulte Administrar las propiedades del destinatario.
CLI
Ejecute el siguiente comando mediante la CLI de Databricks. Reemplace los valores de marcador de posición:
<recipient-name>
: el nombre del destinatario.<sharing-identifier>
: la cadena de identificador de uso compartido completa con el formato<cloud>:<region>:<uuid>
. Por ejemplo,aws:eu-west-1:g0c979c8-3e68-4cdf-94af-d05c120ed1ef
.<authentication-type>
: se establece enDATABRICKS
cuando se proporciona una cadena de identificador de uso compartido en el formato<cloud>:<region>:<uuid>
para<sharing-identifier>
.
databricks recipients create <recipient-name> <authentication-type> --sharing-code <sharing-identifier>
También es posible agregar propiedades personalizadas para el destinatario. Para obtener más información, consulte Administrar las propiedades del destinatario.
El destinatario se crea con el authentication_type
de DATABRICKS
.
Creación de un objeto de destinatario para todos los demás usuarios (uso compartido abierto)
Si quiere compartir datos con usuarios ajenos a su área de trabajo de Azure Databricks, independientemente de que ellos mismos usen Databricks, puede usar Delta Sharing abierto para compartir sus datos de forma segura. Funcionamiento:
- Como proveedor de datos, crea el objeto de destinatario en su metastore de Unity Catalog.
- Cuando crea el objeto de destinatario, Azure Databricks genera un token, un archivo de credenciales que incluye el token y un vínculo de activación para que lo comparta con el destinatario. El objeto de destinatario tiene el tipo de autenticación
TOKEN
. - 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 incluya en los recursos compartidos a los que le concede acceso.
Paso 1: Creación del destinatario
Para crear un destinatario para el uso compartido abierto, puede usar Catalog Explorer, la CLI de Databricks de Unity Catalog o el comando de SQL CREATE RECIPIENT
en un cuaderno de Azure Databricks o en el editor de consultas de Databricks SQL.
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álogo
En el área de trabajo de Azure Databricks, haga clic en Catálogo.
En la parte superior del panel Catálogo, haga clic en el icono del engranaje de y seleccione Delta Sharing.
Como alternativa, en la página Acceso rápido, haga clic en el botón Delta Sharing>.
En la pestaña Compartido por mí, haga clic en Nuevo destinatario.
Escriba el Nombre del destinatario.
(Opcional) Escriba un comentario.
Haga clic en Crear.
No se usa el identificador de uso compartido para destinatarios de uso compartido abierto.
Copie el vínculo de activación.
Si lo desea, puede obtener el vínculo de activación más adelante. Consulte Paso 2: Obtener el vínculo de activación.
(Opcional) Cree propiedades de Destinatario personalizadas.
En la pestaña Detalles del destinatario, haga clic en Editar propiedades > +Agregar propiedad. 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 siguiente comando en un cuaderno o en el editor de consultas de Databricks SQL:
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.
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 el 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).
Paso 2: Obtener el vínculo de activación
Para obtener el vínculo de activación del nuevo destinatario, puede usar Catalog Explorer, la CLI de Unity Catalog de Databricks o el comando de SQL DESCRIBE RECIPIENT
en un cuaderno de Azure Databricks o en el editor de consultas de Databricks SQL.
Si el destinatario ya ha descargado el archivo de credenciales, el vínculo de activación no se devuelve ni se muestra.
Permisos necesarios: administrador del metastore, usuario con el privilegio USE RECIPIENT
o el propietario del objeto del destinatario.
Explorador de catálogo
En el área de trabajo de Azure Databricks, haga clic en Catálogo.
En la parte superior del panel Catálogo, haga clic en el icono del engranaje de y seleccione Delta Sharing.
Como alternativa, en la página Acceso rápido, haga clic en el botón Delta Sharing>.
En la pestaña Compartido por mí, haga clic en Destinatarios y seleccione el destinatario.
En la página de detalles del destinatario, copie el Vínculo de 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
.
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 él. La información que comparta con el destinatario dependerá de si está usando el uso compartido de Databricks a Databricks o el uso compartido abierto:
Para el uso compartido de Databricks a Databricks, envíe un vínculo a instrucciones para acceder a los datos que está compartiendo.
En el metastore del destinatario se crea automáticamente un objeto de proveedor que enumera los recursos compartidos disponibles. Los destinatarios no necesitan hacer nada más que ver y seleccionar los recursos compartidos que quieren usar. Consulte Lectura de datos compartidos mediante el uso de Delta de Databricks a Databricks Delta Sharing (para destinatarios).
Para el uso compartido abierto, 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 pueda haber sido manejada de forma insegura, puede rotar la credencial de un destinatario en cualquier momento. Para más información sobre cómo administrar las credenciales para garantizar el acceso seguro a los destinatarios, consulte Consideraciones de seguridad para tokens.
Ver destinatarios
Para ver una lista de destinatarios, puede usar Catalog Explorer, la CLI de Unity Catalog de Databricks o el comando de SQL SHOW RECIPIENTS
en un cuaderno de Azure Databricks o en el editor de consultas de Databricks SQL.
Permisos necesarios: debe ser administrador de metastore o tener el privilegio USE RECIPIENT
para ver todos los destinatarios en metastore. Otros usuarios solo tienen acceso a los destinatarios que posean.
Explorador de catálogo
En el área de trabajo de Azure Databricks, haga clic en Catálogo.
En la parte superior del panel Catálogo, haga clic en el icono del engranaje de y seleccione Delta Sharing.
Como alternativa, en la página Acceso rápido, haga clic en el botón Delta Sharing>.
En la pestaña Compartido por mí, haga clic en Destinatarios.
SQL
Ejecute el siguiente comando en un cuaderno o en el editor de consultas de Databricks SQL. Opcionalmente, reemplace <pattern>
por un predicado LIKE
.
SHOW RECIPIENTS [LIKE <pattern>];
CLI
Ejecute el siguiente comando mediante la CLI de Databricks.
databricks recipients list
Ver los detalles del destinatario
Para ver los detalles de un destinatario, puede usar Catalog Explorer, la CLI de Unity Catalog de Databricks o el comando de SQL DESCRIBE RECIPIENT
en un cuaderno de Azure Databricks o en el editor de consultas de Databricks SQL.
Permisos necesarios: administrador del metastore, usuario con el privilegio USE RECIPIENT
o el propietario del objeto del destinatario.
Los detalles incluyen:
- El creador del destinatario, la marca de tiempo de creación, los comentarios y el tipo de autenticación (
TOKEN
oDATABRICKS
). - Si el destinatario usa el uso compartido abierto: la duración del token, el vínculo de activación, el estado de activación (si se ha descargado la credencial) y las listas de acceso IP, si se han asignado.
- Si el destinatario usa el uso compartido de Databricks a Databricks: la nube, la región y el identificador del metastore de Unity Catalog del destinatario, así como el estado de activación.
- Las propiedades del destinatario, incluyendo las propiedades personalizadas. Consulte Administrar las propiedades del destinatario.
Explorador de catálogo
En el área de trabajo de Azure Databricks, haga clic en Catálogo.
En la parte superior del panel Catálogo, haga clic en el icono del engranaje de y seleccione Delta Sharing.
Como alternativa, en la página Acceso rápido, haga clic en el botón Delta Sharing>.
En la pestaña Compartido por mí, haga clic en Destinatarios y seleccione el destinatario.
SQL
Ejecute el siguiente comando en un cuaderno o en el editor de consultas de Databricks SQL.
DESCRIBE RECIPIENT <recipient-name>;
CLI
Ejecute el siguiente comando mediante la CLI de Databricks.
databricks recipients get <recipient-name>
Ver los permisos de uso compartido de un destinatario
Para ver la lista de recursos compartidos a los que se haya concedido acceso a un destinatario, puede usar Catalog Explorer, la CLI de Databricks o el comando SQL SHOW GRANTS TO RECIPIENT
en un cuaderno de Azure Databricks o en el editor de consultas de Databricks SQL.
Permisos necesarios: administrador del metastore, usuario con el privilegio USE RECIPIENT
o el propietario del objeto del destinatario.
Explorador de catálogo
En el área de trabajo de Azure Databricks, haga clic en Catálogo.
En la parte superior del panel Catálogo, haga clic en el icono del engranaje de y seleccione Delta Sharing.
Como alternativa, en la página Acceso rápido, haga clic en el botón Delta Sharing>.
En la pestaña Compartido por mí, haga clic en Destinatarios y seleccione el destinatario.
Vaya a la pestaña Recursos compartidos para ver la lista de recursos compartidos con el destinatario.
SQL
Ejecute el siguiente comando en un cuaderno o en el editor de consultas de Databricks SQL.
SHOW GRANTS TO RECIPIENT <recipient-name>;
CLI
Ejecute el siguiente comando mediante la CLI de Databricks.
databricks recipients share-permissions <recipient-name>
Actualizar un destinatario
Para actualizar un destinatario, puede usar Catalog Explorer, la CLI de Unity Catalog de Databricks o el comando de SQL ALTER RECIPIENT
en un cuaderno de Azure Databricks o en el editor de consultas de Databricks SQL.
Las propiedades que puede actualizar incluyen el nombre del destinatario, el propietario, el comentario y las propiedades personalizadas.
Permisos necesarios: debe ser un administrador de metastore o propietario del objeto de destinatario para actualizar el propietario. Debe ser un administrador de metastore (o usuario con el privilegio CREATE_RECIPIENT
) y el propietario para actualizar el nombre. Debe ser el propietario para actualizar el comentario o las propiedades personalizadas.
Explorador de catálogo
En el área de trabajo de Azure Databricks, haga clic en Catálogo.
En la parte superior del panel Catálogo, haga clic en el icono del engranaje de y seleccione Delta Sharing.
Como alternativa, en la página Acceso rápido, haga clic en el botón Delta Sharing>.
En la pestaña Compartido por mí, haga clic en Destinatarios y seleccione el destinatario.
Vaya a la página de detalles del destinatario:
Actualizar el propietario.
Editar o agregar comentarios.
Cambie el nombre del destinatario.
Haga clic en el menú kebab y seleccione Cambiar nombre.
Editar , quitar o agregar propiedades de destinatario personalizadas.
Haga clic en Editar propiedades. Para agregar una propiedad, haga clic en +Agregar propiedad y escriba un nombre de propiedad (Clave) y el Valor. Para obtener más información, consulte Administrar las propiedades del destinatario.
SQL
Ejecute uno o varios de los comandos siguientes en un cuaderno o en el editor de consultas de Databricks SQL.
ALTER RECIPIENT <recipient-name> RENAME TO <new-recipient-name>;
ALTER RECIPIENT <recipient-name> OWNER TO <new-owner>;
COMMENT ON RECIPIENT <recipient-name> IS "<new-comment>";
ALTER RECIPIENT <recipient-name> SET PROPERTIES ( <property-key> = property_value [, ...] )
ALTER RECIPIENT <recipient-name> UNSET PROPERTIES ( <property-key> [, ...] )
Para obtener más información sobre las propiedades, consulte Administrar propiedades de destinatario.
CLI
Cree un archivo JSON que incluya una actualización para el nombre del destinatario, los comentarios, el propietario, la lista de acceso IP o las propiedades personalizadas.
{
"name": "new-recipient-name",
"owner": "someone-else@example.com",
"comment": "something new",
"ip_access_list": {
"allowed_ip_addresses": ["8.8.8.8", "8.8.8.4/10"]
},
"property": {
"country": "us",
"id": "001"
}
}
A continuación, ejecute el siguiente comando mediante la CLI de Databricks. Reemplace <recipient-name>
por el nombre del destinatario actual y reemplace update-recipient-settings.json
por el nombre del archivo JSON.
databricks recipients update --json-file update-recipient-settings.json
Para obtener más información sobre las propiedades, consulte Administrar propiedades de destinatario.
Administrar tokens de destinatarios (uso compartido abierto)
Si va a compartir datos con un destinatario mediante el uso compartido abierto, es posible que tenga que rotar el token de ese destinatario. La rotación de un token consiste en establecer la expiración de un token existente y reemplazarlo por un nuevo token y una nueva dirección URL de activación.
Debe rotar el token de un destinatario y generar una nueva 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 en peligro después de que la descargue un destinatario.
- 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 rotado. El token rotado se ha establecido para expirar y reemplazarse por el token activo. Hasta que expire el token rotado, al intentar rotar el token de nuevo, se producirá un error.
Al rotar el token de un destinatario, opcionalmente puede establecer --existing-token-expire-in-seconds
en el número de segundos antes de que expire el token de destinatario existente (es decir, el que va a rotarse). Si establece el valor en 0
, el token de destinatario existente 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, al rotar el token existente se invalida la URL de activación y se reemplaza por una nueva.
Si todos los tokens de destinatario han expirado, al rotar el token se reemplaza la URL de activación existente por una nueva. Databricks recomienda rotar o quitar rápidamente un destinatario cuyo token haya expirado.
Si una URL de activación de destinatario se envía accidentalmente a una persona incorrecta o se envía a través de un canal no seguro, Databricks recomienda lo siguiente:
- Revoque el acceso del destinatario al recurso compartido.
- Rote el destinatario y establezca
--existing-token-expire-in-seconds
en0
. - Comparta la nueva URL de activación con el destinatario previsto a través de un canal seguro.
- Una vez que se haya accedido a la dirección URL de activación, conceda al destinatario acceso al recurso compartido de nuevo.
En situaciones extremas, en lugar de rotar el token del destinatario, puede quitar y volver a crear el destinatario.
Rotación de un token de un destinatario
Para rotar el token de un destinatario, puede usar Catalog Explorer o la CLI de Unity Catalog de Databricks.
Permisos requeridos: Propietario del objeto de destinatario.
Explorador de catálogo
En el área de trabajo de Azure Databricks, haga clic en Catálogo.
En el panel izquierdo, expanda el menú Delta Sharing y seleccione Compartido por mí.
En la parte superior del panel Catálogo, haga clic en el icono del engranaje de y seleccione Delta Sharing.
Como alternativa, en la página Acceso rápido, haga clic en el botón Delta Sharing>.
En la pestaña Compartido por mí, haga clic en Destinatarios y seleccione el destinatario.
En la pestaña Detalles, en Expiración del token, haga clic en Rotar.
En el cuadro de diálogo Rotar token, establezca el token para 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.
Haga clic en Rotar.
En la pestaña Detalles, copie el nuevo Vínculo de activación y compártalo con el destinatario a través de un canal seguro. Consulte Paso 2: Obtener el vínculo de activación.
CLI
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 debe expirar el token de destinatario existente. Durante este período, el token existente seguirá funcionando. Un valor de0
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>
Obtenga el nuevo vínculo de activación del destinatario y compártalo con el destinatario a través de un canal seguro. Consulte Paso 2: Obtener el vínculo de activación.
Modificación de la duración del token de destinatario
Si necesita modificar la vigencia predeterminada del token de destinatario para su metastore de Unity Catalog, puede usar Catalog Explorer 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 Administrar tokens de destinatarios (uso compartido abierto).
Permisos necesarios: administrador de la cuenta.
Explorador de catálogo
- Inicie sesión en la consola de la cuenta.
- En la barra lateral, haga clic en Catálogo.
- Haga clic en el nombre del metastore.
- En Duración del token de destinatario de Delta Sharing, haga clic en Editar.
- Habilite Establecer expiración.
- Escriba un número de segundos, minutos, horas o días y seleccione la unidad de medida.
- Haga clic en Save(Guardar).
Si deshabilita Establecer expiración, los tokens de destinatario no expiran. Databricks recomienda configurar tokens para que expiren.
CLI
Ejecute el siguiente comando mediante la CLI de Databricks. Reemplace 12a345b6-7890-1cd2-3456-e789f0a12b34
por el UUID de metastore y reemplace 86400
por el número de segundos antes de que expire el token de destinatario. Si establece este valor en 0
, los tokens de destinatario no caducan. Databricks recomienda configurar tokens para que expiren.
databricks metastores update \
12a345b6-7890-1cd2-3456-e789f0a12b34 \
--delta-sharing-recipient-token-lifetime-in-seconds 86400
(Opcional) Restricción del acceso de destinatarios mediante listas de acceso
Puede limitar el acceso de los destinatarios a un conjunto restringido de direcciones IP al configurar el objeto de destinatario. Consulte Restringir el acceso de destinatarios a Delta Sharing mediante listas de acceso IP (uso compartido abierto).
Administrar las propiedades del destinatario
Los objetos del destinatario incluyen propiedades predefinidas que se pueden usar para refinar el acceso compartido a datos. Por ejemplo, puede usarlos para hacer lo siguiente:
- Comparta particiones de tabla diferentes con distintos destinatarios, lo que le permite usar los mismos recursos compartidos con varios destinatarios al tiempo que mantiene los límites de datos entre ellos.
- Comparta vistas dinámicas que limiten el acceso de los destinatarios a los datos de tabla en el nivel de fila o columna en función de las propiedades del destinatario.
También es posible crear propiedades personalizadas.
Las propiedades predefinidas comienzan por databricks.
e incluyen lo siguiente:
databricks.accountId
: la cuenta de Azure Databricks a la que pertenezca un destinatario de datos (solo el uso compartido de Databricks a Databricks).databricks.metastoreId
: metastore de Unity Catalog al que pertenece un destinatario de datos (solo para uso compartido de Databricks a Databricks).databricks.name
: nombre del destinatario de los datos.
Las propiedades personalizadas que podrían ser de valor podrían incluir, por ejemplo, country
. Por ejemplo, si adjuntase la propiedad 'country' = 'us'
personalizada a un destinatario, podrá particionar los datos de la tabla por país y compartir solo las filas que tengan datos de EE. UU. con los destinatarios que tengan esa propiedad asignada. También puede compartir una vista dinámica que restrinja el acceso a filas o columnas en función de las propiedades del destinatario. Para obtener ejemplos más detallados, consulte Uso de propiedades de destinatario para realizar el filtrado de particiones y Agregar vistas dinámicas a un recurso compartido para filtrar filas y columnas.
Requisitos
Las propiedades de destinatario se admiten en Databricks Runtime 12.2 y versiones posteriores.
Agregar propiedades al crear o actualizar un destinatario
Es posible agregar propiedades al crear un destinatario o actualizarlas para un destinatario existente. Es posible usar Catalog Explorer, la CLI de Unity Catalog de Databricks o los comandos de SQL en un cuaderno de Azure Databricks o en el editor de consultas de Databricks SQL.
Permisos necesarios: administrador del metastore o usuario con el privilegio CREATE RECIPIENT
para el metastore de Unity Catalog.
Explorador de catálogo
Al crear o actualizar un destinatario mediante Catalog Explorer, agregue o actualice las propiedades personalizadas haciendo lo siguiente:
Vaya a la página Detalles del destinatario.
Si va a crear un nuevo destinatario, llegará a esta página después de hacer clic en Crear. Si va a actualizar un destinatario existente, vaya a esta página haciendo clic en el icono del engranaje > Delta Sharing >>Compartido por mí Destinatarios y seleccionando el destinatario.
Haga clic en Editar propiedades > +Agregar propiedad.
Escriba un nombre para la propiedad (Clave) y un Valor.
Por ejemplo, si deseara filtrar los datos compartidos por país y compartir solo los datos de EE. UU. con este destinatario, podría crear una clave denominada "país" con un valor de "US".
Haga clic en Save(Guardar).
SQL
Para agregar una propiedad personalizada al crear un destinatario, ejecute el siguiente comando en un cuaderno o en el editor de consultas de SQL de Databricks:
CREATE RECIPIENT [IF NOT EXISTS] <recipient-name>
[USING ID '<sharing-identifier>'] /* Skip this if you are using open sharing */
[COMMENT "<comment>"]
PROPERTIES ( '<property-key>' = '<property-value>' [, ...] );
<property-key>
puede ser un identificador o un literal de cadena. <property-value>
debe ser un literal de cadena.
Por ejemplo:
CREATE RECIPIENT acme PROPERTIES ('country' = 'us', 'partner_id' = '001');
Para agregar, editar o eliminar propiedades personalizadas para un destinatario existente, ejecute una de las siguientes opciones:
ALTER RECIPIENT <recipient-name> SET PROPERTIES ( '<property-key>' = '<property-value>' [, ...] );
ALTER RECIPIENT <recipient-name> UNSET PROPERTIES ( '<property-key>' );
CLI
Para agregar propiedades personalizadas al crear un destinatario, ejecute el siguiente comando mediante la CLI de Databricks. Reemplace los valores de marcador de posición:
<recipient-name>
: el nombre del destinatario.<property-key>
puede ser un identificador o un literal de cadena.<property-value>
debe ser un literal de cadena.
databricks recipients create \
--json='{
"name": "<recipient-name>",
"properties_kvpairs": {
"properties": {
"<property-key>": "<property-value>",
}
}
}'
Por ejemplo:
databricks recipients create \
--json='{
"name": "<recipient-name>",
"properties_kvpairs": {
"properties": {
"country": "us",
"partner_id":"001"
}
}
}'
Para agregar o editar propiedades personalizadas para un destinatario existente, use update
en lugar de create
:
databricks recipients update \
--json='{
"name": "<recipient-name>",
"properties_kvpairs": {
"properties": {
"country": "us",
"partner_id":"001"
}
}
}'
Ver las propiedades del destinatario
Para ver las propiedades del destinatario, siga las instrucciones de Ver información sobre el destinatario.
Eliminación de un destinatario
Para eliminar un destinatario, puede usar Catalog Explorer, la CLI de Unity Catalog de Databricks o el comando de SQL DROP RECIPIENT
en un cuaderno de Azure Databricks o en el editor de consultas de Databricks SQL. Debe ser el propietario del objeto de destinatario para eliminar el destinatario.
Al eliminar un destinatario, los usuarios representados por el destinatario ya no pueden acceder a los datos compartidos. Los tokens que los destinatarios usan en un escenario de uso compartido abierto se invalidan.
Permisos requeridos: Propietario del objeto de destinatario.
Explorador de catálogo
En el área de trabajo de Azure Databricks, haga clic en Catálogo.
En la parte superior del panel Catálogo, haga clic en el icono del engranaje de y seleccione Delta Sharing.
Como alternativa, en la página Acceso rápido, haga clic en el botón Delta Sharing>.
En la pestaña Compartido por mí, haga clic en Destinatarios y seleccione el destinatario.
En la pestaña Destinatarios, busque y seleccione el destinatario.
Haga clic en el menú kebab y seleccione Eliminar.
En el cuadro de diálogo de confirmación, haga clic en Eliminar.
SQL
Ejecute el siguiente comando en un cuaderno o en el editor de consultas de Databricks SQL.
DROP RECIPIENT [IF EXISTS] <recipient-name>;
CLI
Ejecute el siguiente comando mediante la CLI de Databricks.
databricks recipients delete <recipient-name>