Pular para o conteúdo principal

Propagação de tags

info

Beta

Esse recurso está na versão beta. Para usá-la, um administrador do workspace precisa ativar a Propagação de tags na página Pré-visualizações . Consulte Gerenciar prévias do Databricks.

Esta página explica a propagação de tags, que aplica automaticamente uma tag controlada a tabelas e views derivadas de uma origem marcada com tag por meio de uma operação compatível. Para obter uma visão geral das tags controladas, consulte Tags controladas. Para habilitar a propagação de uma tag, consulte Habilitar a propagação de tags.

O que é propagação de tags?​

A propagação de tags copia uma tag controlada de uma tabela ou coluna de origem para as novas tabelas e views criadas a partir dela. Quando você faz uma execução de uma operação compatível, como CREATE TABLE AS SELECT, o Databricks identifica os objetos de origem com base na linhagem e aplica as tags controladas deles ao objeto criado ou atualizado pela operação.

Por exemplo, se uma coluna de origem tiver a tag pii com o valor ssn e uma tabela for criada a partir dela com CREATE TABLE AS SELECT, a propagação aplicará a mesma tag pii à coluna correspondente na nova tabela.

A propagação mantém as tags governadas consistentes à medida que os dados avançam downstream, para que não seja necessário marcar manualmente cada nova tabela e view. Isso é especialmente importante para o controle de acesso baseado em atributos (ABAC): quando uma tags é propagada para uma coluna derivada, uma política ABAC existente que corresponda a essa tags, como uma máscara de coluna, é aplicada aos dados derivados sem que ninguém precise adicionar tags à coluna primeiro.

A propagação se aplica somente a tags controladas, incluindo tags do sistema, e você a habilita individualmente para cada tag controlada.

Por que usar a propagação de tags?​

Ao criar uma nova tabela ou view a partir de uma fonte com tags, as tags governadas da fonte não são transferidas automaticamente. Sem propagação, cada objeto derivado precisa ser marcado novamente à mão, as tags ficam drift, e uma política ABAC que mascara uma coluna na fonte talvez não se aplique aos mesmos dados downstream.

A propagação de tags faz com que as tags governadas acompanhem os dados, para que você possa:

  • Marque a fonte uma vez. A Databricks aplica as tags governadas da fonte às tabelas e às views derivadas delas.
  • Imponha automaticamente políticas ABAC aos dados derivados. Quando uma tags governada é propagada para uma coluna derivada, uma política ABAC existente que corresponda a essa tags é aplicada imediatamente, sem que seja necessário tags primeiro a coluna derivada.

Como funciona a propagação de tags​

Depois que você habilita a propagação de uma tag governada, a Databricks propaga essa tag sempre que detecta uma operação compatível que deriva ou atualiza um objeto de destino a partir de uma ou mais fontes. A propagação é:

  • Por tag. A propagação fica desativada por default e é habilitada individualmente para cada tag controlada. Consulte Habilitar propagação de tags.
  • Baseado em linhagem. As tags seguem a linhagem registrada para uma operação compatível, tanto no nível da tabela quanto no da coluna.
  • Uma operação do sistema. Depois que uma tag é habilitada para propagação, o Databricks a propaga automaticamente. Isso não depende de nenhuma permissão que o usuário que executa a operação tenha no objeto derivado ou na tag governada.
  • Assíncrono. A propagação ocorre em segundo plano e não bloqueia a execução da query. Isso acontece pouco depois da conclusão da operação, portanto as tags propagadas geralmente aparecem no objeto derivado em poucos minutos.

Operações compatíveis​

A propagação de tags se aplica quando você executa uma das seguintes operações no compute serverless:

  • CREATE TABLE AS SELECT (CTAS)
  • CLONE (somente tags no nível da tabela)
  • CREATE VIEW, ALTER VIEW, e CREATE OR REPLACE VIEW
  • INSERT INTO ... SELECT
  • MERGE

As tags controladas se propagam nos níveis da tabela e da coluna:

  • As tags em nível de tabela de uma tabela de origem são propagadas para a tabela ou view derivada. Se uma tabela de origem tiver várias tags governadas, o objeto derivado receberá todas elas.
  • As tags no nível da coluna são propagadas para a coluna derivada correspondente. Por exemplo, uma coluna de origem marcada com pii e com o valor ssn propaga a mesma tag para a coluna correspondente na nova tabela.

Resolução de conflitos​

Ocorre um conflito quando um destino receberia a mesma key de tag governada com mais de um valor. Isso acontece quando várias fontes têm a mesma key de tag com valores diferentes ou quando o destino já tem essa key de tag atribuída com um valor diferente.

