Connecter Snowflake
Streya se connecte à Snowflake au moyen d’un utilisateur de service dédié auquel est attribué un rôle en lecture seule. La configuration ne demande que quelques instructions GRANT.
Ce que vous préparerez
Section intitulée « Ce que vous préparerez »| Élément | Exemple | Remarques |
|---|---|---|
| Identifiant de compte | xy12345.us-east-1 | Se trouve dans votre URL Snowflake ou via SELECT CURRENT_ACCOUNT() |
| Utilisateur | STREYA_USER | Utilisateur de service dédié |
| Mot de passe | — | Mot de passe robuste, généré |
| Entrepôt | STREYA_WH | L’entrepôt de calcul sur lequel s’exécutent les requêtes de Streya |
| Base de données | ANALYTICS | La base de données qui contient vos données |
| Rôle (facultatif) | STREYA_READER | Recommandé — un rôle limité à un accès en lecture seule |
| Schéma (facultatif) | PUBLIC | Schéma par défaut, si vous souhaitez en définir un |
1. Créer un rôle, un utilisateur et un entrepôt
Section intitulée « 1. Créer un rôle, un utilisateur et un entrepôt »Exécutez ce qui suit en tant que ACCOUNTADMIN (ou avec un rôle disposant de privilèges suffisants), en adaptant les noms à vos conventions :
-- Un rôle dédié en lecture seuleCREATE ROLE IF NOT EXISTS STREYA_READER;
-- Un utilisateur de service dédiéCREATE USER IF NOT EXISTS STREYA_USER PASSWORD = '<générez-un-mot-de-passe-robuste>' DEFAULT_ROLE = STREYA_READER DEFAULT_WAREHOUSE = STREYA_WH MUST_CHANGE_PASSWORD = FALSE;
GRANT ROLE STREYA_READER TO USER STREYA_USER;
-- Facultatif : un petit entrepôt dédié, pour que le calcul de Streya-- soit isolé et facile à surveiller. Réutiliser un entrepôt existant fonctionne aussi.CREATE WAREHOUSE IF NOT EXISTS STREYA_WH WAREHOUSE_SIZE = 'XSMALL' AUTO_SUSPEND = 60 AUTO_RESUME = TRUE;
GRANT USAGE ON WAREHOUSE STREYA_WH TO ROLE STREYA_READER;2. Accorder un accès en lecture seule à vos données
Section intitulée « 2. Accorder un accès en lecture seule à vos données »GRANT USAGE ON DATABASE ANALYTICS TO ROLE STREYA_READER;GRANT USAGE ON ALL SCHEMAS IN DATABASE ANALYTICS TO ROLE STREYA_READER;GRANT SELECT ON ALL TABLES IN DATABASE ANALYTICS TO ROLE STREYA_READER;GRANT SELECT ON ALL VIEWS IN DATABASE ANALYTICS TO ROLE STREYA_READER;
-- Couvrir les tables qui seront créées plus tardGRANT SELECT ON FUTURE TABLES IN DATABASE ANALYTICS TO ROLE STREYA_READER;GRANT SELECT ON FUTURE VIEWS IN DATABASE ANALYTICS TO ROLE STREYA_READER;3. Établir la connexion dans Streya
Section intitulée « 3. Établir la connexion dans Streya »Dans Streya, allez dans Paramètres de l’espace de travail → Entrepôt de données, choisissez Snowflake, puis remplissez les détails de connexion :
| Champ | Exemple | Requis |
|---|---|---|
| Compte | xy12345.us-east-1 | Oui |
| Entrepôt | STREYA_WH | Oui |
| Base de données | ANALYTICS | Oui |
| Schéma | PUBLIC | Facultatif |
| Rôle | STREYA_READER | Facultatif |
| Nom d’utilisateur | STREYA_USER | Oui |
| Mot de passe | — | Oui |
Cliquez sur Connecter l’entrepôt de données. Streya exécute une requête de test et affiche l’état de la connexion. Vos identifiants sont chiffrés et stockés dans un gestionnaire de secrets dédié — consultez Connexions de données pour savoir comment les identifiants sont traités.
Dépannage
Section intitulée « Dépannage »Object does not exist or not authorized— il manque au rôle le privilègeUSAGEsur la base de données ou le schéma, ou le privilègeSELECTsur la table.- Les requêtes restent bloquées ou ne démarrent pas — vérifiez que le rôle dispose de
USAGEsur l’entrepôt et que l’entrepôt aAUTO_RESUME = TRUE. - Les nouvelles tables ne sont pas visibles — ajoutez les privilèges
FUTURE TABLES/FUTURE VIEWSci-dessus, ou réexécutez l’instructionGRANTsurALL TABLES.