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

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

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 o senhor cria destinatários difere dependendo de o destinatário ter ou não acesso a um Databricks workspace que esteja habilitado para Unity Catalog:

  • Para destinatários com acesso a um Databricks workspace que esteja habilitado para Unity Catalog, o senhor pode criar um objeto destinatário com uma conexão segura gerenciada inteiramente por Databricks. Esse modo de compartilhamento é chamado de Databricks-to-Databricks compartilhamento.

  • Para destinatários sem acesso a um workspace Databricks habilitado para Unity Catalog, você deve usar compartilhamento aberto, com uma conexão segura que você gerencia usando autenticação baseada em tokens .

Para obter mais informações sobre esses dois modos de compartilhamento e quando escolher um deles, consulte Open compartilhamento versus Databricks-to-Databricks compartilhamento.

Requisitos

Para criar um destinatário:

  • O senhor deve ser um administrador de metastore ou ter o privilégio CREATE_RECIPIENT para o metastore do Unity Catalog onde os dados que deseja compartilhar estão registrados.

  • O senhor deve criar o destinatário usando um Databricks workspace que tenha o metastore Unity Catalog anexado.

  • Se o senhor usar um Databricks Notebook para criar o destinatário, seu cluster deve usar Databricks Runtime 11.3 LTS ou acima e o modo de acesso cluster compartilhado ou de usuário único.

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

Crie um objeto destinatário para os usuários que têm acesso a Databricks (Databricks-to-Databricks compartilhamento)

Se o destinatário dos dados tiver acesso a um Databricks workspace que tenha sido habilitado para Unity Catalog, o senhor poderá criar um objeto destinatário com um tipo de autenticação DATABRICKS.

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

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

Peça a um usuário destinatário que lhe envie o identificador de compartilhamento do metastore Unity Catalog que está anexado ao espaço de trabalho em que o usuário destinatário ou o grupo de usuários trabalhará com os dados compartilhados.

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

Por exemplo, na captura de tela a seguir, a sequência completa de identificadores de compartilhamento é aws:us-west-2:19a84bee-54bc-43a2-87de-023d0ec16016.

exemplo de CURRENT_METASTORE

O destinatário pode encontrar o identificador usando o Catalog Explorer, o Databricks Unity Catalog CLI, ou a função default SQL CURRENT_METASTORE em um Databricks Notebook ou Databricks SQL consultar essa execução em um Unity-Catalog compatível com cluster no workspace que pretende usar.

Para obter o identificador de compartilhamento usando o Catalog Explorer:

  1. No seu workspace do Databricks, clique em Ícone de catálogo Catálogo.

  2. Na parte superior do painel Catálogo, clique no ícone de engrenagem ícone de engrenagem e selecione Delta Sharing.

    Como alternativa, na página de acesso rápido, clique no botão Delta Sharing >.

  3. No Shared with me tab, clique no nome da sua organização de compartilhamento Databricks no canto superior direito e selecione Copy compartilhamento identifier (Copiar identificador de compartilhamento).

Execute o seguinte comando em um Notebook ou no editor de consultas Databricks SQL:

SELECT CURRENT_METASTORE();

execute o seguinte comando usando o Databricks CLI. O identificador de compartilhamento é retornado como global_metastore_id.

databricks metastores summary

O senhor pode ajudar o destinatário enviando ao seu contato as informações contidas neste o passo, ou pode indicá-lo para Obter acesso no modelo Databricks-to-Databricks .

passo 2: criar o destinatário

Para criar um destinatário para Databricks-to-Databricks compartilhamento, o senhor pode usar o Catalog Explorer, o Databricks Unity Catalog CLI, ou o CREATE RECIPIENT SQL comando em um Databricks Notebook ou o editor de consultas Databricks SQL.

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

  1. No seu workspace do Databricks, clique em Ícone de catálogo Catálogo.

  2. Na parte superior do painel Catálogo, clique no ícone de engrenagem ícone de engrenagem e selecione Delta Sharing.

    Como alternativa, na página de acesso rápido, clique no botão Delta Sharing >.

  3. Em Shared by me (Compartilhado por mim ) tab, clique em New recipient (Novo destinatário).

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

    Use as cadeias de identificadores do compartilhamento inteiro no formato <cloud>:<region>:<uuid>. Por exemplo, aws:us-west-2:19a84bee-54bc-43a2-87de-023d0ec16016.

  5. (Opcional) Digite um comentário.

  6. Clique em Criar.

  7. (Opcional) Crie propriedades personalizadas para o destinatário.

    Clique em Edit properties (Editar propriedades) > +Add property (Adicionar propriedade). Em seguida, adicione um nome de propriedade(chave) e Value (valor). Para obter detalhes, consulte gerenciar propriedades do destinatário.

