Demande de privilèges sur un compte de consommateur

Cette rubrique fournit des informations générales sur la manière dont les fournisseurs peuvent demander des privilèges après qu’un consommateur a installé une Snowflake Native App.

À propos des privilèges et des références dans une Snowflake Native App

Dans une Snowflake Native App simple, tous les objets nécessaires sont créés à l’intérieur de l’objet APPLICATION lorsque le script d’installation est exécuté pendant l’installation. Dans ce contexte, tous les objets requis par une Snowflake Native App sont créés et accessibles dans l’application installée. Le consommateur n’est pas tenu d’accorder des privilèges à l”Snowflake Native App. Tous les privilèges nécessaires sont gérés à l’aide de rôles d’application.

Cependant, une Snowflake Native App plus complexe peut avoir besoin de créer de nouveaux objets ou d’accéder à des objets existants dans le compte du consommateur qui sont en dehors de l’objet APPLICATION qui est créé dans le compte du consommateur. Dans ces contextes, le consommateur doit accorder les privilèges nécessaires pour créer ces objets ou y accéder.

Le Snowflake Native App Framework permet aux fournisseurs d’effectuer les opérations suivantes :

  • Vérifier si le compte du consommateur dispose de privilèges au niveau du compte.

  • Demander des privilèges au niveau du compte pour effectuer des tâches, par exemple créer une base de données.

  • Demander des privilèges au niveau de l’objet en utilisant des références.

Les fournisseurs peuvent concevoir une Snowflake Native App pour demander l’accès à un compte consommateur en demandant ce qui suit :

Privilèges globaux

Inclure des privilèges qui permettent à l”Snowflake Native App d’effectuer des tâches dans le compte consommateur. Reportez-vous à Privilèges que le fournisseur peut demander au consommateur pour plus de détails.

Références

Permettre à l”Snowflake Native App d’accéder à des objets qui existent déjà dans le compte consommateur mais qui ne se trouvent pas dans l’objet APPLICATION. Un fournisseur définit les références nécessaires à l”Snowflake Native App. Une fois l’application installée, le consommateur associe un objet de son compte à l’application en fournissant le nom et le schéma de l’objet requis.

Les références permettent au fournisseur d’écrire du code en donnant un nom logique à un objet. Il est ainsi plus facile d’écrire du code sans avoir à se soucier du nom de l’objet ni de son schéma parent ou de la base de données.

Comment un consommateur accorde-t-il un accès à une Snowflake Native App

Pour chaque vérification ou demande effectuée par une Snowflake Native App, un consommateur doit accorder les privilèges nécessaires pour permettre à l’application d’effectuer ces actions. Un consommateur peut accorder ces privilèges à une Snowflake Native App de deux manières :

  • Le fournisseur utilise un SDK fourni par le Snowflake Native App Framework pour créer une interface utilisateur sous la forme d’une application Streamlit. L’application Streamlit permet au consommateur d’accorder les privilèges requis dans Snowsight. Cette approche exige du fournisseur qu’il effectue un travail supplémentaire pour implémenter l’interface, mais elle rationalise l’expérience du consommateur.

  • Le fournisseur demande au consommateur d’exécuter manuellement les commandes SQL pour accorder les privilèges requis après l’installation de l”Snowflake Native App. Cette approche exige que le fournisseur indique au consommateur les instructions GRANT <privilèges> qu’il doit exécuter.

    Il se peut que l”Snowflake Native App ne fonctionne pas tant que le consommateur n’a pas exécuté les commandes SQL. Cette approche nécessite une communication supplémentaire entre le fournisseur et le consommateur.