Share via


Criar e gerenciar destinatários de dados para o Delta Sharing

Este artigo explica como criar e gerenciar destinatários para o Compartilhamento Delta.

Um destinatário é o objeto nomeado que representa a identidade de um usuário ou grupo de usuários no mundo real que consomem dados compartilhados. A maneira como você cria destinatários difere dependendo se o destinatário tem ou não acesso a um espaço de trabalho Databricks habilitado para o Unity Catalog:

  • Para destinatários com acesso a um espaço de trabalho Databricks habilitado para o Unity Catalog, você pode criar um objeto de destinatário com uma conexão segura gerenciada inteiramente pelo Databricks. Esse modo de compartilhamento é chamado de compartilhamento Databricks-to-Databricks.
  • Para destinatários sem acesso a um espaço de trabalho Databricks habilitado para o Unity Catalog, você deve usar o compartilhamento aberto, com uma conexão segura que você gerencia usando autenticação baseada em token.

Para obter mais informações sobre esses dois modos de compartilhamento e quando escolher qual, consulte Compartilhamento aberto versus compartilhamento de Databricks para Databricks.

Requisitos

Para criar um destinatário:

  • Você deve ser um administrador de metastore ou ter o CREATE_RECIPIENT privilégio para o metastore do Unity Catalog onde os dados que você deseja compartilhar estão registrados.
  • Você deve criar o destinatário usando um espaço de trabalho do Azure Databricks que tenha esse metastore do Catálogo Unity anexado.
  • Se você usar um bloco de anotações Databricks para criar o destinatário, seu cluster deverá usar o Databricks Runtime 11.3 LTS ou superior e o modo de acesso compartilhado ou de usuário único ao cluster.

Para outras operações de gerenciamento de destinatários (como exibir, excluir, atualizar e conceder acesso de destinatário a um compartilhamento), consulte os requisitos de permissões listados nas seções específicas da operação deste artigo.

Criar um objeto de destinatário para usuários que têm acesso a Databricks (compartilhamento de Databricks para Databricks)

Se o destinatário dos dados tiver acesso a um espaço de trabalho Databricks habilitado para o Unity Catalog, você poderá criar um objeto de destinatário com um tipo de autenticação de DATABRICKS.

Um objeto de destinatário com o tipo de autenticação representa um destinatário de dados em um metastore específico do Unity Catalog, identificado na definição de objeto de destinatário por uma cadeia de caracteres de identificador de DATABRICKS compartilhamento que consiste na nuvem, região e UUID do metastore. Os dados compartilhados com esse destinatário podem ser acessados somente nesse metastore.

Etapa 1: Solicitar o identificador de compartilhamento do destinatário

Peça a um usuário destinatário para enviar o identificador de compartilhamento para o metastore do Unity Catalog anexado aos espaços de trabalho onde o usuário destinatário ou grupo de usuários trabalhará com os dados compartilhados.

O identificador de compartilhamento é uma cadeia de caracteres que consiste na nuvem, região e UUID (o identificador exclusivo do metastore), no formato <cloud>:<region>:<uuid>.

Por exemplo, na captura de tela a seguir, a cadeia de caracteres do identificador de compartilhamento completo é aws:us-west-2:19a84bee-54bc-43a2-87de-023d0ec16016.

exemplo de CURRENT_METASTORE

O destinatário pode encontrar o identificador usando o Catalog Explorer, a CLI do Databricks Unity Catalog ou a função CURRENT_METASTORE SQL padrão em um bloco de anotações Databricks ou consulta SQL Databricks que é executada em um cluster compatível com Unity-Catalog no espaço de trabalho que pretende usar.

Explorador de catálogos

Para obter o identificador de compartilhamento usando o Gerenciador de Catálogos:

  1. No seu espaço de trabalho do Azure Databricks, clique em Ícone do catálogoCatálogo.
  2. No painel esquerdo, expanda o menu Compartilhamento Delta e selecione Compartilhado comigo.
  3. Acima da guia Provedores, clique no ícone Cópia do identificador de compartilhamento.

Sql

