Skip to content

Enable Dynamic Native Snowflake

Audience: System Administrators

Content Summary: This page details how to install the Native Dynamic Snowflake access pattern.

Enable Native Snowflake

Application Administrators have two options for installing the Native Dynamic Snowflake and Snowflake Workspace access patterns: automatic or manual setup.

Automatic Setup

  1. Click the App Settings icon in the left sidebar.
  2. Click Enable in the Native Snowflake SQL Integration section.

    Snowflake Configuration

  3. Complete the Host, Port, and Default Warehouse fields.

    Snowflake Config Modal

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

  5. Select Automatic and enter your Username, Password, and Role.

    Note: When performing an automated installation, the credentials provided must have the ability to both CREATE databases and CREATE, GRANT, REVOKE, and DELETE roles. In a typical Snowflake environment the only users with access to the necessary permissions are those who have the ACCOUNTADMIN role.

  6. Opt to 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 priviledge account entered above. Note that any warehouse accessible by the PUBLIC role does not need to be explicitly added.

  7. Click Test Snowflake Connection.

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

Manual Setup

Best Practices: Account Creation

The account you create for Immuta should only be used for the native integration and should NOT be used as the credentials when creating data sources within Immuta. This will cause issues.

Create a dedicated READ-ONLY account for creating and registering data sources within Immuta. This account should also not be the account used to configure the native integration.

The specified role needs to have the following privileges: CREATE DATABASE ON ACCOUNT WITH GRANT OPTION, CREATE ROLE ON ACCOUNT WITH GRANT OPTION, CREATE USER ON ACCOUNT WITH GRANT OPTION, and MANAGE GRANTS ON ACCOUNT.

  1. Click the App Settings icon in the left sidebar.
  2. Click Enable in the Native Snowflake SQL Integration section.
  3. Complete the Host, Port, and Default Warehouse fields.

    Snowflake Config Modal

  4. Download and run the bootstrap script linked in the Setup section.

    Snowflake Bootstrap Script

  5. Select Manual and enter the Username and Password for the Immuta System Account Credentials.

  6. Opt to 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 priviledge account entered above. Note that any warehouse accessible by the PUBLIC role does not need to be explicitly added.
  7. Opt to Enable Project Workspace by checking the box. This will allow for managed Write acces within Snowflake.
  8. Click Test Snowflake Connection.
  9. Once the credentials are successfully tested, click Save.

Once 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.

Multiple Snowflake Instances

Immuta allows the user to connect multiple Snowflake instances in a single Immuta instance.

Automatic Setup

  1. Click the App Settings icon in the left sidebar.
  2. Click Add Connection in the Native Snowflake SQL Integration section.

    Snowflake Configuration

  3. Complete the Host, Port, and Default Warehouse fields.

    Snowflake Config Modal

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

  5. Select Automatic and enter your Username, Password, and Role.

    Note: When performing an automated installation, the credentials provided must have the ability to CREATE databases and CREATE, GRANT, REVOKE, and DELETE roles. In a typical Snowflake environment the only users with access to the necessary permissions are those who have the ACCOUNTADMIN role.

  6. Opt to 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 priviledge account entered above. Note that any warehouse accessible by the PUBLIC role does not need to be explicitly added.

  7. Click Test Snowflake Connection.

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

Manual Setup

Best Practices: Account Creation

The account you create for Immuta should only be used for the native integration and should NOT be used as the credentials when creating data sources within Immuta. This will cause issues.

Create a dedicated READ-ONLY account for creating and registering data sources within Immuta. This account should also not be the account used to configure the native integration.

The specified role needs to have the following privileges: CREATE DATABASE ON ACCOUNT WITH GRANT OPTION, CREATE ROLE ON ACCOUNT WITH GRANT OPTION, CREATE USER ON ACCOUNT WITH GRANT OPTION, and MANAGE GRANTS ON ACCOUNT.

  1. Click the App Settings icon in the left sidebar.
  2. Click Add Connection in the Native Snowflake SQL Integration section.

    Snowflake Configuration

  3. Complete the Host, Port, and Default Warehouse fields.

    Snowflake Config Modal

  4. Download and run the bootstrap script linked in the Setup section.

    Snowflake Bootstrap Script

  5. Select Manual and enter the Username and Password for the Immuta System Account Credentials.

  6. Opt to 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 priviledge account entered above. Note that any warehouse accessible by the PUBLIC role does not need to be explicitly added.
  7. Opt to Enable Project Workspace by checking the box. This will allow for managed Write acces within Snowflake.
  8. Click Test Snowflake Connection.
  9. Once the credentials are successfully tested, click Save.