Préparer l’exécution du collecteur Snowflake

  • Rversion finale: Australia
  • Mis à jour 12 mars 2026
  • 3 minutes de lecture
  • Configurez l’authentification et accordez des autorisations de rôle pour activer la collecte de métadonnées Snowflake.

    Avant de commencer

    Rôle requis : ACCOUNTADMIN

    Vous devez disposer d’un rôle ACCOUNTADMIN dans Snowflake pour accorder des autorisations.

    Pourquoi et quand exécuter cette tâche

    Le module de collection prend en charge l’authentification par nom d’utilisateur et par paire de clés. Pour plus d’informations, consultez la documentation Snowflake.

    Snowflake détermine l’autorisation en fonction des rôles. Un rôle doit être spécifié lors de la connexion à Snowflake. Le rôle ACCOUNTADMIN est requis pour collecter la gamme complète des métadonnées. D’autres rôles permettent d’accéder uniquement aux métadonnées de base, sans métadonnées étendues ni informations de traçabilité. Lorsque vous utilisez un rôle autre que ACCOUNTADMIN, accordez les autorisations spécifiques au rôle décrites dans cette tâche.

    Certaines fonctionnalités de collecteur nécessitent l’exécution de requêtes dans Snowflake, ce qui nécessite un entrepôt. Si un entrepôt par défaut est configuré pour les informations d’identification de l’utilisateur, aucune configuration d’entrepôt supplémentaire n’est nécessaire. Pour utiliser un entrepôt différent, ou si aucun entrepôt par défaut n’est défini, spécifiez l’entrepôt à l’aide de l’option de configuration Entrepôt Snowflake.

    Procédure

    1. Créez un rôle et accordez des autorisations d’entrepôt.
      CREATE OR REPLACE ROLE DDW_ACCOUNT_ROLE;
                              GRANT OPERATE, USAGE ON WAREHOUSE <warehouse_name> TO ROLE DDW_ACCOUNT_ROLE;
    2. Accordez des autorisations pour activer la collecte des métadonnées pour la base de données, le schéma, les tables et les vues.
      GRANT USAGE ON DATABASE <database_name> TO ROLE DDW_ACCOUNT_ROLE;
                              GRANT USAGE ON ALL SCHEMAS IN DATABASE <database_name> TO ROLE DDW_ACCOUNT_ROLE;
                              GRANT SELECT ON ALL TABLES IN DATABASE <database_name> TO ROLE DDW_ACCOUNT_ROLE;
                              GRANT SELECT ON ALL EXTERNAL TABLES IN DATABASE <database_name> TO ROLE DDW_ACCOUNT_ROLE;
                              GRANT SELECT ON ALL VIEWS IN DATABASE <database_name> TO ROLE DDW_ACCOUNT_ROLE;
                              GRANT USAGE ON FUTURE SCHEMAS IN DATABASE <database_name> TO ROLE DDW_ACCOUNT_ROLE;
                              GRANT SELECT ON FUTURE TABLES IN DATABASE <database_name> TO ROLE DDW_ACCOUNT_ROLE;
      Remarque :
      Si vous ne prévoyez pas d’utiliser les options Activer la collecte de valeurs de chaîne d’exemple et Activer la collecte de statistiques de colonne, vous pouvez accorder l’autorisation REFERENCES au lieu de SÉLECTIONNER :
      GRANT USAGE ON DATABASE <database_name> TO ROLE DDW_ACCOUNT_ROLE;
                                  GRANT USAGE ON ALL SCHEMAS IN DATABASE <database_name> TO ROLE DDW_ACCOUNT_ROLE;
                                  GRANT REFERENCES ON ALL TABLES IN DATABASE <database_name> TO ROLE DDW_ACCOUNT_ROLE;
                                  GRANT REFERENCES ON ALL EXTERNAL TABLES IN DATABASE <database_name> TO ROLE DDW_ACCOUNT_ROLE;
                                  GRANT REFERENCES ON ALL VIEWS IN DATABASE <database_name> TO ROLE DDW_ACCOUNT_ROLE;
                                  GRANT USAGE ON FUTURE SCHEMAS IN DATABASE <database_name> TO ROLE DDW_ACCOUNT_ROLE;
                                  GRANT REFERENCES ON FUTURE TABLES IN DATABASE <database_name> TO ROLE DDW_ACCOUNT_ROLE;
    3. Accordez des autorisations pour récolter les éléments suivants : traçabilité basée sur les dépendances d’objets, fonctions définies par l’utilisateur, fonctions de mesure de données, procédures stockées, balises et valeurs de balises, politiques d’accès aux lignes, politiques de masquage et utilisation des tables.
      Important :
      Vous devez disposer du rôle ACCOUNTADMIN pour accorder ces autorisations.

      Il existe deux options pour affecter ces autorisations :

      • Option 1 : Utilisez le rôle ACCOUNTADMIN pour accorder des privilèges étendus importés dans les bases de données :

        USE ROLE ACCOUNTADMIN;
                                    GRANT IMPORTED PRIVILEGES ON DATABASE SNOWFLAKE TO ROLE DDW_ACCOUNT_ROLE;
      • Option 2 : Affecter des rôles de base de données spécifiques pour l’allocation ciblée des autorisations :

        USE ROLE ACCOUNTADMIN;
                                    USE DATABASE SNOWFLAKE;
                                    GRANT DATABASE ROLE OBJECT_VIEWER TO ROLE DDW_ACCOUNT_ROLE;
                                    GRANT DATABASE ROLE GOVERNANCE_VIEWER TO ROLE DDW_ACCOUNT_ROLE;

        Pour plus d’informations sur ces rôles de base de données, consultez la documentation Snowflake.

    4. Facultatif : Accordez des autorisations pour les applications Streamlit.

      Ces autorisations ne sont nécessaires que si vous souhaitez collecter des métadonnées à partir des applications Streamlit :

      GRANT USAGE ON STREAMLIT <streamlit_app_name> TO ROLE DDW_ACCOUNT_ROLE;
    5. Créez un utilisateur Snowflake dédié pour le collecteur.

      Pour créer une authentification par paire de clés pour cet utilisateur, vous devez disposer au minimum d’un rôle SECURITYADMIN pour modifier les paramètres utilisateur. Voir la documentation Snowflake.

      CREATE USER DDW_ACCOUNT
                              RSA_PUBLIC_KEY = '<rsa_public_key>'
                              TYPE = SERVICE
                              DEFAULT_ROLE = DDW_ACCOUNT_ROLE
                              DEFAULT_WAREHOUSE = '<warehouse_name>'
                              DISPLAY_NAME = 'data.world';
                              
                              GRANT ROLE DDW_ACCOUNT_ROLE TO USER DDW_ACCOUNT;
    6. Accorder à l’utilisateur l’accès à l’entrepôt.
      GRANT USAGE ON WAREHOUSE <warehouse_name> TO ROLE DDW_ACCOUNT_ROLE;
    7. Vérifiez que les autorisations appropriées sont accordées.

      Exécutez la requête suivante :

      SHOW GRANTS TO ROLE DDW_ACCOUNT_ROLE;