Execute o seguinte comando em um bloco de anotações ou no editor de consultas Databricks SQL:

SELECT CURRENT_METASTORE();

Cli

Execute o seguinte comando usando a CLI do Databricks. O identificador de compartilhamento é retornado como o global_metastore_id.

databricks metastores summary

Você pode ajudar o destinatário enviando ao seu contato as informações contidas nesta etapa ou pode apontá-lo para Obter acesso no modelo Databricks-to-Databricks.

Etapa 2: Criar o destinatário

Para criar um destinatário para compartilhamento de Databricks para Databricks, você pode usar o Gerenciador de Catálogos, a CLI do Catálogo Unity Databricks ou o CREATE RECIPIENT comando SQL em um bloco de anotações do Azure Databricks ou no editor de consultas Databricks SQL.

Permissões necessárias: administrador ou usuário do Metastore com o CREATE_RECIPIENT privilégio para o metastore do Unity Catalog onde os dados que você deseja compartilhar estão registrados.

Explorador de catálogos

  1. No seu espaço de trabalho do Azure Databricks, clique em Ícone do catálogoCatálogo.

  2. No painel esquerdo, expanda o menu Compartilhamento Delta e selecione Compartilhado por mim.

  3. Clique em Novo destinatário.

  4. Insira o nome do destinatário e o identificador de compartilhamento.

    Use toda a cadeia de caracteres do identificador de compartilhamento no formato <cloud>:<region>:<uuid>. Por exemplo, aws:us-west-2:19a84bee-54bc-43a2-87de-023d0ec16016.

  5. (Opcional) Insira um comentário.

  6. Clique em Criar.

  7. (Opcional) Crie propriedades personalizadas de Destinatário.

    Clique em Editar propriedades > +Adicionar propriedade. Em seguida, adicione um nome de propriedade (Key) e Value. Para obter detalhes, consulte Gerenciar propriedades do destinatário.

Sql

Execute o seguinte comando em um bloco de anotações ou no editor de consultas Databricks SQL:

CREATE RECIPIENT [IF NOT EXISTS] <recipient-name>
USING ID '<sharing-identifier>'
[COMMENT "<comment>"];

Use toda a cadeia de caracteres do identificador de compartilhamento no formato <cloud>:<region>:<uuid>. Por exemplo, aws:eu-west-1:g0c979c8-3e68-4cdf-94af-d05c120ed1ef.

Você também pode adicionar propriedades personalizadas para o destinatário. Para obter detalhes, consulte Gerenciar propriedades do destinatário.

Cli

Execute o seguinte comando usando a CLI do Databricks. Substitua os valores de espaço reservado:

  • <recipient-name>: O nome do destinatário.
  • <sharing-identifier>: A cadeia de caracteres do identificador de compartilhamento inteira no formato <cloud>:<region>:<uuid>. Por exemplo, aws:eu-west-1:g0c979c8-3e68-4cdf-94af-d05c120ed1ef.
  • <authentication-type>: Defina como DATABRICKS quando uma cadeia de caracteres de identificador de compartilhamento no formato <cloud>:<region>:<uuid> é fornecida para <sharing-identifier>.
databricks recipients create <recipient-name> <authentication-type> --sharing-code <sharing-identifier>

Você também pode adicionar propriedades personalizadas para o destinatário. Para obter detalhes, consulte Gerenciar propriedades do destinatário.

O destinatário é criado com o authentication_type de DATABRICKS.

Criar um objeto de destinatário para todos os outros usuários (compartilhamento aberto)

Se você quiser compartilhar dados com usuários fora do seu espaço de trabalho do Azure Databricks, independentemente de eles usarem o Databricks, você pode usar o Compartilhamento Delta aberto para compartilhar seus dados com segurança. Veja como funciona:

  1. Como um provedor de dados, você cria o objeto de destinatário em seu metastore do Unity Catalog.
  2. Quando você cria o objeto de destinatário, o Azure Databricks gera um token, um arquivo de credenciais que inclui o token e um link de ativação para você compartilhar com o destinatário. O objeto destinatário tem o tipo de autenticação de TOKEN.
  3. O destinatário acessa o link de ativação, baixa o arquivo de credenciais e usa o arquivo de credenciais para autenticar e obter acesso de leitura às tabelas que você inclui nos compartilhamentos aos quais você dá acesso.

