Monta.com

Getting Access

How to access the Partner Data Warehouse

Access to Montas Partner Data Warehouse is based on Key Pair auth for now. Please note that not all dashboarding or other data warehouse tools support this. If your solution does not support setting up access with private/public keys you cannot get access.

To gain access to the Partner Data Warehouse, follow these steps:

  1. Partnership and Agreement: Ensure you are part of our Partner Program and have a mutual data sharing agreement in place.

  2. Key Generation:

    • Generate a public and private key pair following this guide.
    • Send us the public key via email or Slack. This key is not secret and can be shared openly.
  3. Access Information: Upon receiving your public key, we will provide you with the Snowflake account identifer and host URL needed to access the data warehouse. We will send this via Slack or email.

Quick Guide on Key Pair Authentication

  • Key Pair Authentication offers enhanced security. Generate a 2048-bit RSA key pair as minimum, following the steps outlined in the Snowflake documentation.
  • Client Support: Most Snowflake clients support key pair authentication and rotation, including SnowSQL, Python Connector, JDBC Driver, and others.

Steps for Key Configuration

  1. Generate the Private Key: Use OpenSSL to generate a private key. Encrypted keys are recommended for added security.

    • Unencrypted: openssl genrsa 2048 | openssl pkcs8 -topk8 -inform PEM -out rsa_key.p8 -nocrypt
    • Encrypted: openssl genrsa 2048 | openssl pkcs8 -topk8 -v2 des3 -inform PEM -out rsa_key.p8
  2. Generate the Public Key: With the private key generated, produce the public key using OpenSSL.

    • Command: openssl rsa -in rsa_key.p8 -pubout -out rsa_key.pub
  3. Configure Snowflake Client: Update your Snowflake client to use key-pair authentication for secure connection.

For detailed instructions and support on key pair authentication and rotation, refer to the Snowflake documentation.

SnowSQL

Install SnowSQL.

You can find installation instructions for SnowSQL for your OS here

Connecting to Snowflake

After installing SnowSQL you can connect to Snowflake and start querying your tables with the command below. Replacing {examplepartner} with your partner name, and the ~/rsa_key.p8 with the location of your private key file.

snowsql -a st17140.eu-west-1 -h st17140.eu-west-1.snowflakecomputing.com -u {examplepartner} --private-key-path ~/rsa_key.p8 -w PARTNER -d PARTNER -s PRODUCTION_{examplepartner}

Python Connector

You can use Python for programmatic access to your tables via the Snowflake Python connector.
Refer to the installation instructions in the Snowflake docs.

Connecting

When connecting to Snowflake via the Python Connector, you should refer to the key-pair authentication part of the docs. Replacing the following values for user, warehouse, account etc. in the code example
user: {examplepartner}
account: The account identifier is provided by us, after we receive your public key.
warehouse: "PARTNER"
database: "PARTNER"
schema: "PRODUCTION_{examplepartner}

📘

Schema names may differ basing on how you connect

If your partner name contains hyphens, replace those with underscores. But only for the schema. E.g. partner-one becomes partner_one

DBeaver

DBeaver has a free community edition . Download and follow instructions to install.

  1. Database→New Database Connection
  1. Find Snowflake and choose Next
  1. Fill in the info as in the screenshot below.
    1. Host: st17140.eu-west-1.snowflakecomputing.com:443
    2. Database and Warehouse PARTNER
    3. Schema PRODUCTION_<PARTNER_NAME>
    4. Username <PARTNER_NAME>

Replace <PARTNER_NAME> with your relevant partner name.

  1. Driver properties → Right click and add new property. Call this private_key_file and press OK.
  1. Click right next to the field that now says private_key_file and put in the path to your private key as the value.
  1. Click finish and you should see a Database called PARTNER under the Database Navigator

What’s Next

When you have access, you can have a look at the available data.