All pages
Powered by GitBook
1 of 6

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Integration Settings

Enable Snowflake Table Grants

  1. Navigate to the App Settings page.

  2. Scroll to the Global Integrations Settings section.

  3. Opt to change the Role Prefix. Snowflake table grants creates a new Snowflake role for each Immuta user. To ensure these Snowflake role names do not collide with existing Snowflake roles, each Snowflake role created for Snowflake table grants requires a common prefix. When using multiple Immuta accounts within a single Snowflake account, the Snowflake table grants role prefix should be unique for each Immuta account. The prefix must adhere to Snowflake identifier requirements and be less than 50 characters. Once the configuration is saved, the prefix cannot be modified; however, the Snowflake table grants feature can be disabled and re-enabled to change the prefix.

  4. Finish configuring your integration by following one of these guidelines:

    • New Snowflake integration: Set up a new Snowflake integration by following the .

    • Existing Snowflake integration (automatic setup): You will be prompted to enter connection information for a Snowflake user. Immuta will execute the migration to Snowflake table grants using a connection established with this Snowflake user. The Snowflake user you provide here must have Snowflake privileges to run these .

Snowflake table grants private preview migration

To migrate from the private preview version of Snowflake table grants (available before September 2022) to the generally available version of Snowflake table grants, follow the steps in the .

Enable Snowflake Low Row Access Policy Mode

If you have Snowflake low row access policy mode enabled in private preview and have impersonation enabled, see these . Otherwise, query performance will be negatively affected.

  1. Click the App Settings icon in the sidebar and scroll to the Global Integration Settings section.

Existing Snowflake integration (manual setup): Immuta will display a link to a migration script you must run in Snowflake and a link to a rollback script for use in the event of a failed migration. Important: Execute the migration script in Snowflake before clicking Save on the app settings page.
configuration guide
privilege grants
migration guide
Click the Enable Snowflake Low Row Access Policy Mode checkbox to enable the feature.
  • Confirm to allow Immuta to automatically disable impersonation for the Snowflake integration. If you do not confirm, you will not be able to enable Snowflake low row access policy mode.

  • Click Save.

  • Configure your Snowflake integration

    If you already have a Snowflake integration configured, you don't need to reconfigure your integration. Your Snowflake policies automatically refresh when you enable Snowflake low row access policy mode.

    1. Configure your Snowflake integration. Note that you will not be able to enable project workspaces or user impersonation with Snowflake low row access policy mode enabled.

    2. Click Save and Confirm your changes.

    upgrade instructions

    Upgrade Snowflake Low Row Access Policy Mode

    Prerequisites

    This upgrade step is necessary if you meet both of the following criteria:

    • You have the Snowflake low row access policy mode enabled in private preview.

    • You have user impersonation enabled.

    If you do not meet this criteria, follow the instructions on the .

    Upgrade to Snowflake low row access policy mode

    To upgrade to the generally available version of the feature, on the app settings page and then re-enable it.

    configuration guide
    disable your Snowflake integration

    Use Snowflake Data Sharing with Immuta

    Immuta is compatible with Snowflake Secure Data Sharing. Using both Immuta and Snowflake, organizations can share the policy-protected data of their Snowflake database with other Snowflake accounts with Immuta policies enforced in real time.

    Prerequisites:

    • Snowflake integration enabled

    • Snowflake tables registered in Immuta as data sources

    Create Immuta Policies to Protect the Data

    Required Permission: Immuta: GOVERNANCE

    to fit your organization's compliance requirements.

    It's important to understand that subscription policies are not relevant to Snowflake data shares, because the act of sharing the data is the subscription policy. Data policies can be enforced on the consuming account from the producer account on a share following these instructions.

    Register the Snowflake Data Consumer with Immuta

    Required Permission: Immuta: USER_ADMIN

    To register the Snowflake data consumer in Immuta,

    1. .

    2. to match the account ID for the data consumer. This value is the output on the data consumer side when SELECT CURRENT_ACCOUNT() is run in Snowflake.

    3. for your organization's policies.

    4. .

    Create the Snowflake Data Share

    Required Permission: Snowflake ACCOUNTADMIN

    To share the policy-protected data source,

    1. of the Snowflake table that has been registered in Immuta.

    2. Grant reference usage on the Immuta database to the share you created:

      Replace the content in angle brackets above with the name of your Immuta database and Snowflake data share.

    Build Immuta data policies
    Create a new Immuta user
    Update the Immuta user's Snowflake username
    Give the Immuta user the appropriate attributes and groups
    Subscribe the Immuta user to the data sources
    Create a Snowflake Data Share
    GRANT REFERENCE_USAGE ON DATABASE "<Immuta database of the provider account>" TO SHARE "<DATA_SHARE>";

    Configure Snowflake Lineage Tag Propagation

    Private preview: This feature is only available to select accounts. Reach out to your Immuta representative to enable this feature.

    Contact your Immuta representative to enable this feature in your Immuta tenant.

    Configure the Snowflake integration

    1. Navigate to the App Setting page and click the Integration tab.

    2. Click +Add Integration and select Snowflake from the dropdown menu.

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

    4. Enable Query Audit.

    5. Enable Lineage and complete the following fields:

      • Ingest Batch Sizes: This setting configures the number of rows Immuta ingests per batch when streaming Access History data from your Snowflake instance.

      • Table Filter: This filter determines which tables Immuta will ingest lineage for. Enter a regular expression that excludes / from the beginning and end to filter tables. Without this filter, Immuta will attempt to ingest lineage for every table on your Snowflake instance.

    6. Select Manual or Automatic Setup and

    Trigger Snowflake lineage sync job

    Prerequisite

    .

    Trigger the lineage job

    The Snowflake lineage sync endpoint triggers the lineage ingestion job that allows Immuta to propagate Snowflake tags added through lineage to Immuta data sources.

    1. Copy the example and replace the Immuta URL and API key with your own.

    2. Change the payload attribute values to your own, where

      • tableFilter (string): This regular expression determines which tables Immuta will ingest lineage for. Enter a regular expression that excludes / from the beginning and end to filter tables. Without this filter, Immuta will attempt to ingest lineage for every table on your Snowflake instance.

    Next steps

    Once the sync job is complete, you can complete the following steps:

    Tag Filter: This filter determines which tags to propagate using lineage. Enter a regular expression that excludes / from the beginning and end to filter tags. Without this filter, Immuta will ingest lineage for every tag on your Snowflake instance.

    batchSize (integer): This parameter configures the number of rows Immuta ingests per batch when streaming Access History data from your Snowflake instance. Minimum 1.

  • lastTimestamp (string): Setting this parameter will only return lineage events later than the value provided. Use a format like 2022-06-29T09:47:06.012-07:00.

  • follow the steps in this guide to configure the Snowflake integration
    Authenticate with the Immuta API
    Register Snowflake data sources
    Build policies
    curl -X 'POST' \
        'https://www.organization.immuta.com/lineage/ingest/snowflake' \
        -H 'accept: application/json' \
        -H 'Content-Type: application/json' \
        -H 'Authorization: 846e9e43c86a4ct1be14290d95127d13f' \
        -d '{
        "tableFilter": "MY_DATABASE\\MY_SCHEMA\\..*",
        "batchSize": 1,
        "lastTimestamp": "2022-06-29T09:47:06.012-07:00"
        }'