Execute o seguinte comando em um Notebook ou no editor de consultas Databricks SQL:

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

Use as cadeias de identificadores do compartilhamento inteiro no formato <cloud>:<region>:<uuid>. Por exemplo, aws:eu-west-1:g0c979c8-3e68-4cdf-94af-d05c120ed1ef.

O senhor também pode adicionar propriedades personalizadas para o destinatário. Para obter detalhes, consulte gerenciar propriedades do destinatário.

execute o seguinte comando usando o Databricks CLI. Substitua os valores do espaço reservado:

  • <recipient-name>: O nome do destinatário.

  • <sharing-identifier>: As cadeias de caracteres do identificador do compartilhamento inteiro no formato <cloud>:<region>:<uuid>. Por exemplo, aws:eu-west-1:g0c979c8-3e68-4cdf-94af-d05c120ed1ef.

  • <authentication-type>: Definido como DATABRICKS quando uma cadeia de identificadores de compartilhamento no formato <cloud>:<region>:<uuid> é fornecida para <sharing-identifier>.

databricks recipients create <recipient-name> <authentication-type> --sharing-code <sharing-identifier>

O senhor 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.

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

Se quiser compartilhar dados com usuários fora do seu Databricks workspace, independentemente de eles usarem o Databricks, o senhor pode usar o open Delta Sharing para compartilhar seus dados com segurança. Veja como funciona:

  1. Como provedor de dados, o senhor cria o objeto destinatário no metastore do Unity Catalog.

  2. Quando o objeto destinatário é criado, o site Databricks gera tokens, um arquivo de credenciais que inclui os tokens e um link de ativação para ser compartilhado com o destinatário. O objeto destinatário tem o tipo de autenticação TOKEN.

  3. O destinatário acessa o link de ativação, downloads o arquivo de credencial e usa o arquivo de credencial para se autenticar e obter acesso de leitura às tabelas que o senhor inclui nos compartilhamentos aos quais dá acesso.

passo 1: criar o destinatário

Para criar um destinatário para compartilhamento aberto, o senhor pode usar o Catalog Explorer, o Databricks Unity Catalog CLI, ou o CREATE RECIPIENT SQL comando em um Databricks Notebook ou o editor de consultas Databricks SQL.

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

  1. No seu workspace do Databricks, clique em Ícone de catálogo Catálogo.

  2. Na parte superior do painel Catálogo, clique no ícone de engrenagem ícone de engrenagem e selecione Delta Sharing.

    Como alternativa, na página de acesso rápido, clique no botão Delta Sharing >.

  3. Em Shared by me (Compartilhado por mim ) tab, clique em New recipient (Novo destinatário).

  4. Digite o nomedo destinatário

  5. (Opcional) Digite um comentário.

  6. Clique em Criar.

    O senhor não usa o identificador de compartilhamento para destinatários de compartilhamento aberto.

  7. Copie o link de ativação.

    Como alternativa, o senhor pode obter o link de ativação mais tarde. Veja o passo 2: Obter o link de ativação.

  8. (Opcional) Crie propriedades personalizadas para o destinatário.

    No recipient Details (Detalhes do destinatário) tab, clique em Edit properties (Editar propriedades) > +Add property (Adicionar propriedade). Em seguida, adicione um nome de propriedade(chave) e Value (valor). Para obter detalhes, consulte gerenciar propriedades do destinatário.

Execute o seguinte comando em um Notebook ou no editor de consultas Databricks SQL:

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

O senhor também pode adicionar propriedades personalizadas para o destinatário. Para obter detalhes, consulte gerenciar propriedades do destinatário.

