Aller au contenu

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.

ÉlémentExempleRemarques
Identifiant de comptexy12345.us-east-1Se trouve dans votre URL Snowflake ou via SELECT CURRENT_ACCOUNT()
UtilisateurSTREYA_USERUtilisateur de service dédié
Mot de passeMot de passe robuste, généré
EntrepôtSTREYA_WHL’entrepôt de calcul sur lequel s’exécutent les requêtes de Streya
Base de donnéesANALYTICSLa base de données qui contient vos données
Rôle (facultatif)STREYA_READERRecommandé — un rôle limité à un accès en lecture seule
Schéma (facultatif)PUBLICSché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 seule
CREATE 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 tard
GRANT SELECT ON FUTURE TABLES IN DATABASE ANALYTICS TO ROLE STREYA_READER;
GRANT SELECT ON FUTURE VIEWS IN DATABASE ANALYTICS TO ROLE STREYA_READER;

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 :

ChampExempleRequis
Comptexy12345.us-east-1Oui
EntrepôtSTREYA_WHOui
Base de donnéesANALYTICSOui
SchémaPUBLICFacultatif
RôleSTREYA_READERFacultatif
Nom d’utilisateurSTREYA_USEROui
Mot de passeOui

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.

  • Object does not exist or not authorized — il manque au rôle le privilège USAGE sur la base de données ou le schéma, ou le privilège SELECT sur la table.
  • Les requêtes restent bloquées ou ne démarrent pas — vérifiez que le rôle dispose de USAGE sur l’entrepôt et que l’entrepôt a AUTO_RESUME = TRUE.
  • Les nouvelles tables ne sont pas visibles — ajoutez les privilèges FUTURE TABLES / FUTURE VIEWS ci-dessus, ou réexécutez l’instruction GRANT sur ALL TABLES.