Etapa 1: Criar o destinatário

Para criar um destinatário para compartilhamento aberto, você pode usar o Gerenciador de Catálogos, a CLI do Catálogo Databricks Unity ou o CREATE RECIPIENT comando SQL em um bloco de anotações do Azure Databricks ou o editor de consultas Databricks SQL.

Permissões necessárias: administrador ou usuário do Metastore com o CREATE_RECIPIENT privilégio para o metastore do Unity Catalog onde os dados que você deseja compartilhar estão registrados.

Explorador de catálogos

  1. No seu espaço de trabalho do Azure Databricks, clique em Ícone do catálogoCatálogo.

  2. No painel esquerdo, expanda o menu Compartilhamento Delta e selecione Compartilhado por mim.

  3. Clique em Novo destinatário.

  4. Insira o nome do destinatário

  5. (Opcional) Insira um comentário.

  6. Clique em Criar.

    Você não usa o identificador de compartilhamento para destinatários de compartilhamento abertos.

  7. (Opcional) Crie propriedades personalizadas de Destinatário.

    Clique em Editar propriedades > +Adicionar propriedade. Em seguida, adicione um nome de propriedade (Key) e Value. Para obter detalhes, consulte Gerenciar propriedades do destinatário.

Sql

Execute o seguinte comando em um bloco de anotações ou no editor de consultas Databricks SQL:

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

Você também pode adicionar propriedades personalizadas para o destinatário. Para obter detalhes, consulte Gerenciar propriedades do destinatário.

Cli

Execute o seguinte comando usando a CLI do Databricks.

databricks recipients create <recipient-name>

Você também pode adicionar propriedades personalizadas para o destinatário. Para obter detalhes, consulte Gerenciar propriedades do destinatário.

A saída inclui o activation_url que você compartilha com o destinatário.

O destinatário é criado com o authentication_type de TOKEN.

Nota

Ao criar o destinatário, você tem a opção de limitar o acesso do destinatário a um conjunto restrito de endereços IP. Você também pode adicionar uma lista de acesso IP a um destinatário existente. Consulte Restringir o acesso de destinatários do Compartilhamento Delta usando listas de acesso IP (compartilhamento aberto).

Para obter o link de ativação do novo destinatário, você pode usar o Gerenciador de Catálogos, a CLI do Catálogo Unity do Databricks ou o DESCRIBE RECIPIENT comando SQL em um bloco de anotações do Azure Databricks ou no editor de consultas do Databricks SQL.

Se o destinatário já tiver baixado o arquivo de credenciais, o link de ativação não será retornado ou exibido.

Permissões necessárias: administrador do Metastore, usuário com o USE RECIPIENT privilégio ou proprietário do objeto destinatário.

Explorador de catálogos

  1. No seu espaço de trabalho do Azure Databricks, clique em Ícone do catálogoCatálogo.
  2. No painel esquerdo, expanda o menu Compartilhamento Delta e selecione Compartilhado por mim.
  3. Na guia Destinatários, localize e selecione o destinatário.
  4. Na página de detalhes do destinatário, copie o link Ativação.

Sql

Execute o seguinte comando em um bloco de anotações ou no editor de consultas Databricks SQL.

DESCRIBE RECIPIENT <recipient-name>;

A saída inclui o activation_link.

Cli

Execute o seguinte comando usando a CLI do Databricks.

databricks recipients get <recipient-name>

A saída inclui o activation_url.

Conceder ao destinatário acesso a um compartilhamento

Depois de criar o destinatário e os compartilhamentos, você pode conceder ao destinatário acesso a esses compartilhamentos.

Para conceder acesso de compartilhamento aos destinatários, você pode usar o Gerenciador de Catálogos, a CLI do Catálogo Unity do Databricks ou o GRANT ON SHARE comando SQL em um bloco de anotações do Azure Databricks ou no editor de consultas do Databricks SQL.

