arrow-left

All pages
gitbookPowered by GitBook
1 of 10

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Configure a Snowflake Integration

circle-exclamation

Deprecation notice

Support for configuring the Snowflake integration using this legacy workflow has been deprecated. Instead, configure your integration and register your data using connections.

circle-info

Warehouse sizing recommendations

Before configuring the integration, review the to ensure that you use Snowflake compute resources cost effectively.

hashtag
Permissions

The permissions outlined in this section are the Snowflake privileges required for a basic configuration. See the for a list of privileges necessary for additional features and settings.

  • APPLICATION_ADMIN Immuta permission

  • The Snowflake user running the installation script must have the following privileges:

circle-exclamation

Different accounts

The setup account used to enable the integration must be different from the account used to register data sources in Immuta.

hashtag
Configure the integration

circle-exclamation

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

  1. .

  2. Click the App Settings icon in the navigation menu.

  3. Click the Integrations tab.

hashtag
Select your configuration method

circle-exclamation

in Snowflake at the account level may cause unexpected behavior of the Snowflake integration in Immuta

The must be set to false (the default setting in Snowflake) at the account level. Changing this value to true causes unexpected behavior of the Snowflake integration.

You have two options for configuring your Snowflake environment:

  • : Grant Immuta one-time use of credentials to automatically configure your Snowflake environment and the integration.

  • : Run the Immuta script in your Snowflake environment yourself to configure your Snowflake environment and the integration.

hashtag
Automatic setup

Required permissions: When performing an automatic setup, the credentials provided must have the .

The setup will use the provided credentials to create a user called IMMUTA_SYSTEM_ACCOUNT and grant the following privileges to that user:

  • CREATE ROLE ON ACCOUNT WITH GRANT OPTION

  • APPLY MASKING POLICY ON ACCOUNT WITH GRANT OPTION

  • APPLY ROW ACCESS POLICY ON ACCOUNT WITH GRANT OPTION

Alternatively, you can use the and edit the provided script to grant the Immuta system account OWNERSHIP on the objects that Immuta will secure, instead of granting MANAGE GRANTS ON ACCOUNT. The current role that has OWNERSHIP on the securables will need to be granted to the Immuta system role. However, if granting OWNERSHIP instead of MANAGE GRANTS ON ACCOUNT, Immuta will not be able to manage the role that is granted to the account, so it is recommended to run the script as-is, without changes.

circle-info

These credentials 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 privileges, or you can grant temporary use of a pre-existing account. By default, the pre-existing account with appropriate privileges is ACCOUNTADMIN. If you create a new account, it can be deleted after initial setup is complete.

From the Select Authentication Method Dropdown, select one of the following authentication methods:

  • Username and Password (): Complete the Username, Password, and Role fields.

  • :

    1. Complete the Username field. This user must be .

hashtag
Manual setup

Required permissions: When performing a manual setup, the Snowflake user running the script must have the .

It will create a user called IMMUTA_SYSTEM_ACCOUNT, and grant the following privileges to that user:

  • CREATE ROLE ON ACCOUNT WITH GRANT OPTION

  • APPLY MASKING POLICY ON ACCOUNT WITH GRANT OPTION

  • APPLY ROW ACCESS POLICY ON ACCOUNT WITH GRANT OPTION

Alternatively, you can grant the Immuta system account OWNERSHIP on the objects that Immuta will secure, instead of granting MANAGE GRANTS ON ACCOUNT. The current role that has OWNERSHIP on the securables will need to be granted to the Immuta system role. However, if granting OWNERSHIP instead of MANAGE GRANTS ON ACCOUNT, Immuta will not be able to manage the role that is granted to the account, so it is recommended to run the script as-is, without changes.

hashtag
Run the script

  1. Select Manual.

  2. Use the Dropdown Menu to select your Authentication Method:

    • Username and password (): Enter the Username and Password and set them in the bootstrap script for the Immuta system account credentials.

