ALTER PROJECTION POLICY¶
Remplace les règles de politique de projection existantes par de nouvelles règles ou un nouveau commentaire et permet de renommer une politique de projection.
Toutes les modifications apportées aux règles de politiques entrent en vigueur lors de l’exécution de la prochaine requête SQL qui utilise la politique de projection.
- Voir aussi :
Syntaxe¶
ALTER PROJECTION POLICY [ IF EXISTS ] <name> RENAME TO <new_name>
ALTER PROJECTION POLICY [ IF EXISTS ] <name> SET BODY -> <expression>
ALTER PROJECTION POLICY <name> SET TAG <tag_name> = '<tag_value>' [ , <tag_name> = '<tag_value>' ... ]
ALTER PROJECTION POLICY <name> UNSET TAG <tag_name> [ , <tag_name> ... ]
ALTER PROJECTION POLICY [ IF EXISTS ] <name> SET COMMENT = '<string_literal>'
ALTER PROJECTION POLICY [ IF EXISTS ] <name> UNSET COMMENT
Paramètres¶
name
Spécifie l’identificateur de la politique de projection à modifier.
Si l’identificateur contient des espaces ou des caractères spéciaux, toute la chaîne doit être délimitée par des guillemets doubles. Les identificateurs entre guillemets doubles sont également sensibles à la casse.
Pour plus d’informations, consultez Exigences relatives à l’identificateur.
RENAME TO new_name
Spécifie le nouvel identificateur de la politique de projection ; doit être unique pour votre schéma. Le nouvel identificateur ne peut pas être utilisé si l’identificateur est déjà en place pour une balise de projection différente.
Pour plus de détails, voir Exigences relatives à l’identificateur.
Vous pouvez déplacer l’objet vers une autre base de données et/ou un autre schéma tout en renommant éventuellement l’objet. Pour ce faire, spécifiez une valeur
new_name
qualifiée qui inclut le nouveau nom de la base de données et/ou du schéma sous la formedb_name.schema_name.object_name
ouschema_name.object_name
, respectivement.Note
La base de données et/ou le schéma de destination doivent déjà exister. En outre, un objet portant le même nom ne peut pas déjà exister dans le nouvel emplacement ; sinon, l’instruction renvoie une erreur.
Le déplacement d’un objet vers un schéma d’accès géré est interdit sauf si le propriétaire de l’objet (c’est-à-dire le rôle qui a le privilège OWNERSHIP sur l’objet) est également propriétaire du schéma cible.
SET ...
Spécifie une ou plusieurs propriétés à définir pour la politique de politique de projection :
BODY -> expression
Expression SQL qui détermine si la colonne doit être projetée.
L’expression appelle la fonction PROJECTION_CONSTRAINT interne pour déterminer si une colonne doit être projetée :
PROJECTION_CONSTRAINT(ALLOW => TRUE)
— Permet de projeter la colonne à laquelle la politique de projection est associée.PROJECTION_CONSTRAINT(ALLOW => FALSE)
— Interdit de projeter la colonne à laquelle la politique de projection est associée.
TAG tag_name = 'tag_value' [ , tag_name = 'tag_value' , ... ]
Spécifie le nom de la balise et la valeur de la chaîne de la balise.
La valeur de la balise est toujours une chaîne de caractères et le nombre maximum de caractères pour la valeur de la balise est 256.
Pour plus d’informations sur la spécification des balises dans une instruction, voir Quotas de balises pour les objets et les colonnes.
COMMENT = 'string_literal'
Ajoute un commentaire ou écrase le commentaire existant pour la politique de projection.
Par défaut : aucune valeur
UNSET ...
Spécifie une ou plusieurs propriétés et/ou paramètres à désactiver, en les réinitialisant à leurs valeurs par défaut, pour la politique de projection :
TAG tag_name [ , tag_name ... ]
COMMENT
Lors de la réinitialisation d’une propriété ou d’un paramètre, spécifiez seulement le nom ; si vous spécifiez une valeur pour la propriété, vous obtiendrez une erreur.
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 |
---|---|---|
OWNERSHIP |
Politique de projection |
OWNERSHIP is a special privilege on an object that is automatically granted to the role that created the object, but can also be transferred using the GRANT OWNERSHIP command to a different role by the owning role (or any role with the MANAGE GRANTS privilege). |
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.
Pour plus de détails sur la DDL de politique de projection et les privilèges, voir Privilèges et commandes.
Notes sur l’utilisation¶
Si vous souhaitez mettre à jour une politique de projection existante et que vous avez besoin de voir la définition actuelle de la politique, exécutez la commande DESCRIBE PROJECTION POLICY ou la fonction GET_DDL.
Le déplacement d’une politique de projection vers un schéma d’accès géré (utilisant la syntaxe ALTER PROJECTION POLICY … RENAME TO) est interdit sauf si le propriétaire de la politique de projection (c’est-à-dire le rôle qui a le privilège OWNERSHIP sur la politique de projection) est également propriétaire du schéma cible.
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¶
Renommer une politique de projection :
ALTER PROJECTION POLICY mypolicy RENAME TO proj_policy_acctnumber;