Snowflake
Connecting PACE to a Snowflake database
Key pair creation and user privileges
PACE translates Data Policies to Snowflake views. A few steps are required to connect a PACE instance with a Databricks database. First, a public/private key pair must be created. Then, a new user and role must be created in Snowflake.
PACE currently expects the private key file's path to be passed as a property, and the file itself to be available on the classpath. We are working on an easier approach.
To create a key pair, start with the private key:
Then, create a public key for this private key:
Now, create a new user (e.g. pace_user
) in snowflake, with this public key:
Next, we recommend creating a dedicated role for the PACE user. Provide this role with usage
privileges on the desired warehouse, as well as all relevant databases and schemas, and select
privileges on all source tables (i.e. tables for which Data Policies are to be created). Grant the right to create view
s on all desired target schemas. For example:
PACE application properties
After following the above steps, provide the corresponding configuration to the PACE application for each Snowflake database you want to connect with.
PACE currently supports a single database per configuration. Apart from the id
and database
properties though, the remaining properties can be reused across configs.
For example:
The properties are expected to contain the following:
id
: an arbitrary identifier unique within your organization for the specific platform (Snowflake).serverUrl
: the full url pointing to your Snowflake instance, typically ending withsnowflakecomputing.com
.database
: name of the database.warehouse
: the compute warehouse to use for all operations (listing tables, creating views).userName
: name of the user to be used by PACE.accountName
: the name of the account to be used, typically of the formAB12345
.organizationName
: the name (id) of the organization that owns the account.privateKey
: the contents of the generated private key file.
Last updated