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.

ejemplo de CURRENT_METASTORE

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álogos

Para obtener el identificador de uso compartido mediante Catalog Explorer:

  1. En el área de trabajo de Azure Databricks, haga clic en el Icono de catálogoCatálogo.
  2. En el panel izquierdo, expanda el menú Delta Sharing y seleccione Compartido conmigo.
  3. Encima de la pestaña Proveedores, haga clic en el icono de copia del 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 unity-catalog metastores get-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álogos

  1. En el área de trabajo de Azure Databricks, haga clic en el Icono de catálogoCatálogo.

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

  3. Haga clic en Nuevo destinatario.

  4. Escriba el Nombre del destinatario y 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.

  5. (Opcional) Escriba un comentario.

  6. Haga clic en Crear.

  7. (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.
databricks unity-catalog recipients create --name <recipient-name> --sharing-id <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:

  1. Como proveedor de datos, crea el objeto de destinatario en su metastore de Unity Catalog.
  2. 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.
  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 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álogos

  1. En el área de trabajo de Azure Databricks, haga clic en el Icono de catálogoCatálogo.

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

  3. Haga clic en Nuevo destinatario.

  4. Escriba el Nombre del destinatario.

  5. (Opcional) Escriba un comentario.

  6. Haga clic en Crear.

    No se usa el identificador de uso compartido para destinatarios de uso compartido abierto.

  7. (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>
[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 unity-catalog recipients create --name <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).

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álogos

  1. En el área de trabajo de Azure Databricks, haga clic en el Icono de catálogoCatálogo.
  2. En el panel izquierdo, expanda el menú Delta Sharing y seleccione Compartido por mí.
  3. En la pestaña Destinatarios, busque y seleccione el destinatario.
  4. 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 unity-catalog recipients get --name <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:

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álogos

  1. En el área de trabajo de Azure Databricks, haga clic en el Icono de catálogoCatálogo.
  2. En el panel izquierdo, expanda el menú Delta Sharing y seleccione Compartido por mí.
  3. Abra la pestaña 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 unity-catalog 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 o DATABRICKS).
  • 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álogos

  1. En el área de trabajo de Azure Databricks, haga clic en el Icono de catálogoCatálogo.
  2. En el panel izquierdo, expanda el menú Delta Sharing y seleccione Compartido por mí.
  3. En la pestaña Destinatarios, busque y seleccione el destinatario.
  4. Vea los detalles del destinatario en la pestaña Detalles.

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 unity-catalog recipients get --name <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 Unity Catalog 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álogos

  1. En el área de trabajo de Azure Databricks, haga clic en el Icono de catálogoCatálogo.
  2. En el panel izquierdo, expanda el menú Delta Sharing y seleccione Compartido por mí.
  3. En la pestaña Destinatarios, busque y seleccione el destinatario.
  4. 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 unity-catalog recipients list-permissions --name <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. No se puede actualizar el nombre del destinatario mediante Catalog Explorer.

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álogos

  1. En el área de trabajo de Azure Databricks, haga clic en el Icono de catálogoCatálogo.
  2. En el panel izquierdo, expanda el menú Delta Sharing y seleccione Compartido por mí.
  3. En la pestaña Destinatarios, busque y seleccione el destinatario.
  4. En la página de detalles, puede hacer lo siguiente:
    • Actualizar el propietario.

    • Editar o agregar comentarios.

    • 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 unity-catalog recipients update --name <recipient-name> --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.

Debería rotar la credencial de un destinatario y generar un nuevo vínculo 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. 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. 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 está en peligro, Databricks recomienda forzar que el token de destinatario existente expire inmediatamente.

Si nunca se ha accedido a la dirección URL de activación existente de un destinatario y no se ha rotado el destinatario, al rotar el destinatario se invalida la dirección URL de activación existente y se reemplaza por una nueva.

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

Si un vínculo 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 que:

  1. Revoque el acceso del destinatario al recurso compartido.
  2. Rote el destinatario y establezca --existing-token-expire-in-seconds en 0.
  3. Comparta el nuevo vínculo 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 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álogos

  1. En el área de trabajo de Azure Databricks, haga clic en el Icono de catálogoCatálogo.
  2. En el panel izquierdo, expanda el menú Delta Sharing y seleccione Compartido por mí.
  3. En la pestaña Destinatarios, busque y seleccione el destinatario.
  4. En la pestaña Detalles, en Expiración del token, haga clic en Rotar.
  5. 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.
  6. Haga clic en Rotar.
  7. 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

  1. Ejecute el siguiente comando mediante la CLI de Unity Catalog. Los argumentos entre corchetes son opcionales. Reemplace los valores de marcador de posición:

    • <recipient-name>: el nombre del destinatario.
    • <expiration-seconds>: opcional. Número de segundos hasta que debe expirar el token de destinatario existente. 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 unity-catalog rotate-recipient-token \
      --name <recipient-name> \
      [--existing-token-expire-in-seconds <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 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álogos

  1. Inicie sesión en la consola de la cuenta.
  2. En la barra lateral, haga clic en Icono del catálogoCatálogo.
  3. Haga clic en el nombre del metastore.
  4. Habilite Establecer expiración.
  5. Escriba un número de segundos, minutos, horas o días y seleccione la unidad de medida.
  6. Haga clic en Habilitar.

Si deshabilita Establecer expiración, los tokens de destinatario no expiran. Databricks recomienda configurar tokens para que expiren.

Cli

Cree un archivo JSON que incluya una actualización del valor delta_sharing_recipient_token_lifetime_in_seconds del metastore. Si establece este valor en 0, los tokens de destinatario no caducan. Databricks recomienda configurar tokens para que expiren.

{
  "delta_sharing_recipient_token_lifetime_in_seconds": 86400,
}

A continuación, ejecute el siguiente comando mediante la CLI de Databricks. Reemplace 12a345b6-7890-1cd2-3456-e789f0a12b34 por el UUID de metastore y reemplace update-metastore.json por el nombre del archivo JSON.

databricks unity-catalog metastores update --id 12a345b6-7890-1cd2-3456-e789f0a12b34 \
  --json-file update-metastore.json

(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álogos

Al crear o actualizar un destinatario mediante Catalog Explorer, agregue o actualice las propiedades personalizadas haciendo lo siguiente:

  1. 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 Compartir Delta > compartido por mí > Destinatarios y seleccionando el destinatario.

  2. Haga clic en Editar propiedades > +Agregar propiedad.

  3. 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".

  4. 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 unity-catalog recipients create --name <recipient-name> --property <property-key>=<property-value>

Por ejemplo:

databricks unity-catalog recipients create --name acme --property country=us --property partner_id=001

Para agregar o editar propiedades personalizadas para un destinatario existente, use update en lugar de create:

databricks unity-catalog recipients update --name acme --property country=us --property 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álogos

  1. En el área de trabajo de Azure Databricks, haga clic en el Icono de catálogoCatálogo.
  2. En el panel izquierdo, expanda el menú Delta Sharing y seleccione Compartido por mí.
  3. En la pestaña Destinatarios, busque y seleccione el destinatario.
  4. Haga clic en el menú kebab Menú kebab (también conocido como menú de tres puntos) y seleccione Eliminar.
  5. 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 unity-catalog recipients delete --name <recipient-name>