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>' ]
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 d’informations, 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, leADDITIONAL_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';