Configurer les privilèges requis par une application¶
Cette rubrique décrit comment utiliser l’octroi automatique de privilèges pour demander des privilèges à un consommateur lors de l’installation ou de la mise à niveau d’une Snowflake Native App.
Vue d’ensemble de l’octroi automatique de privilèges¶
Souvent, une application doit créer ou accéder à des objets ou effectuer d’autres actions dans un compte de consommateur. Pour ce faire, le consommateur doit accorder les privilèges nécessaires pour permettre à l’application d’effectuer ces actions. Par exemple, les applications doivent disposer de privilèges pour effectuer les types de tâches suivants :
Créer et démarrer des entrepôts et des pools de calcul
Accéder aux données du compte consommateur.
Se connecter à des points de terminaison externes (en dehors de Snowflake)
En utilisant l’octroi automatisé de privilèges, les fournisseurs peuvent spécifier les privilèges requis dans le fichier manifeste d’une application. Lorsque le consommateur installe ou met à niveau une application, les privilèges spécifiés dans le fichier manifeste sont automatiquement accordés à l’application.
Prudence
Le fournisseur doit communiquer ces privilèges et leur impact potentiel afin qu’ils soient visibles pour le consommateur lors de l’évaluation et de l’installation de l’application. Une fois que les privilèges ont été automatiquement accordés lors de l’installation ou de la mise à niveau, ces privilèges ne peuvent plus être révoqués.
Demander des privilèges pour une application à l’aide de l’octroi automatique de privilèges¶
Les fournisseurs peuvent utiliser l’octroi automatique de privilèges pour spécifier les privilèges dont une application a besoin pour créer et utiliser des objets dans le compte de consommateur. L’octroi automatique de privilèges accorde les privilèges requis à l’application lorsque le consommateur installe ou met à niveau l’application.
Spécifier la version du fichier manifeste¶
Pour activer l’octroi automatique de privilèges pour une application, définissez la version au début du fichier manifeste, comme indiqué dans l’exemple suivant :
manifest_version: 2
Spécifier les privilèges dans le fichier manifeste¶
Pour spécifier les privilèges requis par l’application, les fournisseurs doivent les déclarer dans le fichier manifeste de l’application.
Note
Pour utiliser l’octroi automatique de privilèges, les fournisseurs doivent spécifier manifest_version: 2
.
L’exemple suivant montre comment spécifier le privilège CREATE WAREHOUSE dans le fichier manifeste :
manifest_version: 2
...
privileges:
- CREATE WAREHOUSE
description: "Allows the app to create warehouses in the consumer account"
Lorsqu’un consommateur installe l’application, le privilège CREATE WAREHOUSE est automatiquement accordé à l’application.
Prudence
Si un fournisseur modifie la propriété manifest_version
du fichier manifeste depuis 2
vers 1
, tous les privilèges automatiques sont révoqués de l’application lors de la mise à niveau. Si le consommateur a explicitement accordé des privilèges à l’application, ces privilèges restent inchangés.
Note
Les fournisseurs ne peuvent modifier la propriété manifest_version
que lors de mises à niveau importantes vers une nouvelle version de l’application. Le manifest_version
ne peut pas être modifié dans une version de correctif.
Créer les objets requis dans le script d’installation¶
En utilisant l’octroi automatique de privilèges, les fournisseurs peuvent ajouter les commandes SQL au script d’installation qui est utilisé pour créer et accéder à des objets dans le compte de consommateur.
L’exemple suivant montre comment créer un entrepôt dans le compte de consommateur :
CREATE OR REPLACE WAREHOUSE application_wh;
Cette commande crée un entrepôt nommé application_wh
dans le compte de consommateur. La fonctionnalité d’octroi automatique de privilèges permet à l’application de créer directement l’entrepôt. Le fournisseur n’a pas à ajouter une logique supplémentaire pour vérifier si le consommateur a accordé les privilèges requis.
Privilèges accordés par l’octroi automatique de privilèges¶
Les privilèges suivants sont pris en charge par l’octroi automatique de privilèges :
EXECUTE TASK
EXECUTE MANAGED TASK
CREATE WAREHOUSE
CREATE COMPUTE POOL
BIND SERVICE ENDPOINT
CREATE DATABASE
CREATE EXTERNAL ACCESS INTEGRATION
CREATE SECURITY INTEGRATION
Lorsqu’un fournisseur ajoute ces privilèges au fichier manifeste, ils sont automatiquement accordés à l’application lors de l’installation et de la mise à niveau.
Restrictions concernant le privilège CREATE EXTERNAL ACCESS INTEGRATION¶
Le privilège CREATE EXTERNAL ACCESS INTEGRATION permet à une application de créer une intégration d’accès externe dans le compte de consommateur. Toutefois, pour autoriser les connexions à un point de terminaison externe, les consommateurs doivent également approuver la spécification d’application qui permet à l’application de se connecter à des hôtes externes.
Pour plus d’informations, voir Utiliser les spécifications d’application pour demander des points de terminaison externes aux consommateurs.
Privilèges non accordés par l’octroi automatique de privilèges¶
Certains privilèges ne sont pas automatiquement accordés à l’application. Les consommateurs doivent accorder manuellement ces privilèges lors de l’installation ou de la mise à niveau d’une application. Par exemple, les privilèges suivants ne sont pas automatiquement accordés à l’application :
MANAGE WAREHOUSES
IMPORTED PRIVILEGES ON SNOWFLAKE DB
READ SESSION
EXECUTE ALERT
Utilisation de l’octroi automatique de privilèges lors des mises à niveau¶
Lors de la publication d’une nouvelle version d’une application, vous devrez peut-être ajouter ou supprimer les privilèges requis par l’application. Le script d’installation de la nouvelle version ou du correctif s’exécute à la fois avec les nouveaux privilèges automatiques spécifiés dans le fichier manifeste et les privilèges requis par la version précédente. Tous les privilèges superflus qui sont supprimés dans la nouvelle version sont révoqués une fois la mise à niveau de l’application terminée.
Pour assurer la stabilité lors des mises à niveau, lorsque la version du fichier manifeste est définie sur 2
, la liste des privilèges demandés dans le fichier manifeste ne peut pas être modifiée dans le cadre d’un correctif. Cela empêche les fournisseurs de perturber involontairement le fonctionnement des applications en supprimant les privilèges requis dans un correctif.