Compartilhamento declarativo em Native Apps: Limitações¶
O compartilhamento declarativo é um recurso dos Snowflake Native Apps que permite que os provedores rapidamente definam e compartilhem objetos em vários bancos de dados usando um arquivo de configuração YAML simples. Embora esse recurso simplifique significativamente os fluxos de trabalho de compartilhamento de dados, ele tem limitações que os provedores devem entender antes de implementar.
Tipos de objetos suportados¶
O compartilhamento declarativo oferece suporte a estes tipos de objetos:
Tabelas
Exibições seguras (incluindo exibições materializadas)
Notebooks
O compartilhamento declarativo em Native Apps não oferece suporte para outros tipos de objetos.
Limitações de notebooks¶
- Read-only for consumers
Os consumidores não podem editar os notebooks do provedor no local nem cloná-los.
- Network access
Os notebooks não podem acessar pontos de extremidade externos ou dados de consumidores ao serem executados em contas de clientes.
- Specialized libraries
Não há garantia de que bibliotecas geoespaciais e outras de terceiros funcionarão nos notebooks sem adaptações.
- External dependencies
Os aplicativos de compartilhamento declarativo têm suporte limitado para bibliotecas externas (canal Snowflake Anaconda e arquivos Python em estágio de código).
- Execução não interativa
Notebooks que fazem parte de aplicativos nativos não podem ser executados de forma não interativa por planilhas ou SQL Comandos.
Segurança e controle de acesso¶
- Role definition
Todas as funções de aplicativo referenciadas no conteúdo compartilhado devem ser predefinidas no campo
rolesdo manifesto.- Object-level Roles
As funções de objeto devem ser subconjuntos de suas funções do esquema pai.
- Missing role validation
A validação do manifesto retornará um erro se as funções referenciadas na configuração de compartilhamento não existirem.
- Minimum privileges
A função de provedor que confirma o arquivo
shared_content.yamldeve ter pelo menos os mesmos privilégios que os concedidos aos consumidores para os objetos compartilhados.- No REFERENCE_USAGE required
Ao contrário do compartilhamento de dados tradicional, os provedores não precisam conceder privilégios de REFERENCE_USAGE para o pacote de aplicativo.
Migração e compatibilidade¶
- Declarative Sharing migration
O suporte de migração para mudar de compartilhamentos de dados para compartilhamento declarativo em Native Apps não está disponível.
Restrições de configuração e nomeação¶
- No wildcards
Os nomes dos objetos devem ser especificados de forma explícita; não há suporte para a correspondência por curinga ou expressão regular.
- Name collision prevention
Dois objetos compartilhados não podem ter o mesmo DOMAIN e nome.
- Schema mapping
Não há suporte para o mapeamento de esquema. Não é permitido sobrepor nomes de esquemas de vários bancos de dados.
Monitoring¶
- Auditoria
Declarative Native Apps não fornecem recursos de monitoramento (como trilhas de auditoria) para permitir que o provedor receba informações do consumidor sobre como os dados compartilhados estão sendo usados. Se um consumidor tiver requisitos de conformidade ou regulatórios que exijam auditoria, ele deverá trabalhar com o provedor para implementar suas próprias soluções de monitoramento.