CREATE PACKAGES POLICY

Crée une nouvelle politique de paquets ou remplace une politique de paquets existant.

Après avoir créé une politique de paquets, appliquez la politique de paquets à votre compte Snowflake à l’aide d’une instruction ALTER ACCOUNT.

Syntaxe

CREATE [ OR REPLACE ] PACKAGES POLICY [ IF NOT EXISTS ] <name>
  LANGUAGE PYTHON
  [ ALLOWLIST = ( [ '<packageSpec>' ] [ , '<packageSpec>' ... ] ) ]
  [ BLOCKLIST = ( [ '<packageSpec>' ] [ , '<packageSpec>' ... ] ) ]
  [ ADDITIONAL_CREATION_BLOCKLIST = ( [ '<packageSpec>' ] [ , '<packageSpec>' ... ] ) ]
  [ COMMENT = '<string_literal>' ]
Copy

Paramètres requis

name

Indique l’identificateur (c’est-à-dire le nom) de la politique de paquets ; il doit être unique pour le schéma dans lequel le paquet est créé.

De plus, l’identificateur doit commencer par un caractère alphabétique et ne peut pas contenir d’espaces ou de caractères spéciaux à moins que toute la chaîne d’identificateur soit délimitée par des guillemets doubles (par exemple, "My object"). Les identificateurs entre guillemets doubles sont également sensibles à la casse.

Pour plus de détails, voir Exigences relatives à l’identificateur.

LANGUAGE PYTHON

Spécifie la langue à laquelle cette politique de paquets s’appliquera.

Paramètres facultatifs

ALLOWLIST = ( [ 'packageSpec' ] [ , 'packageSpec' ... ] )

Spécifie une liste de spécifications de paquets autorisées.

Par défaut : ('*') (c’est-à-dire autoriser tous les paquets).

BLOCKLIST = ( [ 'packageSpec' ] [ , 'packageSpec' ... ] )

Spécifie une liste de spécifications de paquets bloquées. Pour désactiver ce paramètre, indiquez une liste vide.

Par défaut : () (c’est-à-dire ne bloquer aucun paquet).

ADDITIONAL_CREATION_BLOCKLIST = ( [ 'packageSpec' ] [ , 'packageSpec' ... ] )

Spécifie une liste de spécifications de paquets bloquées au moment de la création. Pour désactiver ce paramètre, indiquez une liste vide. Si ADDITIONAL_CREATION_BLOCKLIST est défini, il est ajouté à la BLOCKLIST de base au moment de la création. Pour les UDFs temporaires et les procédures stockées anonymes, le ADDITIONAL_CREATION_BLOCKLIST est ajouté à la BLOCKLIST de base au moment de la création et de l’exécution.

Par défaut : () (c’est-à-dire ne bloquer aucun paquet).

COMMENT = 'string_literal'

Ajoute un commentaire ou remplace un commentaire existant pour la politique de paquets.

Exigences en matière de contrôle d’accès

Un rôle utilisé pour exécuter cette commande SQL doit avoir les privilèges suivants définis au minimum ainsi :

Privilège

Objet

Remarques

CREATE PACKAGES POLICY

Schéma

Notez que l’exploitation d’un objet dans un schéma requiert également le privilège USAGE sur la base de données et le schéma parents.

Pour obtenir des instructions sur la création d’un rôle personnalisé avec un ensemble spécifique de privilèges, voir Création de rôles personnalisés.

Pour des informations générales sur les rôles et les privilèges accordés pour effectuer des actions SQL sur des objets sécurisables, voir Aperçu du contrôle d’accès.

Notes sur l’utilisation

  • Concernant les métadonnées :

    Attention

    Les clients doivent s’assurer qu’aucune donnée personnelle (autre que pour un objet utilisateur), donnée sensible, donnée à exportation contrôlée ou autre donnée réglementée n’est saisie comme métadonnée lors de l’utilisation du service Snowflake. Pour plus d’informations, voir Champs de métadonnées dans Snowflake.

Exemples

Créez une politique de paquets pour votre compte actuel :

CREATE PACKAGES POLICY yourdb.yourschema.packages_policy_prod_1
  LANGUAGE PYTHON
  ALLOWLIST = ('numpy', 'pandas==1.2.3', ...)
  BLOCKLIST = ('numpy==1.2.3', 'bad_package', ...)
  COMMENT = 'Packages policy for the prod_1 environment';
Copy