Solicitação de acesso a 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.

Autorização de acesso a objetos

Quando um provedor define uma referência a um objeto na conta do consumidor que está fora do objeto APPLICATION, há duas maneiras de um consumidor criar referências nesses objetos e associá-los ao aplicativo.

  • Se um provedor implementar uma interface de usuário com Python Permission SDK, o consumidor usará Snowsight para associar as referências aos objetos exigidos pelo aplicativo. Consulte Gerenciamento de solicitações de acesso usando o Snowsight

  • Se um provedor não implementar uma interface de usuário, o consumidor deverá criar manualmente a referência e associá-la ao Snowflake Native App.