- Connexion à Snowflake
- Chargement de données dans Snowflake
- Déchargement des données depuis Snowflake
- Utilisation de Snowflake
- Partage des données sécurisé dans Snowflake
- Gestion de votre organisation Snowflake
- Gestion de votre compte Snowflake
- Gestion de la sécurité dans Snowflake
- Gestion de la gouvernance dans Snowflake
- Gestion des coûts dans Snowflake
- Référence générale
- Référence des commandes SQL
- Résumé des commandes
- Toutes les commandes (par ordre alphabétique)
- ALTER <objet>
- ALTER ACCOUNT
- ALTER API INTEGRATION
- ALTER CONNECTION
- ALTER DATABASE
- ALTER EXTERNAL FUNCTION
- ALTER EXTERNAL TABLE
- ALTER FILE FORMAT
- ALTER FUNCTION
- ALTER INTEGRATION
- ALTER MASKING POLICY
- ALTER MATERIALIZED VIEW
- ALTER NETWORK POLICY
- ALTER NOTIFICATION INTEGRATION
- ALTER PIPE
- ALTER PROCEDURE
- ALTER RESOURCE MONITOR
- ALTER ROLE
- ALTER ROW ACCESS POLICY
- ALTER SCHEMA
- ALTER SECURITY INTEGRATION
- ALTER SEQUENCE
- ALTER SESSION
- ALTER SESSION POLICY
- ALTER SHARE
- ALTER STAGE
- ALTER STORAGE INTEGRATION
- ALTER STREAM
- ALTER TABLE
- ALTER TABLE … ALTER COLUMN
- ALTER TAG
- ALTER TASK
- ALTER USER
- ALTER VIEW
- ALTER WAREHOUSE
- BEGIN
- CALL
- COMMENT
- COMMIT
- COPY INTO <emplacement>
- COPY INTO <table>
- CREATE <objet>
- CREATE ACCOUNT
- CREATE API INTEGRATION
- CREATE <objet> … CLONE
- CREATE CONNECTION
- CREATE DATABASE
- CREATE EXTERNAL FUNCTION
- CREATE EXTERNAL TABLE
- CREATE FILE FORMAT
- CREATE FUNCTION
- CREATE INTEGRATION
- CREATE MANAGED ACCOUNT
- CREATE MASKING POLICY
- CREATE MATERIALIZED VIEW
- CREATE NETWORK POLICY
- CREATE NOTIFICATION INTEGRATION
- CREATE PIPE
- CREATE PROCEDURE
- CREATE RESOURCE MONITOR
- CREATE ROLE
- CREATE ROW ACCESS POLICY
- CREATE SCHEMA
- CREATE SECURITY INTEGRATION
- CREATE SEQUENCE
- CREATE SESSION POLICY
- CREATE SHARE
- CREATE STAGE
- CREATE STORAGE INTEGRATION
- CREATE STREAM
- CREATE TABLE
- CREATE | ALTER TABLE … CONSTRAINT
- CREATE TAG
- CREATE TASK
- CREATE USER
- CREATE VIEW
- CREATE WAREHOUSE
- DELETE
- DESCRIBE <objet>
- DESCRIBE EXTERNAL TABLE
- DESCRIBE FILE FORMAT
- DESCRIBE FUNCTION
- DESCRIBE INTEGRATION
- DESCRIBE MASKING POLICY
- DESCRIBE MATERIALIZED VIEW
- DESCRIBE NETWORK POLICY
- DESCRIBE PIPE
- DESCRIBE PROCEDURE
- DESCRIBE RESULT
- DESCRIBE ROW ACCESS POLICY
- DESCRIBE SEQUENCE
- DESCRIBE SESSION POLICY
- DESCRIBE SHARE
- DESCRIBE STAGE
- DESCRIBE STREAM
- DESCRIBE TABLE
- DESCRIBE TASK
- DESCRIBE USER
- DESCRIBE VIEW
- DROP <objet>
- DROP CONNECTION
- DROP DATABASE
- DROP EXTERNAL TABLE
- DROP FILE FORMAT
- DROP FUNCTION
- DROP INTEGRATION
- DROP MANAGED ACCOUNT
- DROP MASKING POLICY
- DROP MATERIALIZED VIEW
- DROP NETWORK POLICY
- DROP PIPE
- DROP PROCEDURE
- DROP RESOURCE MONITOR
- DROP ROLE
- DROP ROW ACCESS POLICY
- DROP SCHEMA
- DROP SEQUENCE
- DROP SESSION POLICY
- DROP SHARE
- DROP STAGE
- DROP STREAM
- DROP TABLE
- DROP TAG
- DROP TASK
- DROP USER
- DROP VIEW
- DROP WAREHOUSE
- EXECUTE IMMEDIATE
- EXECUTE TASK
- EXPLAIN
- GET
- GRANT OWNERSHIP
- GRANT <privileges> … TO ROLE
- GRANT <privilège> … TO SHARE
- GRANT ROLE
- INSERT
- INSERT (multitable)
- LIST
- MERGE
- PUT
- REMOVE
- REVOKE <privileges> … FROM ROLE
- REVOKE <privilège> … FROM SHARE
- REVOKE ROLE
- ROLLBACK
- SELECT
- SET
- SHOW <objets>
- SHOW COLUMNS
- SHOW CONNECTIONS
- SHOW DATABASES
- SHOW DELEGATED AUTHORIZATIONS
- SHOW EXTERNAL FUNCTIONS
- SHOW EXTERNAL TABLES
- SHOW FILE FORMATS
- SHOW FUNCTIONS
- SHOW GLOBAL ACCOUNTS
- SHOW GRANTS
- SHOW INTEGRATIONS
- SHOW LOCKS
- SHOW MANAGED ACCOUNTS
- SHOW MASKING POLICIES
- SHOW MATERIALIZED VIEWS
- SHOW NETWORK POLICIES
- SHOW OBJECTS
- SHOW ORGANIZATION ACCOUNTS
- SHOW PARAMETERS
- SHOW PIPES
- SHOW PRIMARY KEYS
- SHOW PROCEDURES
- SHOW REGIONS
- SHOW REPLICATION ACCOUNTS
- SHOW REPLICATION DATABASES
- SHOW RESOURCE MONITORS
- SHOW ROLES
- SHOW ROW ACCESS POLICIES
- SHOW SCHEMAS
- SHOW SEQUENCES
- SHOW SESSION POLICIES
- SHOW SHARES
- SHOW STAGES
- SHOW STREAMS
- SHOW TABLES
- SHOW TAGS
- SHOW TASKS
- SHOW TRANSACTIONS
- SHOW USER FUNCTIONS
- SHOW USERS
- SHOW VARIABLES
- SHOW VIEWS
- SHOW WAREHOUSES
- TRUNCATE MATERIALIZED VIEW
- TRUNCATE TABLE
- UNDROP <objet>
- UNDROP DATABASE
- UNDROP SCHEMA
- UNDROP TABLE
- UNDROP TAG
- UNSET
- UPDATE
- USE <objet>
- USE DATABASE
- USE ROLE
- USE SCHEMA
- USE SECONDARY ROLES
- USE WAREHOUSE
- Commandes DDL
- Commandes DML
- Syntaxe de requête
- Opérateurs de requêtes
- Référence de la fonction SQL
- Référence pour Exécution de scripts Snowflake
- Référence API
- Annexes
- Documents »
- Référence des commandes SQL »
- Toutes les commandes (par ordre alphabétique) »
- GRANT <privilège> … TO SHARE
- Catégories :
Utilisateur et sécurité DDL (contrôle d’accès)
GRANT <privilège> … TO SHARE¶
Accorde des privilèges d’accès pour les bases de données et d’autres objets de base de données pris en charge (schémas, UDFs, tables et vues) à un partage. L’octroi de privilèges sur ces objets ajoute effectivement les objets au partage, qui peut ensuite être partagé avec un ou plusieurs comptes consommateurs.
Pour plus de détails, voir Présentation de Secure Data Sharing et Utilisation des partages.
Syntaxe¶
GRANT objectPrivilege ON
{ DATABASE <name>
| SCHEMA <name>
| FUNCTION <name>
| { TABLE <name> | ALL TABLES IN SCHEMA <schema_name> }
| VIEW <name> }
TO SHARE <share_name>
Où :
objectPrivilege ::= -- For DATABASE, SCHEMA, or FUNCTION USAGE -- For TABLE or VIEW SELECT -- For DATABASE REFERENCE_USAGE
Paramètres¶
nom
Indique l’identificateur de l’objet (base de données, schéma, UDF, table ou vue sécurisée) pour lequel le privilège spécifié est accordé.
nom_schéma
Indique l’identificateur du schéma pour lequel le privilège spécifié est accordé pour toutes les tables.
nom_partage
Indique l’identificateur du partage à partir duquel le privilège spécifié est accordé.
Notes sur l’utilisation¶
Le privilège USAGE sur une seule base de données peut être accordé à un partage ; toutefois, au sein de cette base de données, des privilèges sur plusieurs schémas, UDFs, tables et vues peuvent être accordés au partage.
Les privilèges sur les objets individuels doivent être accordés à un partage dans des instructions GRANT distinctes. La seule exception est le privilège SELECT sur les tables. En utilisant une clause
ALL
vous pouvez accorder SELECT à un partage sur toutes les tables d’un schéma spécifié.Le privilège SELECT sur des vues ne peut être accordé que sur des vues sécurisées. La tentative d’accorder le privilège SELECT sur une vue non sécurisée à un partage renvoie une erreur.
Le privilège USAGE ne peut être accordé que sur des UDFs sécurisées. La tentative d’accorder le privilège USAGE sur une UDF non sécurisée à un partage renvoie une erreur.
Actuellement, le partage d’une UDF qui fait référence à un objet d’une autre base de données n’est pas pris en charge. Par exemple, si vous essayez d’accorder USAGE sur un UDF qui fait référence à une vue sécurisée d’une autre base de données, une erreur est renvoyée.
Utilisez le privilège REFERENCE_USAGE lorsque vous partagez une vue sécurisée faisant référence à des objets appartenant à plusieurs bases de données, comme suit :
Le privilège REFERENCE_USAGE doit être accordé individuellement à chaque base de données.
Le privilège REFERENCE_USAGE doit être accordé à une base de données avant d’octroyer SELECT sur une vue sécurisée d’un partage.
Exemples¶
Voici un exemple de partage d’objets à partir d’une base de données unique :
GRANT USAGE ON DATABASE mydb TO SHARE share1; GRANT USAGE ON SCHEMA mydb.public TO SHARE share1; GRANT USAGE ON FUNCTION mydb.shared_schema.function1 TO SHARE share1; GRANT USAGE ON FUNCTION mydb.shared_schema.function2 TO SHARE share1; GRANT SELECT ON ALL TABLES IN SCHEMA mydb.public TO SHARE share1; GRANT USAGE ON SCHEMA mydb.shared_schema TO SHARE share1; GRANT SELECT ON VIEW mydb.shared_schema.view1 TO SHARE share1; GRANT SELECT ON VIEW mydb.shared_schema.view3 TO SHARE share1;
Voici un exemple de partage d’une vue sécurisée faisant référence à des objets d’une autre base de données :
CREATE SECURE VIEW view2 AS SELECT * FROM database2.public.sampletable; GRANT USAGE ON DATABASE database1 TO SHARE share1; GRANT USAGE ON SCHEMA database1.schema1 TO SHARE share1; GRANT REFERENCE_USAGE ON DATABASE database2 TO SHARE share1; GRANT SELECT ON VIEW view2 TO SHARE share1;