execute o seguinte comando usando o Databricks CLI.

databricks recipients create <recipient-name>

O senhor 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 o senhor compartilha com o destinatário.

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

Observação

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

Conceder ao destinatário acesso a um compartilhamento

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

Para conceder acesso de compartilhamento aos destinatários, o senhor pode usar o Catalog Explorer, o Databricks Unity Catalog CLI, ou o comando GRANT ON SHARE SQL em um Databricks Notebook ou o editor de consultas Databricks SQL.

Permissões necessárias: Uma das seguintes:

  • Administrador da metastore.

  • Permissões ou propriedade delegadas nos objetos de compartilhamento e de 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 aos compartilhamentos de dados do Delta Sharing (para provedores).

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

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

  • Para o Databricks-to-Databricks compartilhamento, o senhor envia um link com instruções para acessar os dados que está compartilhando.

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

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

    O senhor pode fazer o download do arquivo de credenciais apenas uma vez. Os destinatários devem tratar a credencial de downloads como um segredo e não devem compartilhá-la fora de sua organização. Se o senhor tiver dúvidas de que uma credencial possa ter sido manuseada de forma insegura, poderá alternar a credencial de um destinatário a qualquer momento. Para obter mais informações sobre o gerenciamento de credenciais para garantir o acesso seguro do destinatário, consulte Considerações de segurança para tokens.

Ver recipientes

Para view uma lista de destinatários, o senhor pode usar o Catalog Explorer, o Databricks Unity Catalog CLI, ou o comando SHOW RECIPIENTS SQL em um Databricks Notebook ou o editor de consultas Databricks SQL.

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

  1. No seu workspace do Databricks, clique em Ícone de catálogo Catálogo.

  2. Na parte superior do painel Catálogo, clique no ícone de engrenagem ícone de engrenagem e selecione Delta Sharing.

    Como alternativa, na página de acesso rápido, clique no botão Delta Sharing >.

  3. Em Shared by me (Compartilhado por mim ) tab, clique em Recipients (Destinatários).

Execute o seguinte comando em um Notebook ou no editor de consultas Databricks SQL. Opcionalmente, substitua <pattern> por um predicado `LIKE`.

SHOW RECIPIENTS [LIKE <pattern>];

execute o seguinte comando usando o Databricks CLI.

databricks recipients list

Ver detalhes do destinatário

Para view detalhes sobre um destinatário, o senhor pode usar o Catalog Explorer, o Databricks Unity Catalog CLI, ou o comando DESCRIBE RECIPIENT SQL em um Databricks Notebook ou o editor de consultas Databricks SQL.

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

Os detalhes incluem:

  • O criador do destinatário, o registro de data e hora da 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 dos tokens, o link de ativação, o status de ativação (se a credencial foi baixada) e as listas de acesso IP, se atribuídas.

  • Se o destinatário usar o Databricks-to-Databricks compartilhamento: o cloud, a região e o ID do metastore do Unity Catalog metastore do destinatário, bem como o status de ativação.

  • Propriedades do destinatário, incluindo propriedades personalizadas. Consulte gerenciar propriedades do destinatário.

  1. No seu workspace do Databricks, clique em Ícone de catálogo Catálogo.

  2. Na parte superior do painel Catálogo, clique no ícone de engrenagem ícone de engrenagem e selecione Delta Sharing.

    Como alternativa, na página de acesso rápido, clique no botão Delta Sharing >.

  3. Em Shared by me (Compartilhado por mim ) tab, clique em Recipients (Destinatários) e selecione o destinatário.

Execute o seguinte comando em um notebook ou no editor de consultas SQL do Databricks.

DESCRIBE RECIPIENT <recipient-name>;

execute o seguinte comando usando o Databricks CLI.

databricks recipients get <recipient-name>

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

