Connect your dataSupported integrations
Snowflake
Connect Snowflake to Querio.
Before you start
You need a Snowflake admin role that can create users, roles, and grants. You also need the RSA public key Querio will use for key-pair authentication.
1. Create a service user
What: Create a non-human Snowflake user for Querio.
CREATE USER QUERIO_SVC
LOGIN_NAME = QUERIO_SVC
TYPE = SERVICE
DEFAULT_ROLE = QUERIO_ROLE
DEFAULT_WAREHOUSE = QUERIO_WH
DEFAULT_NAMESPACE = MY_DATABASE.PUBLIC
COMMENT = 'Service user for Querio integration';2. Create a least-privilege role
What: Give Querio only the permissions it needs.
CREATE ROLE IF NOT EXISTS QUERIO_ROLE;
GRANT USAGE ON WAREHOUSE QUERIO_WH TO ROLE QUERIO_ROLE;
GRANT USAGE ON DATABASE MY_DATABASE TO ROLE QUERIO_ROLE;
GRANT USAGE ON SCHEMA MY_DATABASE.PUBLIC TO ROLE QUERIO_ROLE;
GRANT SELECT ON ALL TABLES IN SCHEMA MY_DATABASE.PUBLIC TO ROLE QUERIO_ROLE;
GRANT SELECT ON ALL VIEWS IN SCHEMA MY_DATABASE.PUBLIC TO ROLE QUERIO_ROLE;
GRANT SELECT ON FUTURE TABLES IN SCHEMA MY_DATABASE.PUBLIC TO ROLE QUERIO_ROLE;
GRANT SELECT ON FUTURE VIEWS IN SCHEMA MY_DATABASE.PUBLIC TO ROLE QUERIO_ROLE;
GRANT ROLE QUERIO_ROLE TO USER QUERIO_SVC;Scope these grants to the databases and schemas Querio should read.
3. Add the RSA public key
What: Register the public key on the service user.
ALTER USER QUERIO_SVC SET RSA_PUBLIC_KEY='MIIBIjANBgkqh...';
DESC USER QUERIO_SVC;Snowflake expects the base64 content of the public key without the BEGIN PUBLIC KEY and END PUBLIC KEY lines.
4. Share the connection metadata
Provide the account, user, warehouse, database, schema, and role to Querio.
{
"account": "orgname-account_name",
"user": "QUERIO_SVC",
"warehouse": "QUERIO_WH",
"database": "MY_DATABASE",
"schema": "PUBLIC",
"role": "QUERIO_ROLE"
}