Nota
L'accés a aquesta pàgina requereix autorització. Pots provar d'iniciar sessió o canviar de directori.
L'accés a aquesta pàgina requereix autorització. Pots provar de canviar directoris.
En esta página se explica cómo crear y administrar destinatarios en Delta Sharing, cuando los destinatarios se encuentran en un área de trabajo de Databricks habilitada para el catálogo de Unity.
Un destinatario es el objeto con nombre que representa la identidad de un usuario o grupo de usuarios que consumen datos compartidos. La forma de crear destinatarios difiere en función de si el destinatario tiene acceso a un área de trabajo de Databricks habilitada para el catálogo de Unity:
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 por Databricks. Este modo de compartir se denomina uso compartido de Databricks a Databricks y está documentado en esta página.
Destinatarios sin acceso a un área de trabajo de Databricks habilitada para Unity Catalog:
Debe usar compartición abierta, con una conexión segura que administre mediante autenticación basada en tokens (tokens portadores o federación de OAuth). Para obtener información sobre cómo crear destinatarios de intercambio abierto, consulte los documentos Uso de la federación de Open ID Connect (OIDC) para permitir la autenticación en los recursos abiertos de Delta Sharing (intercambio abierto) y Crear un objeto de destinatario para usuarios que no son de Databricks mediante tokens de portador (intercambio abierto).
Para obtener 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 RECIPIENTpara 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, su computación debe usar Databricks Runtime 11.3 LTS o superior y el modo de acceso estándar o dedicado (anteriormente modos de acceso compartido y 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.
Crear 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 un tipo de autenticación de DATABRICKS representa un receptor de datos en un metastore determinado del Catálogo de Unity, identificado en la definición del objeto destinatario por una cadena de identificador de uso compartido que consta de 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 que consta de la nube, la región y el UUID de metastore (el identificador único de la 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 mediante el Explorador de catálogos, la CLI del catálogo de Unity de Databricks o la función CURRENT_METASTORE SQL predeterminada en un cuaderno de Databricks o una consulta sql de Databricks que se ejecuta en un proceso 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
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();
Interfaz de línea de comandos (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 enviar la información contenida en este paso al destinatario o bien 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 Unity Catalog de Databricks o el comando de SQL CREATE RECIPIENT en un cuaderno de Azure Databricks o en el editor de consultas de 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á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
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.
En Tipo de destinatario, seleccione Databricks.
Escriba el identificador de uso compartido del destinatario.
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.
En la pestaña Información general del destinatario, haga clic en el
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 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.
Interfaz de línea de comandos (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 completa del identificador de uso compartido en el formato<cloud>:<region>:<uuid>. Por ejemplo,aws:eu-west-1:g0c979c8-3e68-4cdf-94af-d05c120ed1ef. -
<authentication-type>: se establece enDATABRICKScuando 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.
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 RECIPIENTo propietario del destinatario).
Para obtener instrucciones, consulte Administrar el acceso a los recursos compartidos de datos de Delta Sharing (para proveedores).
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
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>];
Interfaz de línea de comandos (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 (
TOKENoDATABRICKS). - 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 utiliza el uso compartido Databricks-to-Databricks: la nube, la región y el ID 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
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>;
Interfaz de línea de comandos (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
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>;
Interfaz de línea de comandos (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 usted ser un administrador de metastore o propietario del objeto 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
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:
Actualice 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 el
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.Solo destinatarios autenticados por tokens:
- Vea y copie el vínculo Autenticación. Consulte Obtención del vínculo de activación.
- En Administración de Tokens, rota o actualiza el token de portador. Consulte Administración de tokens de destinatarios.
Solo destinatarios federados de OIDC:
- En Directivas de federación de OIDC, haga clic en Agregar directivas. Consulte VÍNCULO.
- Vea y copie el punto de conexión del destinatario y el punto de conexión MTLS 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.
Interfaz de línea de comandos (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.
(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 pertenece un destinatario de datos (solo para uso compartido de Databricks a Databricks). -
databricks.metastoreId: el 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>' );
Interfaz de línea de comandos (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 destinatario para eliminar al 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
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>;
Interfaz de línea de comandos (CLI)
Ejecute el siguiente comando mediante la CLI de Databricks.
databricks recipients delete <recipient-name>