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 Querio's public key on the service user:

ALTER USER QUERIO_SVC SET RSA_PUBLIC_KEY='MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5yD1chg+jgPL2wEpGB6nqYOTyu2Hm4cmKpHrPQ7/K9wDq6G1Fm2SL0QG3pBygwK8s3xM60xZW2WiTAmiT47uJfczdMBeYsfarzvMWmcuhsp8EADsz2gWKpi7W70acox6PUJi9g0JlWP9SH7xlV7DuRCExWuXiT78NRg/lCgTutPO4qPqYpf+Gfck5isU/BiZfKChSZVw19XaL4luFZ/F4rwQBG3BU9fCQdLmOxkdifCI1N6HO/9rqMvCaAWH3xGfCTEm5spaOXzVh0wZ42d5ZB4RYANkD8qHv64VYN7UV9k+DzQS9BGauvutAiJcHUtp0VIRJDpm4rdqdwFp7q9FtwIDAQAB';
DESC USER QUERIO_SVC;

If the connection fails with JWT_TOKEN_INVALID_PUBLIC_KEY_FINGERPRINT_MISMATCH, add the following public key as well:

ALTER USER QUERIO_SVC SET RSA_PUBLIC_KEY_2='MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArWiyRRx9weZ4ZfKRr8/foAzcOtaAFE2ib3A3mrO++kIObhW59exmPQT4uPaY7oCUqlLadOCQhOcb55DRi4OrkynYtxPVL0fyZJJNWMNJOlkuQ8Wq8p5mCkSDFLY8zcLYwFB71KBgxtLC7xBUheh/jw6ybEwqg6nY3Ehw98g/SUPiiTQOhfA4eGiFP2JHr6TR2BYoHyZEw2IV9IgTLZDd+G3g0BXtRFO3OPsxqcMyedMM7QGJPEVpFbKDFR4TkV6TRnK/dH6Nlv8IkmoZtcbNP4Zx1Xg5ZOIOf5qkKqyKkNhDdXjpN5uhV3BtVSGGk5k+ngjcx6NSyQgEpxqIE1ELiQIDAQAB';

4. Share the connection metadata

Provide the account, user, warehouse, database, and schema to Querio.

{
  "account": "orgname-account_name",
  "user": "QUERIO_SVC",
  "warehouse": "QUERIO_WH",
  "database": "MY_DATABASE",
  "schema": "PUBLIC"
}

Last updated on October 16, 2026

On this page