Modelo de execução de aplicativo declarativo para consumidores¶
Quando você instala um Declarative Native App como consumidor, o Native App Framework isola o acesso aos dados e a execução do código do aplicativo em um ambiente controlado, impedindo que o aplicativo acesse dados ou afete os recursos na conta do consumidor.
O Native App Framework impõe limites de segurança no estilo sandbox para Declarative Native Apps, de modo que o aplicativo só possa acessar os dados incluídos no pacote dele. Isso garante que o aplicativo não possa acessar quaisquer outros dados, recursos de código ou recursos do sistema na conta do consumidor, proporcionando um ambiente seguro para executar o aplicativo e protegendo os ativos do consumidor.
Os limites de segurança para Declarative Native Apps são mais restritivos do que os de aplicativos do Native App Framework, que podem acessar recursos adicionais na conta do consumidor quando recebem as permissões apropriadas.
Objetos de código incorporados ao Declarative Native Apps¶
Os únicos objetos de código atualmente compatíveis com Declarative Native Apps são notebooks Snowflake. Atualmente, Declarative Native Apps não podem usar outros tipos de recursos de código para lógica, como Streamlits, procedimentos armazenados ou UDFs. Os objetos de código incorporados em um Declarative Native App só podem fazer o seguinte:
Acesse dados ou objetos de código de dentro do pacote do aplicativo.
Execute consultas, visualizações e funções nas tabelas e exibições expostas pelo pacote do aplicativo. O aplicativo tem acesso SELECT a essas tabelas, exibições e funções.
A lógica incorporada não pode fazer o seguinte:
Acessar outros produtos de dados na conta do consumidor.
Acessar outra lógica na conta do consumidor.
Acessar metadados sobre outros produtos de dados instalados na conta do consumidor.
Acessar recursos do sistema na conta do consumidor, como tabelas ou exibições. Por exemplo, executar
SHOW DATABASESouSHOW TABLESretorna apenas os bancos de dados e tabelas que fazem parte do pacote do aplicativo. Outros bancos de dados e tabelas na conta do consumidor não ficam visíveis para o aplicativo.Alterar os parâmetros ou configurações do sistema na conta do consumidor. Por exemplo, mudar o tamanho do warehouse ou modificar as funções do usuário.
Criar recursos ou integrações externas na conta do consumidor, como novos warehouses, bancos de dados, tabelas ou exibições que não façam parte do pacote do aplicativo.
Nota
O aplicativo usa o warehouse padrão da conta do usuário atual. Para mais informações sobre como criar um warehouse, consulte CREATE WAREHOUSE. Para informações sobre como definir um warehouse padrão para uma conta de usuário, consulte ALTER USER.