Para view a lista de compartilhamentos aos quais um destinatário recebeu acesso, o senhor pode usar o Catalog Explorer, o Databricks CLI, ou o comando SHOW GRANTS TO RECIPIENT SQL em um Databricks Notebook ou o editor de consultas Databricks SQL.

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

  1. No seu workspace do Databricks, clique em Ícone de catálogo Catálogo.

  2. Na parte superior do painel Catálogo, clique no ícone de engrenagem ícone de engrenagem e selecione Delta Sharing.

    Como alternativa, na página de acesso rápido, clique no botão Delta Sharing >.

  3. Em Shared by me (Compartilhado por mim ) tab, clique em Recipients (Destinatários) e selecione o destinatário.

  4. Acesse Shares (Ações ) tab para view a lista de ações compartilhadas com o destinatário.

Execute o seguinte comando em um notebook ou no editor de consultas SQL do Databricks.

SHOW GRANTS TO RECIPIENT <recipient-name>;

execute o seguinte comando usando o Databricks CLI.

databricks recipients share-permissions <recipient-name>

Atualizar um destinatário

Para atualizar um destinatário, o senhor pode usar o Catalog Explorer, o Databricks Unity Catalog CLI, ou o comando ALTER RECIPIENT SQL em um Databricks Notebook ou o editor de consultas Databricks SQL.

As propriedades que o senhor pode atualizar incluem o nome do destinatário, o proprietário, o comentário e as propriedades personalizadas.

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

  1. No seu workspace do Databricks, clique em Ícone de catálogo Catálogo.

  2. Na parte superior do painel Catálogo, clique no ícone de engrenagem ícone de engrenagem e selecione Delta Sharing.

    Como alternativa, na página de acesso rápido, clique no botão Delta Sharing >.

  3. Em Shared by me (Compartilhado por mim ) tab, clique em Recipients (Destinatários) e selecione o destinatário.

  4. Na página de detalhes do destinatário:

    • Atualizar o proprietário.

    • Editar ou adicionar um comentário.

    • Renomear o destinatário.

      Clique no menu Menu Kebab kebab e selecione Rename (Renomear).

    • Editar, remover ou adicionar propriedades personalizadas do destinatário.

      Clique em Edit properties (Editar propriedades). Para adicionar uma propriedade, clique em +Add property e digite um nome de propriedade(chave) e Value. Para obter detalhes, consulte gerenciar propriedades do destinatário.

Execute um ou mais dos seguintes comandos em um Notebook 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ários.

Crie um arquivo JSON que inclua uma atualização do 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 o Databricks CLI. 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ários.

Gerenciar destinatário tokens (compartilhamento aberto)

Se o senhor estiver compartilhando dados com um destinatário usando o compartilhamento aberto, talvez seja necessário girar os tokens desse destinatário. A rotação de tokens consiste em definir a expiração de um token existente e substituí-lo por um novo token e URL de ativação.

O senhor deve alternar os tokens de um destinatário e gerar um novo URL de ativação nas seguintes circunstâncias:

  • Quando os tokens de destinatário existentes estão prestes a expirar.

  • Se um destinatário perder sua URL de ativação ou se ela for comprometida.

  • Se a credencial for corrompida, perdida ou comprometida após ser baixada por um destinatário.

  • Quando o senhor modifica o tempo de vida dos tokens de destinatário de um metastore. Consulte Modificar o tempo de vida dos tokens do 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 rotacionado. Os tokens rotacionados são aqueles que foram definidos para expirar e serem substituídos pelos tokens ativos. Até que os tokens girados expirem, a tentativa de girar os tokens novamente resulta em um erro.

Ao girar os tokens de um destinatário, o senhor pode, opcionalmente, definir --existing-token-expire-in-seconds como o número de segundos antes da expiração dos tokens do destinatário existente, ou seja, o que será girado. Se o senhor definir o valor como 0, os tokens de destinatário existentes expiram imediatamente.

A Databricks recomenda que o senhor defina --existing-token-expire-in-seconds como um período relativamente curto que dê à organização destinatária tempo para acessar o novo URL de ativação e, ao mesmo tempo, minimize o tempo em que o destinatário tem dois tokens ativos. Se o senhor suspeitar que os tokens de destinatário existentes estão comprometidos, o site Databricks recomenda forçá-los a expirar imediatamente.

Se a URL de ativação existente de um destinatário nunca tiver sido acessada, a rotação dos tokens existentes invalida essa URL de ativação e a substitui por uma nova.

