Solicitação de acesso a objetos em uma conta de consumidor¶
Este tópico fornece informações gerais sobre como um provedor pode solicitar privilégios ou acesso a objetos na conta do consumidor após a instalação de um Snowflake Native App.
Sobre privilégios e referências em um Snowflake Native App¶
Em um Snowflake Native App simples, todos os objetos necessários são criados dentro do objeto APPLICATION quando o script de configuração é executado durante a instalação. Neste contexto, todos os objetos exigidos pelo aplicativo são criados e acessíveis no objeto APPLICATION. O consumidor não é obrigado a realizar nenhuma ação. Todos os privilégios necessários são gerenciados pelo aplicativo usando funções de aplicativo.
No entanto, um Snowflake Native App mais complexo pode precisar criar novos objetos ou acessar objetos na conta do consumidor que estão fora do objeto APPLICATION. Neste caso, o consumidor deve conceder os privilégios necessários ou autorizar o acesso para permitir que o Snowflake Native App crie ou acesse esses objetos.
O Snowflake Native App Framework permite que os provedores façam o seguinte:
Verifique os privilégios no nível da conta na conta do consumidor.
Solicite privilégios de nível de conta para executar tarefas, por exemplo, criar um banco de dados.
Use referências para acessar objetos existentes na conta do consumidor.
Os provedores podem solicitar acesso a uma conta de consumidor solicitando o seguinte:
- Privilégios globais
Os privilégios globais permitem que Snowflake Native App execute ações na conta do consumidor. Consulte Privilégios que o provedor pode solicitar do consumidor para obter detalhes.
- Referências
Referências permitem que o aplicativo acesse objetos existentes na conta do consumidor. Um provedor define as referências que o aplicativo solicita no arquivo
manifest.yml
.Após a instalação, o consumidor permite acesso ao objeto fornecendo uma referência criada com o nome totalmente qualificado do objeto.
As referências permitem que o aplicativo acesse objetos usando um nome lógico. Uma referência permite que um provedor crie o aplicativo sem precisar saber o nome específico do objeto ou seu banco de dados pai e esquema.
Consulte as referências para obter mais informações.
Como um consumidor permite acesso a um Snowflake Native App¶
Para cada solicitação de acesso que o provedor define no aplicativo, o consumidor deve permitir o acesso ao aplicativo. A forma como um consumidor permite o acesso é diferente para privilégios e referências globais.
Concessão de privilégios globais a um Snowflake Native App¶
Quando um provedor configura um aplicativo para solicitar privilégios específicos ou acesso a objetos específicos, há duas maneiras de um consumidor conceder esses privilégios ao aplicativo:
Se um provedor implementar uma interface de usuário usando Python Permission SDK, o consumidor usará Snowsight para conceder as permissões solicitadas pelo aplicativo. O Python Permission SDK executa automaticamente as instruções GRANT necessárias na conta do consumidor.
Se um provedor não implementar uma interface de usuário, ele deverá comunicar ao consumidor quais privilégios o aplicativo exige. Por exemplo, o provedor deve comunicar ao consumidor informações sobre as instruções SQL que o consumidor deve executar para conceder os privilégios necessários ao aplicativo.
A Snowflake recomenda incluir essas informações no arquivo README do aplicativo, que o consumidor pode visualizar como parte da listagem do Snowflake Native App.