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. In your Databricks workspace, click Catalog icon Catalog.

  2. At the top of the Catalog pane, click the Gear icon gear icon and select Delta Sharing.

    Alternatively, from the Quick access page, click the Delta Sharing > button.

  3. On the Shared by me tab, click New recipient.

  4. Enter the Recipient name

  5. For Recipient type, select Open.

  6. Select Token.

  7. (Optional) Set the Token lifetime expiration time (in seconds, minutes, hours, or day from recipient creation time). Leave Set expiration selected to set an expiration time. Clear the selection to allow the token to live indefinitely.

    If you select Set expiration and leave the field blank, the token lifetime defaults to the recipient token lifetime value set in the metastore configuration. See Modify the recipient token lifetime. For information about changing the token lifetime and rotating tokens, see Manage recipient tokens.

  8. (Optional) Enter a comment.

  9. Click Create.

  10. Copy the activation link.

    Alternatively, you can get the activation link later. See Get the activation link.

  11. (Optional) Create custom Recipient properties.

    On the recipient Overview tab, click the Edit icon edit icon next to Recipient properties. Then add a property name (Key) and Value. For details, see Manage recipient properties.

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. In your Databricks workspace, click Catalog icon Catalog.

  2. At the top of the Catalog pane, click the Gear icon gear icon and select Delta Sharing.

    Alternatively, from the Quick access page, click the Delta Sharing > button.

  3. On the Shared by me tab, click Recipients, and select the recipient.

  4. On the recipient details page, copy the Activation link.

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. In your Databricks workspace, click Catalog icon Catalog.

  2. In the left pane, expand the Delta Sharing menu and select Shared by me.

  3. At the top of the Catalog pane, click the Gear icon gear icon and select Delta Sharing.

    Alternatively, from the Quick access page, click the Delta Sharing > button.

  4. On the Shared by me tab, click Recipients, and select the recipient.

  5. On the Details tab, under Token Expiration, click Rotate.

  6. On the Rotate token dialog, set the token to expire either immediately or for a set period of time. For advice about when to expire existing tokens, see Security considerations for tokens.

  7. Click Rotate.

  8. On the Details tab, copy the new Activation link and share it with the recipient over a secure channel. See Get the activation link.

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. Log in to the account console.
  2. In the sidebar, click Catalog icon Catalog.
  3. Click the metastore name.
  4. Under Delta Sharing recipient token lifetime, click Edit.
  5. Enable Set expiration.
  6. Enter a number of seconds, minutes, hours, or days, and select the unit of measure.
  7. Click Save.

If you disable Set expiration, recipient tokens do not expire. Databricks recommends that you configure tokens to expire.