Por exemplo, se duas tabelas de origem tiverem sensitivity_level com valores diferentes, o Databricks tratará a propagação para uma tabela derivada como um conflito.

Quando ocorre um conflito, o Databricks aplica o valor default de propagação da tag . Um usuário com MANAGE na tag controlada define esse valor ao habilitar a propagação, o que permite que sua organização defina um comportamento determinístico, como sempre aplicar o nível de sensibilidade mais restritivo. Consulte Habilitar a propagação de tags.

Visibilidade da propagação​

As tags propagadas aparecem ao lado das tags atribuídas diretamente aos objetos do Unity Catalog no Catalog Explorer. Para cada atribuição de tag, é possível ver como a tag foi aplicada e distinguir uma tag propagada de uma que foi:

Permissões​

A propagação de tags usa o modelo existente de permissões para tags controladas e não introduz novas permissões.

Permissão

Papel na propagação

MANAGE em uma tag controlada

Habilite ou desabilite a propagação para a tag e defina seu valor default de propagação. MANAGE no nível da account concede isso para cada tags controladas na account.

ASSIGN em uma tag controlada

Não obrigatório. A propagação é uma operação do sistema e não depende de o usuário que faz a execução da operação ter ASSIGN.

Permissão

Papel na propagação

MANAGE em uma tag controlada

Habilite ou desabilite a propagação para a tag e defina seu valor default de propagação. MANAGE no nível da account concede isso para cada tags controladas na account.

ASSIGN em uma tag controlada

Não obrigatório. A propagação é uma operação do sistema e não depende de o usuário que faz a execução da operação ter ASSIGN.

Os account administradores têm MANAGE e ASSIGN em todas as tags controladas default. Consulte Gerenciar permissões em tags controladas.

A visualização de tags propagadas não exige uma permissão específica para propagação. As tags propagadas fazem parte dos metadados de um objeto. Portanto, qualquer privilégio que permita view as tags do objeto, como BROWSE, SELECT ou READ METADATA, também exibe as tags propagadas. Consulte Referência de privilégios do Unity Catalog.

Requisitos​

  • O workspace deve estar anexado a um metastore do Unity Catalog.
  • As tags controladas devem estar habilitadas no account.
  • As operações compatíveis devem ser executadas em compute serverless. O compute clássico não é suportado.
  • Um administrador do workspace precisa ativar a prévia Propagação de tags . Consulte Gerenciar prévias do Databricks.

Ativar a propagação de tags para uma tag governada​

Para habilitar a propagação de uma tag governada, é necessário ter MANAGE nessa tag. A propagação é configurada por tag; portanto, repita esses os passos para cada tag governada que deseja propagar.

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

  2. Clique no botão Ícone do Shield. Governar .

  3. No menu dropdown, clique em Tags governadas .

  4. Selecione a tag governada que você deseja propagar.

  5. Clique em Configurar para abrir a caixa de diálogo Configurar propagação de tags .

  6. Ative a opção Propagação de tags .

  7. Para uma tag com valores permitidos, selecione um valor de propagação default . O Databricks aplica esse valor quando a propagação resulta em um conflito.

    A caixa de diálogo Configurar propagação de tags, com a alternância Propagação de tags ativada e o dropdown do valor de propagação default aberto, exibindo os valores permitidos para a tag.

  8. Clique em Salvar .

nota

A propagação é assíncrona, mas ocorre pouco depois da conclusão de uma operação. Portanto, geralmente há apenas um breve atraso antes que as tags apareçam no objeto derivado. Durante esse breve intervalo, as políticas ABAC que fazem referência à tag propagada não são aplicadas ao objeto derivado até que a tag apareça.

Limitações​

A propagação de tags tem as seguintes limitações:

  • A propagação é assíncrona. A execução ocorre pouco depois da conclusão de uma operação; por isso, as tags propagadas geralmente aparecem em poucos minutos, mas as políticas ABAC que fazem referência a uma tag propagada não são aplicadas ao objeto derivado até que a tag apareça.
  • A propagação é compatível apenas com compute serverless. O compute clássico não é suportado.
  • Somente tags governadas, incluindo tags do sistema, são propagadas. Tags personalizadas e não governadas não são propagadas.
  • A propagação é compatível apenas com o tipo de objeto protegível de tabela, incluindo suas tags no nível da tabela e no nível da coluna. Os volumes e outros objetos protegíveis do Unity Catalog não são compatíveis.
  • A propagação não é compatível com tabelas de transmissão ou views materializadas criadas pelo Lakeflow Declarative Pipelines.
  • Um único objeto pode ter no máximo 50 tags, incluindo as tags propagadas. A propagação não excede esse limite.

Mais recursos​