Se todos os destinatários tokens tiverem expirado, a rotação dos tokens substitui o URL de ativação existente por um novo. Databricks recomenda que o senhor desative ou elimine imediatamente um destinatário cujos tokens tenham expirado.

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

  1. Revogar o acesso do destinatário ao compartilhamento.

  2. Gire o destinatário e defina --existing-token-expire-in-seconds como 0.

  3. Compartilhe o novo URL de ativação com o destinatário pretendido por meio 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 os tokens do destinatário, o senhor pode soltar e recriar o destinatário.

Girar os tokens de um destinatário

Para girar os tokens de um destinatário, o senhor pode usar o Catalog Explorer ou o site Databricks Unity Catalog CLI.

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

  1. No seu workspace do Databricks, clique em Ícone de catálogo Catálogo.

  2. No painel esquerdo, expanda o menu Delta Sharing e selecione Shared by me (Compartilhado por mim).

  3. Na parte superior do painel Catálogo, clique no ícone de engrenagem ícone de engrenagem e selecione Delta Sharing.

    Como alternativa, na página de acesso rápido, clique no botão Delta Sharing >.

  4. Em Shared by me (Compartilhado por mim ) tab, clique em Recipients (Destinatários) e selecione o destinatário.

  5. No site Details tab, em Tokens Expiration (Expiração de tokens), clique em Rotate (Girar).

  6. Na caixa de diálogo Rotate tokens (Rodar tokens ), defina os tokens para expirar imediatamente ou por um período de tempo definido. Para obter orientação sobre quando expirar os tokens existentes, consulte Considerações de segurança para tokens.

  7. Clique em Rotate (Girar).

  8. No site Details tab, copie o novo link de ativação e compartilhe-o com o destinatário por meio de um canal seguro. Veja o passo 2: Obter o link de ativação.

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

    • <recipient-name>: o nome do destinatário.

    • <expiration-seconds>: O número de segundos até a expiração dos tokens de destinatário existentes. Durante esse período, os tokens existentes continuarão funcionando. Um valor de 0 significa que os tokens existentes expiram imediatamente. Para obter orientação sobre quando expirar os 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 por meio de um canal seguro. Veja o passo 2: Obter o link de ativação.

Modificar o tempo de vida dos tokens do destinatário

Se o senhor precisar modificar o tempo de vida dos tokens do destinatário do default para o seu Unity Catalog metastore, poderá usar o Catalog Explorer ou o Databricks Unity Catalog CLI.

Observação

O tempo de vida dos tokens de destinatário para os destinatários existentes não é atualizado automaticamente quando o senhor altera o tempo de vida dos tokens de destinatário do default para um metastore. Para aplicar o novo tempo de vida dos tokens a um determinado destinatário, o senhor deve girar os tokens. Consulte gerenciar destinatário tokens (compartilhamento aberto).

Permissões necessárias: administrador da conta.

  1. Faça login no consoleaccount .

  2. Na barra lateral, clique em Ícone de catálogo Catalog.

  3. Clique no nome do metastore.

  4. Em Delta Sharing recipient tokens lifetime, clique em Edit.

  5. Habilitar Definir expiração.

  6. Digite um número de segundos, minutos, horas ou dias e selecione a unidade de medida.

  7. Clique em Salvar.

Se o senhor desativar a opção Definir expiração, os tokens de destinatário não expiram. A Databricks recomenda que o senhor configure os tokens para expirar.

execute o seguinte comando usando o Databricks CLI. Substitua 12a345b6-7890-1cd2-3456-e789f0a12b34 pelo UUID do metastore e substitua 86400 pelo número de segundos antes da expiração dos tokens do destinatário. Se o senhor definir esse valor como 0, os tokens de destinatário não expiram. A Databricks recomenda que o senhor 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 do destinatário usando listas de acesso

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

Gerenciar propriedades de destinatários

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

  • Compartilhe diferentes partições de tabela com diferentes destinatários, permitindo que o senhor use os mesmos compartilhamentos com vários destinatários, mantendo os limites de dados entre eles.

  • Compartilhe a visualização dinâmica que limita o acesso do destinatário aos dados da tabela no nível da linha ou da coluna com base nas propriedades do destinatário.

