Demander l’accès aux objets d’un compte de consommateur

Cette rubrique fournit des informations générales sur la manière dont un fournisseur peut demander des privilèges ou l’accès à des objets dans le compte du consommateur après l’installation d’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 l’application sont créés et accessibles dans l’objet APPLICATION. Le consommateur n’est pas tenu de faire quoi que ce soit. Tous les privilèges nécessaires sont gérés par l’application à 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. Dans ce cas, le consommateur doit accorder les privilèges nécessaires ou autoriser l’accès pour permettre à la Snowflake Native App de créer ces objets ou d’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.

  • Utilisez des références pour accéder à des objets existants dans le compte du consommateur.

Les fournisseurs demandent l’accès à un compte consommateur en demandant ce qui suit :

Privilèges globaux

Les privilèges globaux permettent à la Snowflake Native App d’effectuer des actions sur le compte du consommateur. Reportez-vous à Privilèges que le fournisseur peut demander au consommateur pour plus de détails.

Références

Les références permettent à l’application d’accéder à des objets existants dans le compte du consommateur. Un fournisseur définit les références que l’application demande dans le fichier manifest.yml.

Après l’installation, le consommateur autorise l’accès à l’objet en fournissant une référence créée avec le nom pleinement qualifié de l’objet.

Les références permettent à l’application d’accéder à des objets en utilisant un nom logique. Une référence permet à un fournisseur de créer l’application sans avoir à connaître le nom spécifique de l’objet ou de sa base de données parent et de son schéma.

Voir les références pour plus d’informations.

Comment un consommateur autorise l’accès à une Snowflake Native App

Pour chaque demande d’accès que le fournisseur définit dans l’application, le consommateur doit autoriser l’accès à l’application. La manière dont un consommateur autorise l’accès est différente pour les privilèges globaux et les références.

Accorder des privilèges globaux à une Snowflake Native App

Lorsqu’un fournisseur configure une application pour qu’elle demande des privilèges spécifiques ou l’accès à des objets spécifiques, le consommateur peut accorder ces privilèges à l’application de deux manières :

  • Si un fournisseur met en œuvre une interface utilisateur en utilisant Python Permission SDK, le consommateur utilise Snowsight pour accorder les autorisations demandées par l’application. Le Python Permission SDK exécute automatiquement les instructions GRANT requises sur le compte du consommateur.

  • Si un fournisseur n’implémente pas d’interface utilisateur, il doit communiquer au consommateur les privilèges requis par l’application. Par exemple, le fournisseur doit communiquer au consommateur des informations sur les instructions SQL que le consommateur doit exécuter pour accorder les privilèges nécessaires à l’application.

    Snowflake recommande d’inclure ces informations dans le fichier README de l’application, que le consommateur peut consulter dans l’annonce de la Snowflake Native App.

Autoriser l’accès à des objets

Lorsqu’un fournisseur définit une référence à un objet dans le compte du consommateur qui est en dehors de l’objet APPLICATION, le consommateur peut créer des références sur ces objets et les associer à l’application de deux manières.

  • Si un fournisseur met en œuvre une interface utilisateur avec le Python Permission SDK, le consommateur utilise Snowsight pour associer les références aux objets requis par l’application. Voir Gestion des demandes d’accès à l’aide de Snowsight

  • Si un fournisseur n’implémente pas d’interface utilisateur, le consommateur doit créer manuellement la référence, puis l’associer à la Snowflake Native App.