Permissões necessárias: uma das seguintes opções:

  • Administrador da Metastore.
  • Permissões delegadas ou propriedade nos objetos de compartilhamento e destinatário ((USE SHARE + SET SHARE PERMISSION) ou proprietário do compartilhamento) E (USE RECIPIENT ou proprietário do destinatário).

Para obter instruções, consulte Gerenciar o acesso a compartilhamentos de dados do Delta Sharing (para provedores).

Enviar ao destinatário suas informações de conexão

Você deve informar ao destinatário como acessar os dados que você está compartilhando com ele. As informações que você compartilha com o destinatário dependem se você está usando o compartilhamento Databricks-to-Databricks ou o compartilhamento aberto:

  • Para compartilhamento de Databricks para Databricks, você envia um link para instruções para acessar os dados que está compartilhando.

    Um objeto de provedor que lista compartilhamentos disponíveis é criado automaticamente no metastore do destinatário. Os destinatários não precisam fazer nada além de visualizar e selecionar os compartilhamentos que desejam usar. Consulte Ler dados compartilhados usando o compartilhamento delta de Databricks para Databricks (para destinatários).

  • Para compartilhamento aberto, você usa um canal seguro para compartilhar o link de ativação e um link para instruções de uso.

    Você pode baixar o arquivo de credenciais apenas uma vez. Os destinatários devem tratar a credencial baixada como um segredo e não devem compartilhá-la fora de sua organização. Se você tiver preocupações de que uma credencial pode ter sido tratada de forma insegura, você pode alternar a credencial de um destinatário a qualquer momento. Para obter mais informações sobre como gerenciar credenciais para garantir acesso seguro de destinatários, consulte Considerações de segurança para tokens.

Ver destinatários

Para exibir uma lista de destinatários, você pode usar o Gerenciador de Catálogos, a CLI do Catálogo Unity Databricks ou o SHOW RECIPIENTS comando SQL em um bloco de anotações do Azure Databricks ou no editor de consultas Databricks SQL.

Permissões necessárias: Você deve ser um administrador de metastore ou ter o USE RECIPIENT privilégio de exibir todos os destinatários no metastore. Outros usuários têm acesso apenas aos destinatários que possuem.

Explorador de catálogos

  1. No seu espaço de trabalho do Azure Databricks, clique em Ícone do catálogoCatálogo.
  2. No painel esquerdo, expanda o menu Compartilhamento Delta e selecione Compartilhado por mim.
  3. Abra a guia Destinatários .

Sql

Execute o seguinte comando em um bloco de anotações ou no editor de consultas Databricks SQL. Opcionalmente, substitua <pattern> por um LIKE predicado.

SHOW RECIPIENTS [LIKE <pattern>];

Cli

Execute o seguinte comando usando a CLI do Databricks.

databricks recipients list

Ver detalhes do destinatário

Para exibir detalhes sobre um destinatário, você pode usar o Gerenciador de Catálogos, a CLI do Catálogo Databricks Unity ou o DESCRIBE RECIPIENT comando SQL em um bloco de anotações do Azure Databricks ou no editor de consultas Databricks SQL.

Permissões necessárias: administrador do Metastore, usuário com o USE RECIPIENT privilégio ou proprietário do objeto destinatário.

Os detalhes incluem:

  • O criador do destinatário, o carimbo de data/hora de criação, os comentários e o tipo de autenticação (TOKEN ou DATABRICKS).
  • Se o destinatário usar o compartilhamento aberto: o tempo de vida do token, o link de ativação, o status da ativação (se a credencial foi baixada) e as listas de acesso IP, se atribuídas.
  • Se o destinatário usar o compartilhamento de Databricks para Databricks: a nuvem, a região e o ID do metastore do metastore do Unity Catalog do destinatário, bem como o status de ativação.
  • Propriedades do destinatário, incluindo propriedades personalizadas. Consulte Gerenciar propriedades do destinatário.