hashtag
Select available warehouses (optional)

If you enabled a Snowflake workspace, select Warehouses from the dropdown menu that will be available to project owners when creating 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.

hashtag
Select excepted roles and users

Enter the Excepted Roles/User List. Each role or username (both case-sensitive) in this list should be separated by a comma. Wildcards are unsupported.

circle-exclamation

Excepted roles/users will have no policies applied to queries

Any user with the username or acting under the role in this list will have no policies applied to them when querying Immuta protected Snowflake tables in Snowflake. Therefore, this list should be used for service or system accounts and the default role of the account used to create the data sources in the Immuta projects (if you have Snowflake workspace enabled).

hashtag
Save the configuration

Click Save.

hashtag
Opt to enable Snowflake tag ingestion

To allow Immuta to automatically import table and column tags from Snowflake, enable Snowflake tag ingestion in the external catalog section of the Immuta app settings page.

Requirements:

  • A configured Snowflake integration or connection

  • The Snowflake user configuring the Snowflake tag ingestion must have the following privileges and should be able to access all securables registered as data sources:

  1. Navigate to the App Settings page.

  2. Scroll to 2 External Catalogs, and click Add Catalog.

  3. Enter a Display Name and select Snowflake from the dropdown menu.

hashtag
Register data

.

How-to Guides

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 WITH GRANT OPTION

  • APPLY MASKING POLICY ON ACCOUNT WITH GRANT OPTION

  • APPLY ROW ACCESS POLICY ON ACCOUNT WITH GRANT OPTION

  • The Snowflake user registering data sources must have the following privileges on all securables:

    • USAGE on all databases and schemas with registered data sources

    • REFERENCES on all tables and views registered in Immuta

    • SELECT on all tables and views registered in Immuta

  • Click the +Add Integration button and select Snowflake from the dropdown menu.
  • Complete the Host, Port, and Default Warehouse fields.

  • Opt to check the Enable Project Workspace box. This will allow for managed write access within Snowflake. Note: Project workspaces still use Snowflake views, so the default role of the account used to create the data sources in the project must be added to the Excepted Roles List. This option is unavailable when table grants is enabled.

  • Opt to check the Enable Impersonation box and customize the Impersonation Role to allow Immuta users to impersonate another user. You cannot edit this choice after you configure the integration. Once you finish configuring the integration, you can grant the IMPERSONATE_USER permission to Immuta users. See the Managing user and permissions guide for instructions.

  • Snowflake query audit is enabled by default.

    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.

  • MANAGE GRANTS ON ACCOUNT WITH GRANT OPTION

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

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

  • Complete the Role field.

  • MANAGE GRANTS ON ACCOUNT WITH GRANT OPTION

    Key Pair Authenticationarrow-up-right: Upload the Key Pair file and when using an encrypted private key, enter the private key file password in the Additional Connection String Options. Use the following format: PRIV_KEY_FILE_PWD=<your_pw>

  • Snowflake External OAuth:

    1. Create a security integration for your Snowflake External OAutharrow-up-right. Note that if you have an existing security integration, then the Immuta system role must be added to the existing EXTERNAL_OAUTH_ALLOWED_ROLES_LISTarrow-up-right. The Immuta system role will be the Immuta database provided above with _SYSTEM. If you used the default database name it will be IMMUTA_SYSTEM.

    2. Fill out the Token Endpoint. This is where the generated token is sent.

    3. Fill out the Client ID. This is the subject of the generated token.

    4. Select the method Immuta will use to obtain an access token:

      • Certificate

        1. Keep the Use Certificate checkbox enabled.

  • In the Setup section, click bootstrap script to download the script. Then, fill out the appropriate fields and run the bootstrap script in Snowflake.

  • IMPORTED PRIVILEGES ON DATABASE snowflake
  • APPLY TAG ON ACCOUNT

  • Enter the Account.

  • Enter the Authentication information based on your authentication method:

    1. Username and password: Fill out Username and Password.

    2. Key pair:

      1. Fill out Username.

      2. Click Upload Certificates to enter in the Certificate Authority, Certificate File, and Key File.

      3. Close the modal and opt to enter the Encrypted Key File Passphrase.

  • Enter the additional Snowflake details: Port, Default Warehouse, and Role.

  • Opt to enter the Proxy Host and Proxy Port.

  • Click the Test Connection button.

  • Click the Test Data Source Link.

  • Once both tests are successful, click Save.

  • Warehouse sizing recommendations guide
    Snowflake reference guide
    Opt to configure private connectivity for Snowflake
    Altering parametersarrow-up-right
    QUOTED_IDENTIFIERS_IGNORE_CASE parameterarrow-up-right
    Automatic setup
    Manual setup
    permissions listed above
    manual setup method
    Not recommendedarrow-up-right
    Key Pair Authenticationarrow-up-right
    assigned the public key in Snowflakearrow-up-right
    permissions listed above
    Not recommendedarrow-up-right
    Register Snowflake data in Immuta
    Opt to fill out the Resource field with a URI of the resource where the requested token will be used.
  • Enter the x509 Certificate Thumbprint. This identifies the corresponding key to the token and is often abbreviated as x5t or is called sub (Subject).

  • Upload the PEM Certificate, which is the client certificate that is used to sign the authorization request.

  • Client secret

    1. Uncheck the Use Certificate checkbox.

    2. Enter the Scope (string). The scope limits the operations and roles allowed in Snowflake by the access token. See the OAuth 2.0 scopes documentationarrow-up-right for details about scopes.

    3. Enter the Client Secret (string). Immuta uses this secret to authenticate with the authorization server when it requests a token.

  • Integration Settings

    Enable Snowflake Table Grants

    1. Navigate to the App Settings page.

    2. Scroll to the Global Integrations Settings section.

    3. Ensure the Snowflake Table Grants checkbox is checked. It is enabled by default.

    Enable Snowflake Low Row Access Policy Mode

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

    2. Click the Enable Snowflake Low Row Access Policy Mode checkbox to enable the feature.

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

    Snowflake Table Grants Private Preview Migration

    To migrate from the private preview version of table grants (available before September 2022) to the GA version, complete the steps below.

    1. Navigate to the App Settings page.

    2. Scroll to the Global Integrations Settings section.

    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 requirementsarrow-up-right 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.

  • Finish configuring your integration by following one of these guidelines:

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

    • 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 privilege grants.

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

  • circle-info

    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 migration guide.

  • Click Save.

  • hashtag
    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.

    Uncheck the Snowflake Table Grants checkbox to disable the feature.
  • Click Save. Wait for about 1 minute per 1000 users. This gives time for Immuta to drop all the previously created user roles.

  • Use the Enable Snowflake table grants tutorial to re-enable the feature.

  • Edit or Remove Your Snowflake Integration

    circle-exclamation

    Deprecation notice

    Support for editing or deleting the Snowflake integration using this legacy workflow has been deprecated. Instead, manage your connection settings or deregister your connection.

    To edit or remove a Snowflake integration, you have two options:

    • Automatic: Grant Immuta one-time use of credentials with the following privileges to automatically edit or remove the integration:

      • CREATE DATABASE ON ACCOUNT WITH GRANT OPTION

      • CREATE ROLE ON ACCOUNT WITH GRANT OPTION

    • Manual: Run the Immuta script in your Snowflake environment as a user with the following privileges to edit or remove the integration:

      • CREATE DATABASE ON ACCOUNT WITH GRANT OPTION

      • CREATE ROLE ON ACCOUNT WITH GRANT OPTION

    hashtag
    Edit a Snowflake integration

    Select one of the following options for editing your integration:

    • : Grant Immuta one-time use of credentials to automatically edit the integration.

    • : Run the Immuta script in your Snowflake environment yourself to edit the integration.

    hashtag
    Automatic edit

    1. Click the App Settings icon in the navigation menu.

    2. Click the Integrations tab and click the down arrow next to the Snowflake integration.

    3. Edit the field you want to change or check a checkbox of a feature you would like to enable. Note any field shadowed is not editable, and the integration must be disabled and re-installed to change it.

    hashtag
    Manual edit

    1. Click the App Settings icon in the navigation menu.

    2. Click the Integrations tab and click the down arrow next to the Snowflake integration.

    3. Edit the field you want to change or check a checkbox of a feature you would like to enable. Note any field shadowed is not editable, and the integration must be disabled and re-installed to change it.

    hashtag
    Remove a Snowflake integration

    Select one of the following options for deleting your integration:

    • : Grant Immuta one-time use of credentials to automatically remove the integration and Immuta-managed resources from your Snowflake environment.

    • : Run the Immuta script in your Snowflake environment yourself to remove Immuta-managed resources and policies from Snowflake.

    hashtag
    Automatic removal

    1. Click the App Settings icon in the navigation menu.

    2. Click the Integrations tab and click the down arrow next to the Snowflake integration.

    3. Click the checkbox to disable the integration.

    hashtag
    Manual removal

    circle-exclamation

    Cleaning up your Snowflake environment Until you manually run the cleanup script in your Snowflake environment, Immuta-managed and Immuta policies will still exist in Snowflake.

    1. Click the App Settings icon in the navigation menu.

    2. Click the Integrations tab and click the down arrow next to the Snowflake integration.

    3. Click the checkbox to disable the integration.

    Using Snowflake Data Sharing with Immuta

    Immuta is compatible with Snowflake Secure Data Sharingarrow-up-right. 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

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

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

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

    Configure Snowflake Lineage Tag Propagation

    circle-info

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

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

    hashtag

    CREATE USER ON ACCOUNT WITH GRANT OPTION
  • MANAGE GRANTS ON ACCOUNT WITH GRANT OPTION

  • CREATE USER ON ACCOUNT WITH GRANT OPTION

  • MANAGE GRANTS ON ACCOUNT WITH GRANT OPTION

  • APPLY MASKING POLICY ON ACCOUNT WITH GRANT OPTION

  • APPLY ROW ACCESS POLICY ON ACCOUNT WITH GRANT OPTION

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

    • Username and Password option: Complete the Username, Password, and Role fields.

    • Key Pair Authentication option:

      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.

  • Click Save.

  • Click edit script to download the script, and then run it in Snowflake.

  • Click Save.

  • Enter the Username, Password, and Role that was entered when the integration was configured.
  • Click Save.

  • Click cleanup script to download the script.
  • Click Save.

  • Run the cleanup script in Snowflake.

  • Automatic
    Manual
    Automatic
    Manual
    roles

    Subscribe the Immuta user to the data sources.

    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
    Create a Snowflake Data Sharearrow-up-right
    GRANT REFERENCE_USAGE ON DATABASE "<Immuta database of the provider account>" TO SHARE "<DATA_SHARE>";
    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

    hashtag
    Trigger Snowflake lineage sync job

    hashtag
    Prerequisite

    Authenticate with the Immuta API.

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

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

    hashtag
    Next steps

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

    • Register Snowflake data sources

    • Build policies

    Register a Snowflake Connection

    hashtag
    Requirements

    • APPLICATION_ADMIN Immuta permission

    • The Snowflake user registering the connection and running the script must 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

    hashtag
    Prerequisites

    No Snowflake integration configured in Immuta. If your Snowflake integration is already configured on the app settings page, follow the guide.

    hashtag
    Set up the Immuta system account

    Complete the following actions in Snowflake:

    1. . Immuta will use this system account continuously to orchestrate Snowflake policies and maintain state between Immuta and Snowflake.

    2. with a minimum of the following privileges:

      • USAGE on all databases and schemas with registered data sources.

    hashtag
    Register a connection

    To register a Snowflake connection, follow the instructions below.

    1. Click Data and select the Connections tab in the navigation menu.

    2. Click the + Add Connection button.

    3. Select the Snowflake data platform tile.

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

  • follow the steps in this guide to configure the Snowflake integration
    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"
        }'

    MANAGE GRANTS ON ACCOUNT WITH GRANT OPTION

  • APPLY MASKING POLICY ON ACCOUNT WITH GRANT OPTION

  • APPLY ROW ACCESS POLICY ON ACCOUNT WITH GRANT OPTION

  • REFERENCES on all tables and views registered in Immuta.

  • SELECT on all tables and views registered in Immuta.

  • Grant the new Snowflake rolearrow-up-right to the system account you just created.

  • Enter the connection information:
    • Host: The URL of your Snowflake account.

    • Port: Your Snowflake port.

    • Warehouse: The warehouse the Immuta system account user will use to run queries and perform Snowflake operations.

    • Immuta Database: The new, empty database for Immuta to manage. This is where system views, user entitlements, row access policies, column-level policies, procedures, and functions managed by Immuta will be created and stored.

    • Display Name: The display name represents the unique name of your connection and will be used as prefix in the name for all data objects associated with this connection. It will also appear as the display name in the UI and will be used in all API calls made to update or delete the connection. Avoid the use of periods (.) or

  • Click Next.

  • Select an authentication method from the dropdown menu and enter the authentication information for the Immuta system account you created. Enter the Role with the listed privileges, then continue to enter the authentication information:

    1. Username and password (Not recommendedarrow-up-right): Choose one of the following options.

      1. Select Immuta Generated to have Immuta populate the system account name and password.

      2. Select User Provided to enter your own name and password for the Immuta system account.

    2. Snowflake External OAuth:

      1. Fill out the Token Endpoint, which is where the generated token is sent. It is also known as aud (audience) and iss (issuer).

      2. Fill out the Client ID, which is the subject of the generated token. It is also known as

    3. :

      1. Complete the Username field. This user must be .

      2. If using an encrypted private key, enter the Private Key Password.

  • Copy the provided script and run it in Snowflake as a user with the privileges listed in the requirements section. Running this script grants the following privileges to the Immuta system account:

    1. CREATE ROLE ON ACCOUNT WITH GRANT OPTION

    2. APPLY MASKING POLICY ON ACCOUNT WITH GRANT OPTION

    3. APPLY ROW ACCESS POLICY ON ACCOUNT WITH GRANT OPTION

    4. MANAGE GRANTS ON ACCOUNT WITH GRANT OPTION

    Alternatively, you can grant the Immuta system account OWNERSHIP on the objects that Immuta will secure, instead of granting MANAGE GRANTS ON ACCOUNT. The current role that has OWNERSHIP on the securables will need to be granted to the Immuta system role. However, if granting OWNERSHIP instead of MANAGE GRANTS ON ACCOUNT, Immuta will not be able to manage the role that is granted to the account, so it is recommended to run the script as-is, without changes.

  • Click Test Connection.

  • If the connection is successful, click Next. If there are any errors, check the connection details and credentials to ensure they are correct and try again.

  • Ensure all the details are correct in the summary and click Complete Setup.

  • Use the connection upgrade manager
    Create a new user in Snowflake to be the Immuta system accountarrow-up-right
    Create a Snowflake rolearrow-up-right
    restricted words
    in your connection name.
    sub
    (subject).
  • Opt to fill out the Resource field with a URI of the resource where the requested token will be used.

  • Enter the x509 Certificate Thumbprint. This identifies the corresponding key to the token and is often abbreviated as x5t or is called kid (key identifier).

  • Upload the PEM Certificate, which is the client certificate that is used to sign the authorization request.

  • Click Select a File, and upload the Snowflake private key pair file.
    Key Pair Authenticationarrow-up-right
    assigned the public key in Snowflakearrow-up-right