Legacy Snowflake Integration

Deprecation notice

Support for this integration has been deprecated.

This page details how to install the Snowflake integration for users on Snowflake Standard. If you currently use Snowflake Enterprise, see the installation guide for that integration.

Snowflake resource names

Use uppercase for the names of the Snowflake resources you create below.

  1. Click the App Settings icon in the left sidebar.

  2. Click the Integrations tab.

  3. Click the +Add Native Integration button and select Snowflake from the dropdown menu.

  4. Scroll down and uncheck the box for Snowflake Governance Features.

  5. Scroll back up and complete the Host, Port, and Default Warehouse fields.

  6. Opt to check the Enable Project Workspace box. This will allow for managed Write access within Snowflake.

  7. Opt to check the Enable Impersonation box and customize the Impersonation Role name as needed. This will allow users to natively impersonate another user. Note you cannot edit this choice after you configure the integration.

  8. Snowflake query audit is enabled by default; you can disable it by clicking the Enable Native Query Audit checkbox.

    1. Configure the audit frequency by scrolling to Integrations Settings and find the Snowflake Audit Sync Schedule section.

    2. Enter how often, in hours, you want Immuta to ingest audit events from Snowflake as an integer between 1 and 24.

    3. Continue with your integration configuration.

  9. Opt to check the Automatically ingest Snowflake object tags box. This will enable Immuta to automatically import table and column tags from Snowflake. Note this feature requires an Enterprise Edition of Snowflake.

  10. You have two options for installing the Snowflake and Snowflake Workspace access patterns: automatic or manual setup.

Immuta requires temporary, one-time use of credentials with specific permissions.

When performing an automated installation, Immuta requires temporary, one-time use of credentials with the following permissions:

  • CREATE DATABASE ON ACCOUNT WITH GRANT OPTION

  • CREATE ROLE ON ACCOUNT WITH GRANT OPTION

  • CREATE USER ON ACCOUNT WITH GRANT OPTION

  • MANAGE GRANTS ON ACCOUNT

These permissions will be used to create and configure a new IMMUTA database within the specified Snowflake instance. The credentials are not stored or saved by Immuta, and Immuta doesn’t retain access to them after initial setup is complete.

You can create a new account for Immuta to use that has these permissions, or you can grant temporary use of a pre-existing account. By default, the pre-existing account with appropriate permissions is ACCOUNTADMIN. If you create a new account, it can be deleted after initial setup is complete.

Alternatively, you can create the IMMUTA database within the specified Snowflake instance manually using the Manual Setup option.

  1. From the Select Authentication Method Dropdown, select either Username and Password or Key Pair Authentication:

    • Username and Password: Fill out the Username, Password, and Role fields.

    • Key Pair Authentication:

      1. Complete the Username field.

      2. When using a private key, enter the private key file password in the Additional Connection String Options. Use the following format: PRIV_KEY_FILE_PWD=<your_pw>

      3. Click Key Pair (Required), and upload a Snowflake key pair file.

      4. Complete the Role field.

  1. If you enabled a Snowflake workspace, select Warehouses from the dropdown menu that will be available to project owners when creating native Snowflake workspaces. Select from a list of all the warehouses available to the privileged account entered above. Note that any warehouse accessible by the PUBLIC role does not need to be explicitly added.

  2. Click Test Snowflake Connection.

  3. Once the credentials are successfully tested, click Save.

Now that Snowflake has been enabled, all future Snowflake data sources will also be created natively within the immuta database of the linked Snowflake instance. In addition to creating views, Immuta will also periodically sync user metadata to a system table within the Snowflake instance.

Last updated

Copyright © 2014-2024 Immuta Inc. All rights reserved.