Explorador de catálogos

  1. No seu espaço de trabalho do Azure Databricks, clique em Ícone do catálogoCatálogo.
  2. No painel esquerdo, expanda o menu Compartilhamento Delta e selecione Compartilhado por mim.
  3. Na guia Destinatários, localize e selecione o destinatário.
  4. Veja os detalhes do destinatário no separador Detalhes .

Sql

Execute o seguinte comando em um bloco de anotações ou no editor de consultas Databricks SQL.

DESCRIBE RECIPIENT <recipient-name>;

Cli

Execute o seguinte comando usando a CLI do Databricks.

databricks recipients get <recipient-name>

Exibir as permissões de compartilhamento de um destinatário

Para exibir a lista de compartilhamentos aos quais um destinatário recebeu acesso, você pode usar o Gerenciador de Catálogos, a CLI do Databricks ou o SHOW GRANTS TO RECIPIENT comando SQL em um bloco de anotações do Azure Databricks ou no editor de consultas do Databricks SQL.

Permissões necessárias: administrador do Metastore, usuário com o USE RECIPIENT privilégio ou proprietário do objeto destinatário.

Explorador de catálogos

  1. No seu espaço de trabalho do Azure Databricks, clique em Ícone do catálogoCatálogo.
  2. No painel esquerdo, expanda o menu Compartilhamento Delta e selecione Compartilhado por mim.
  3. Na guia Destinatários, localize e selecione o destinatário.
  4. Aceda ao separador Partilhas para ver a lista de partilhas partilhadas com o destinatário.

Sql

Execute o seguinte comando em um bloco de anotações ou no editor de consultas Databricks SQL.

SHOW GRANTS TO RECIPIENT <recipient-name>;

Cli

Execute o seguinte comando usando a CLI do Databricks.

databricks recipients share-permissions <recipient-name>

Atualizar um destinatário

Para atualizar um destinatário, você pode usar o Gerenciador de Catálogos, a CLI do Catálogo Unity do Databricks ou o ALTER RECIPIENT comando SQL em um bloco de anotações do Azure Databricks ou o editor de consultas do Databricks SQL.

As propriedades que você pode atualizar incluem nome do destinatário, proprietário, comentário e propriedades personalizadas. Não é possível atualizar o nome do destinatário usando o Gerenciador de Catálogos.

Permissões necessárias: você deve ser um administrador de metastore ou proprietário do objeto de destinatário para atualizar o proprietário. Você deve ser um administrador de metastore (ou usuário com privilégio CREATE_RECIPIENT ) e o proprietário para atualizar o nome. Você deve ser o proprietário para atualizar o comentário ou as propriedades personalizadas.

Explorador de catálogos

  1. No seu espaço de trabalho do Azure Databricks, clique em Ícone do catálogoCatálogo.
  2. No painel esquerdo, expanda o menu Compartilhamento Delta e selecione Compartilhado por mim.
  3. Na guia Destinatários, localize e selecione o destinatário.
  4. Na página de detalhes, você pode:
    • Atualize o proprietário.

    • Edite ou adicione um comentário.

    • Edite, remova ou adicione propriedades personalizadas de Destinatário.

      Clique em Editar propriedades. Para adicionar uma propriedade, clique em +Adicionar propriedade e insira um nome de propriedade (Chave) e Valor. Para obter detalhes, consulte Gerenciar propriedades do destinatário.

Sql

Execute um ou mais dos seguintes comandos em um bloco de anotações ou no editor de consultas 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 obter mais informações sobre propriedades, consulte Gerenciar propriedades de destinatário.

Cli

Crie um arquivo JSON que inclua uma atualização para o nome do destinatário, comentário, proprietário, lista de acesso IP ou propriedades 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"
    }
}

Em seguida, execute o seguinte comando usando a CLI do Databricks. Substitua <recipient-name> pelo nome do destinatário atual e substitua update-recipient-settings.json pelo nome do arquivo JSON.

databricks recipients update --json-file update-recipient-settings.json

Para obter mais informações sobre propriedades, consulte Gerenciar propriedades de destinatário.

Gerenciar tokens de destinatário (compartilhamento aberto)

Se você estiver compartilhando dados com um destinatário usando o compartilhamento aberto, talvez seja necessário alternar o token desse destinatário.

