Pular para o conteúdo principal

Contrato de acesso.

Os contratos de acesso descrevem a segurança do catálogo. Mantenha-os separados da ingestão normal porque concessões, filtros de linha e máscaras de coluna geralmente exigem um caminho de aprovação diferente e privilégios mais fortes.

Exemplo completo

_metadata:
contract_version: 1.0.0

access_policy:
mode: validate_only
on_drift: warn
revoke_unmanaged: false
grants:
- principal: account users
privileges: [SELECT]
- principal: data-platform
privileges: [SELECT, MODIFY]
row_filters:
- name: region_filter
function: main.security.filter_region
columns: [region]
applies_to:
principals: [regional-managers]
column_masks:
- column: email
function: main.security.mask_email
using_columns: [email]
applies_to:
principals: [analysts]

Em modo bundle, o *.ingestion.yaml correspondente define o target da tabela. Não coloque target no arquivo de acesso, a menos que você queira uma verificação explícita de compatibilidade.

Campos

CampoTipoPadrãoUsar
_metadataobjetoMetadados de arquivo para auditoria e verificações de pacotes.
targetobjetoopcionalVerificação de compatibilidade opcional com relação ao destino de ingestão.
access_policy.modeapply | validate_only | ignoreapplySe o acesso deve ser aplicado, apenas validado ou ignorado.
access_policy.on_driftfail | warn | reconcilewarnComportamento quando as subvenções reais diferem das subvenções declaradas.
access_policy.revoke_unmanagedbooleanofalsoSe as subvenções não geridas podem ser revogadas durante a reconciliação.
mode, on_drift, revoke_unmanagedo mesmo que políticamesmoAliases de nível superior para contratos compactos.
grantslista[objeto][]Subsídios declarados.
grants[].principalstringobrigatórioEntidade de catálogo, usuário ou grupo.
grants[].privilegesstring | lista[string]obrigatórioPrivilégios como SELECT, MODIFY, MANAGE, READ FILES, WRITE FILES, EXECUTE ou ALL PRIVILEGES.
row_filterslista[objeto][]Filtros de linha do Catálogo Unity.
row_filters[].namestringobrigatórioNome da regra lógica.
row_filters[].functionstring qualificadaobrigatórioFunção de filtro totalmente qualificada, por exemplo catalog.schema.function.
row_filters[].columnsstring | lista[string]obrigatórioColunas passadas para a função de filtro.
row_filters[].applies_to.principalsstring | lista[string][]Princípios associados à regra para contexto de documentação/desvio.
column_maskslista[objeto] | objeto[]Máscaras de coluna do Catálogo Unity. O formulário do objeto é codificado pelo nome da coluna.
column_masks[].columnstringobrigatório em forma de listaColuna mascarada.
column_masks[].functionstring qualificadaobrigatórioFunção de máscara totalmente qualificada.
column_masks[].using_columnsstring | lista[string][]Colunas passadas para a função de máscara.
column_masks[].applies_to.principalsstring | lista[string][]Princípios associados à regra para contexto de documentação/desvio.

Aplicar fluxo de trabalho

A ingestão normal não deve exigir privilégios de gerenciamento de acesso. Use um fluxo de trabalho dedicado para verificações de acesso e aplicação.

contractforge validate-access contracts/silver/s_customers
contractforge governance-check contracts/silver/s_customers
contractforge apply-access contracts/silver/s_customers