O senhor também pode criar propriedades personalizadas.

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

  • databricks.accountId: O Databricks account ao qual um destinatário de dados pertence (somenteDatabricks-to-Databricks compartilhamento).

  • databricks.metastoreId: O Unity Catalog metastore ao qual um destinatário de dados pertence (somenteDatabricks-to-Databricks compartilhamento).

  • databricks.name: O nome do destinatário dos dados.

As propriedades personalizadas que podem ser valiosas podem incluir, por exemplo, country. Por exemplo, se o senhor anexar a propriedade personalizada 'country' = 'us' a um destinatário, poderá particionar os dados da tabela por país e compartilhar apenas as linhas que têm dados dos EUA com os destinatários que têm essa propriedade atribuída. O senhor também pode compartilhar um view dinâmico que restringe o acesso a linhas ou colunas com base nas propriedades do destinatário. Para obter exemplos mais detalhados, consulte Use recipient properties to do partition filtering e Add dynamic view to a share to filter rows and columns.

Requisitos

As propriedades do destinatário têm suporte no Databricks Runtime 12.2e acima.

Adicionar propriedades quando o senhor cria ou atualiza um destinatário

O senhor pode adicionar propriedades ao criar um destinatário ou atualizá-las para um destinatário existente. O senhor pode usar o Catalog Explorer, o Databricks Unity Catalog CLI, ou SQL comando em um Databricks Notebook ou o editor de consultas Databricks SQL.

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

Quando o senhor criar ou atualizar um destinatário usando o Catalog Explorer, adicione ou atualize as propriedades personalizadas fazendo o seguinte

  1. Vá para a página de detalhes do destinatário.

    Se estiver criando um novo destinatário, o senhor chegará a essa página depois de clicar em Criar. Se o senhor estiver atualizando um destinatário existente, acesse essa página clicando no ícone de engrenagem ícone de engrenagem > Delta Sharing > Shared by me > Recipients e selecione o destinatário.

  2. Clique em Edit properties (Editar propriedades) > +Add property (Adicionar propriedade).

  3. Digite um nome de propriedade(chave) e Value (valor).

    Por exemplo, se o senhor quiser filtrar os dados compartilhados por país e compartilhar somente dados dos EUA com esse destinatário, poderá criar um key chamado "country" com o valor "US".

  4. Clique em Salvar.

Para adicionar uma propriedade personalizada ao criar um destinatário, execute o seguinte comando em um Notebook 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 de cadeia de caracteres ou um identificador. <property-value> deve ser um literal de cadeia de caracteres.

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 ações:

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

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

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

  • <recipient-name>: O nome do destinatário.

  • <property-key> pode ser um literal de cadeia de caracteres ou um identificador.

  • <property-value> deve ser um literal de cadeia de caracteres.

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 de 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 view propriedades do destinatário, siga as instruções em view recipient details (ver detalhes do destinatário).

Excluir um destinatário

Para excluir um destinatário, o senhor pode usar o Catalog Explorer, o Databricks Unity Catalog CLI, ou o comando DROP RECIPIENT SQL em um Databricks Notebook ou o editor de consultas Databricks SQL. O senhor deve ser o proprietário do objeto destinatário para excluir o destinatário.

Quando o senhor exclui um destinatário, os usuários representados por ele 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 destinatário.

  1. No seu workspace do Databricks, clique em Ícone de catálogo Catálogo.

  2. Na parte superior do painel Catálogo, clique no ícone de engrenagem ícone de engrenagem e selecione Delta Sharing.

    Como alternativa, na página de acesso rápido, clique no botão Delta Sharing >.

  3. Em Shared by me (Compartilhado por mim ) tab, clique em Recipients (Destinatários) e selecione o destinatário.

  4. Em Recipients (Destinatários ) tab, localize e selecione o destinatário.

  5. Clique no menu Menu Kebab kebab e selecione Delete (Excluir).

  6. Na caixa de diálogo de confirmação, clique em Excluir.

Execute o seguinte comando em um notebook ou no editor de consultas SQL do Databricks.

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

execute o seguinte comando usando o Databricks CLI.

databricks recipients delete <recipient-name>