Você deve alternar a credencial de um destinatário e gerar um novo link de ativação nas seguintes circunstâncias:

  • Quando o token de destinatário existente estiver prestes a expirar.
  • Se um destinatário perder o URL de ativação ou se estiver comprometido.
  • Se a credencial estiver corrompida, perdida ou comprometida depois de ser baixada por um destinatário.
  • Quando você modifica o tempo de vida do token de destinatário para um metastore. Consulte Modificar o tempo de vida do token de destinatário.

Considerações de segurança para tokens

A qualquer momento, um destinatário pode ter, no máximo, dois tokens: um token ativo e um token rotativo. Até que o token girado expire, tentar girá-lo novamente resulta em um erro.

Ao girar o token de um destinatário, você pode, opcionalmente, definir --existing-token-expire-in-seconds o número de segundos antes que o token de destinatário existente expire. Se você definir o valor como 0, o token de destinatário existente expirará imediatamente.

O Databricks recomenda que você defina --existing-token-expire-in-seconds para um período relativamente curto que dê à organização do destinatário tempo para acessar a nova URL de ativação enquanto minimiza a quantidade de tempo que o destinatário tem dois tokens ativos. Se você suspeitar que o token de destinatário está comprometido, o Databricks recomenda que você force o token de destinatário existente a expirar imediatamente.

Se o URL de ativação existente de um destinatário nunca tiver sido acessado e o destinatário não tiver sido girado, girar o destinatário invalidará o URL de ativação existente e o substituirá por um novo.

Se todos os tokens de destinatário tiverem expirado, a rotação do destinatário substituirá a URL de ativação existente por uma nova. O Databricks recomenda que você gire ou solte imediatamente um destinatário cujo token expirou.

Se um link de ativação de destinatário for enviado inadvertidamente para a pessoa errada ou for enviado por um canal inseguro, o Databricks recomenda que você:

  1. Revogar o acesso do destinatário ao compartilhamento.
  2. Gire o destinatário e defina --existing-token-expire-in-seconds como 0.
  3. Partilhe a nova ligação de ativação com o destinatário pretendido através de um canal seguro.
  4. Depois que a URL de ativação for acessada, conceda ao destinatário acesso ao compartilhamento novamente.

Em situações extremas, em vez de girar o token do destinatário, você pode soltar e recriar o destinatário.

Girar o token de um destinatário

Para girar o token de um destinatário, você pode usar o Catalog Explorer ou a CLI do Databricks Unity Catalog.

Permissões necessárias: Proprietário do objeto do destinatário.

Explorador de catálogos

  1. No seu espaço de trabalho do Azure Databricks, clique em Ícone do catálogoCatálogo.
  2. No painel esquerdo, expanda o menu Compartilhamento Delta e selecione Compartilhado por mim.
  3. Na guia Destinatários, localize e selecione o destinatário.
  4. Na guia Detalhes, em Expiração do Token, clique em Girar.
  5. Na caixa de diálogo Girar token, defina o token para expirar imediatamente ou por um período de tempo definido. Para obter conselhos sobre quando expirar tokens existentes, consulte Considerações de segurança para tokens.
  6. Clique em Girar.
  7. Na guia Detalhes, copie o novo link Ativação e compartilhe-o com o destinatário em um canal seguro. Consulte Etapa 2: Obter o link de ativação.

Cli

  1. Execute o seguinte comando usando a CLI do Databricks. Substitua os valores de espaço reservado:

    • <recipient-name>: o nome do destinatário.
    • <expiration-seconds>: O número de segundos até que o token de destinatário existente expire. Durante esse período, o token existente continuará a funcionar. Um valor de 0 significa que o token existente expira imediatamente. Para obter conselhos sobre quando expirar tokens existentes, consulte Considerações de segurança para tokens.
    databricks recipients rotate-token \
    <recipient-name> \
    <expiration-seconds>
    
  2. Obtenha o novo link de ativação do destinatário e compartilhe-o com o destinatário em um canal seguro. Consulte Etapa 2: Obter o link de ativação.

Modificar o tempo de vida do token do destinatário

