arrow-left
All pages
gitbookPowered by GitBook
1 of 1

Loading...

Snowflake Low Row Access Policy Mode

circle-exclamation

Snowflake with low row access policy mode enabled will soon be required

Support for disabling this feature has been deprecated. You must have Snowflake low row access policy mode and table grants enabled for your integration to continue working. Furthermore, Snowflake project workspaces (which require table grants to be disabled) will be unavailable. See the Deprecations page for EOL dates.

The Snowflake low row access policy mode improves query performance in Immuta's Snowflake integration by decreasing the number of Snowflake row access policiesarrow-up-right Immuta creates and by using table grants to manage user access.

Immuta manages access to Snowflake tables by administering Snowflake row access policiesarrow-up-right and column masking policiesarrow-up-right on those tables, allowing users to query them directly in Snowflake while policies are enforced.

Without Snowflake low row access policy mode enabled, row access policies are created and administered by Immuta in the following scenarios:

  • are disabled and a subscription policy that does not automatically subscribe everyone to the data source is applied. Immuta administers Snowflake row access policies to filter out all the rows to restrict access to the entire table when the user doesn't have privileges to query it. However, if table grants are disabled and a subscription policy is applied that grants everyone access to the data source automatically, Immuta does not create a row access policy in Snowflake. See the for details about these policy types.

  • is applied to a data source. A row access policy filters out all the rows of the table if users aren't acting under the purpose specified in the policy when they query the table.

  • is applied to a data source. A row access policy filters out rows querying users don't have access to.

hashtag
Reducing row access policies

Snowflake low row access policy mode is enabled by default to reduce the number of row access policies Immuta creates and improve query performance. Snowflake low row access policy mode requires

  • .

  • user impersonation to be disabled. User impersonation diminishes the performance of interactive queries because of the number of row access policies Immuta creates when it's enabled.

hashtag
Requirements

hashtag
Project-scoped purpose exceptions for Snowflake with low row access policy mode enabled

Project-scoped purpose exceptions for Snowflake integrations allow you to apply to Snowflake data sources in a project. As a result, users can only access that data when they are working within that specific project.

hashtag
Masked joins for Snowflake with low row access policy mode enabled

This feature allows masked columns to be joined across data sources that belong to the same project. When data sources do not belong to a project, Immuta uses a unique salt per data source for hashing to prevent masked values from being joined. (See the guide for an explanation of that behavior.) However, once you add Snowflake data sources to a project and enable masked joins, Immuta uses a consistent salt across all the data sources in that project to allow the join.

For more information about masked joins and enabling them for your project, see the of documentation.

hashtag
Limitations and considerations

  • Project workspaces are not compatible with this feature.

  • Impersonation is not supported when the Snowflake low row access policy mode is enabled.

User impersonation is enabled. A row access policy is created for every Snowflake table registered in Immuta.

Table grants
subscription policies page
Purpose-based policy
Row-level security policy
table grants to be enabled
Snowflake integration enabled
Snowflake table grants enabled
purpose-based policies
Why use masked joins?
Masked joins section