Pular para o conteúdo principal

Crie um objeto destinatário para usuários que não sejam da Databricks usando tokens de portador (compartilhamento aberto)

Este artigo descreve como criar destinatários Delta Sharing que não têm acesso a um Catálogo Unity habilitado Databricks workspace e conceder a esses destinatários acesso ao portador de dados de uso compartilhado com segurança tokens. Esse fluxo de autenticação, juntamente com o fluxo de autenticação da federação de tokens do OIDC, é chamado de compartilhamento aberto .

Veja como funciona:

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

  2. Quando você cria o objeto destinatário, seleciona o método de tokens de portador, o Databricks gera tokens, um arquivo de credenciais que inclui os tokens e um link de ativação para você compartilhar com o destinatário.

    O objeto destinatário tem o tipo de autenticação TOKEN. O senhor pode refresh e revogar os tokens conforme necessário.

  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 lhe dá acesso.

O fluxo de federação OIDC é uma alternativa ao fluxo de tokens de portador descrito neste artigo. Ele tem vantagens de segurança e conveniência em relação ao fluxo de tokens ao portador. Para obter detalhes, consulte Usar a federação Open ID Connect (OIDC) para habilitar a autenticação nos compartilhamentos do Delta Sharing (compartilhamento aberto).

Crie 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. Em seu site Databricks workspace, clique em Ícone de catálogo Catalog .

  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. Insira o nome do destinatário

  5. Em Tipo de destinatário , selecione Abrir .

  6. Selecione tokens .

  7. (Opcional) Defina o tempo de expiração do tempo de vida dos tokens (em segundos, minutos, horas ou dias a partir da hora de criação do destinatário). Deixe a opção Definir expiração selecionada para definir um prazo de validade. Limpe a seleção para permitir que os tokens sejam mantidos indefinidamente.

    Se o senhor selecionar Set expiration (Definir expiração ) e deixar o campo em branco, o tempo de vida dos tokens será padronizado para o valor da duração da vida definido na configuração do metastore. Consulte Modificar o tempo de vida dos tokens do destinatário. Para obter informações sobre como alterar o tempo de vida dos tokens e fazer o rodízio tokens, consulte gerenciar recipient tokens.

  8. (Opcional) Insira um comentário.

  9. Clique em Criar .

  10. Copie o link de ativação.

    Como alternativa, você pode obter o link de ativação posteriormente. Consulte Obter o link de ativação.

  11. (Opcional) Crie propriedades personalizadas do destinatário .

    Na visão geral do destinatário tab, clique no ícone de edição Ícone de edição ao lado de Recipient properties (Propriedades do destinatário ). Em seguida, adicione um nome de propriedade (chave ) e Value (valor ). Para obter detalhes, consulte gerenciar propriedades do 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 do destinatário do Delta Sharing usando listas de acesso IP (compartilhamento aberto).

Para obter o link de ativação do novo destinatário, o senhor pode usar o Catalog Explorer, o Databricks Unity Catalog CLI, ou o DESCRIBE RECIPIENT SQL comando em um Databricks Notebook ou o editor de consultas Databricks SQL.

Se o destinatário já tiver feito o download do arquivo de credencial, o link de ativação não será retornado ou exibido.

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

  1. Em seu site Databricks workspace, clique em Ícone de catálogo Catalog .

  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, copie o link de ativação .

Conceder ao destinatário acesso a um compartilhamento

Depois de criar o destinatário e criar os compartilhamentos, você 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 opções:

  • Administrador do Metastore.
  • Permissões ou propriedade delegadas no compartilhamento e nos objetos do 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. Use um canal seguro para compartilhar o link de ativação e um link para as 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 você tiver dúvidas 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 o gerenciamento de credenciais para garantir o acesso seguro do destinatário, consulte Considerações de segurança para tokens.

Gerenciar destinatário tokens

Se o senhor estiver compartilhando dados com um destinatário usando o fluxo de tokens de portador de 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 o URL de ativação ou se ele for comprometido.
  • 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. Revogue 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 o URL de ativação for acessado, 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. Em seu site Databricks workspace, clique em Ícone de catálogo Catalog .

  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 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. Consulte 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.

nota

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.

Permissões necessárias : administrador da conta.

  1. Faça login no consoleaccount.
  2. Na barra lateral, clique em Ícone de catálogo Catálogo .
  3. Clique no nome da metastore.
  4. Em Delta Sharing recipient tokens lifetime , clique em Edit .
  5. Ative Definir expiração .
  6. Insira 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.