Se você precisar modificar o tempo de vida do token de destinatário padrão para seu metastore do Catálogo Unity, poderá usar o Catalog Explorer ou a CLI do Databricks Unity Catalog.

Nota

O tempo de vida do token de destinatário para destinatários existentes não é atualizado automaticamente quando você altera o tempo de vida do token de destinatário padrão para um metastore. Para aplicar o novo tempo de vida do token a um determinado destinatário, você deve girar o token dele. Consulte Gerenciar tokens de destinatário (compartilhamento aberto).

Permissões necessárias: Administrador da conta.

Explorador de catálogos

  1. Inicie sessão na consola da conta.
  2. Na barra lateral, clique em Ícone do catálogoCatálogo.
  3. Clique no nome do metastore.
  4. Habilite Definir expiração.
  5. Insira um número de segundos, minutos, horas ou dias e selecione a unidade de medida.
  6. Clique em Ativar.

Se você desabilitar Definir expiração, os tokens de destinatário não expirarão. O Databricks recomenda que você configure os tokens para expirar.

Cli

Execute o seguinte comando usando a CLI do Databricks. Substitua 12a345b6-7890-1cd2-3456-e789f0a12b34 pelo UUID do metastore e substitua 86400 pelo número de segundos antes que o token de destinatário expire. Se você definir esse valor como 0, os tokens de destinatário não expirarão. O Databricks recomenda que você configure os tokens para expirar.

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

(Opcional) Restringir o acesso de destinatários usando listas de acesso

Você pode limitar o acesso do destinatário a um conjunto restrito de endereços IP ao configurar o objeto do destinatário. Consulte Restringir o acesso de destinatários do Compartilhamento Delta usando listas de acesso IP (compartilhamento aberto).

Gerenciar propriedades do destinatário

Os objetos de destinatário incluem propriedades predefinidas que você pode usar para refinar o acesso ao compartilhamento de dados. Por exemplo, você pode usá-los para fazer o seguinte:

  • Compartilhe partições de tabela diferentes com destinatários diferentes, permitindo que você use os mesmos compartilhamentos com vários destinatários enquanto mantém os limites de dados entre eles.
  • Partilhe vistas dinâmicas que limitam o acesso do destinatário aos dados da tabela ao nível da linha ou coluna com base nas propriedades do destinatário.

Você também pode criar propriedades personalizadas.

As propriedades predefinidas começam com databricks. e incluem o seguinte:

  • databricks.accountId: A conta do Azure Databricks à qual pertence um destinatário de dados (somente compartilhamento de Databricks para Databricks).
  • databricks.metastoreId: O metastore do Unity Catalog ao qual um destinatário de dados pertence (somente compartilhamento de Databricks para Databricks).
  • databricks.name: O nome do destinatário dos dados.

As propriedades personalizadas que podem ser valiosas podem incluir, por exemplo, country. Por exemplo, se você anexar a propriedade 'country' = 'us' personalizada a um destinatário, poderá particionar dados da tabela por país e compartilhar apenas linhas que tenham dados dos EUA com os destinatários que têm essa propriedade atribuída. Você também pode compartilhar um modo de exibição dinâmico que restringe o acesso a linhas ou colunas com base nas propriedades do destinatário. Para obter exemplos mais detalhados, consulte Usar propriedades de destinatário para fazer filtragem de partições e Adicionar exibições dinâmicas a um compartilhamento para filtrar linhas e colunas.

Requisitos

As propriedades do destinatário são suportadas no Databricks Runtime 12.2 e superior.

Adicionar propriedades ao criar ou atualizar um destinatário

Você pode adicionar propriedades ao criar um destinatário ou atualizá-las para um destinatário existente. Você pode usar o Gerenciador de Catálogos, a CLI do Catálogo Databricks Unity ou comandos SQL em um bloco de anotações do Azure Databricks ou no editor de consultas Databricks SQL.

Permissões necessárias: administrador ou usuário do Metastore com o CREATE RECIPIENT privilégio para o metastore do Unity Catalog.

Explorador de catálogos

Ao criar ou atualizar um destinatário usando o Gerenciador de Catálogos, adicione ou atualize propriedades personalizadas fazendo o seguinte:

  1. Vá para a página Detalhes do destinatário.

    Se estiver a criar um novo destinatário, aceda a esta página depois de clicar em Criar. Se você estiver atualizando um destinatário existente, vá para esta página clicando em Delta Sharing > Shared by me > Recipients e selecionando o destinatário.

  2. Clique em Editar propriedades > +Adicionar propriedade.

  3. Insira um nome de propriedade (Chave) e Valor.

    Por exemplo, se você quiser filtrar dados compartilhados por país e compartilhar apenas dados dos EUA com esse destinatário, poderá criar uma chave chamada "país" com um valor de "EUA".

  4. Clique em Guardar.

Sql

Para adicionar uma propriedade personalizada ao criar um destinatário, execute o seguinte comando em um bloco de anotações ou no editor de consultas Databricks SQL:

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> pode ser um literal ou identificador de cadeia de caracteres. <property-value> deve ser uma cadeia de caracteres literal.

Por exemplo:

CREATE RECIPIENT acme PROPERTIES ('country' = 'us', 'partner_id' = '001');

Para adicionar, editar ou excluir propriedades personalizadas de um destinatário existente, execute uma das seguintes opções:

ALTER RECIPIENT <recipient-name> SET PROPERTIES ( '<property-key>' = '<property-value>' [, ...] );

ALTER RECIPIENT <recipient-name> UNSET PROPERTIES ( '<property-key>' );

Cli

Para adicionar propriedades personalizadas ao criar um destinatário, execute o seguinte comando usando a CLI do Databricks. Substitua os valores de espaço reservado:

  • <recipient-name>: O nome do destinatário.
  • <property-key> pode ser um literal ou identificador de cadeia de caracteres.
  • <property-value> deve ser uma cadeia de caracteres literal.
databricks recipients create \
--json='{
  "name": "<recipient-name>",
  "properties_kvpairs": {
    "properties": {
      "<property-key>": "<property-value>",
    }
  }
}'

Por exemplo:

databricks recipients create \
--json='{
  "name": "<recipient-name>",
  "properties_kvpairs": {
    "properties": {
      "country": "us",
      "partner_id":"001"
    }
  }
}'

Para adicionar ou editar propriedades personalizadas para um destinatário existente, use update em vez de create:

databricks recipients update \
--json='{
  "name": "<recipient-name>",
  "properties_kvpairs": {
    "properties": {
      "country": "us",
      "partner_id":"001"
    }
  }
}'

Exibir propriedades do destinatário

Para exibir as propriedades do destinatário, siga as instruções em Exibir detalhes do destinatário.

Excluir um destinatário

Para excluir um destinatário, você pode usar o Gerenciador de Catálogos, a CLI do Catálogo Unity do Databricks ou o DROP RECIPIENT comando SQL em um bloco de anotações do Azure Databricks ou o editor de consultas do Databricks SQL. Você deve ser o proprietário do objeto destinatário para excluir o destinatário.

Quando você exclui um destinatário, os usuários representados pelo destinatário não podem mais acessar os dados compartilhados. Os tokens que os destinatários usam em um cenário de compartilhamento aberto são invalidados.

Permissões necessárias: Proprietário do objeto do destinatário.

Explorador de catálogos

  1. No seu espaço de trabalho do Azure Databricks, clique em Ícone do catálogoCatálogo.
  2. No painel esquerdo, expanda o menu Compartilhamento Delta e selecione Compartilhado por mim.
  3. Na guia Destinatários, localize e selecione o destinatário.
  4. Clique no Menu de kebab menu kebab (também conhecido como menu de três pontos) e selecione Excluir.
  5. Na caixa de diálogo de confirmação, clique em Excluir.

Sql

Execute o seguinte comando em um bloco de anotações ou no editor de consultas Databricks SQL.

DROP RECIPIENT [IF EXISTS] <recipient-name>;

Cli

Execute o seguinte comando usando a CLI do Databricks.

databricks recipients delete <recipient-name>