This page illustrates how to configure the Amazon Redshift Spectrum integration on the Immuta app settings page. To configure this integration via the Immuta API, see the Integrations API getting started guide.
A Redshift cluster with an AWS row-level security patch applied. Contact Immuta for guidance.
that is .
The must be set to false (default setting) for your Redshift cluster.
. You have two options for configuring this database:
: Instead of creating an immuta database that manages all schemas and views created when Redshift data is registered in Immuta, the integration adds the Immuta-managed schemas and views to an existing database in Redshift.
: Create a new database for Immuta that manages all schemas and views created when Redshift data is registered in Immuta, and re-create all of your external tables in that database.
The user configuring the integration must have the permissions below.
APPLICATION_ADMIN Immuta permission
The Redshift role used to run the Immuta bootstrap script must have the following privileges when configuring the integration:
If using an existing database
Allow Immuta to create secure views of your external tables through one of these methods:
: Instead of creating an immuta database that manages all schemas and views created when Redshift data is registered in Immuta, the integration adds the Immuta-managed schemas and views to an existing database in Redshift.
: Create a new database for Immuta that manages all schemas and views created when Redshift data is registered in Immuta, and re-create all of your external tables in that database.
Select a tab below for instructions for either method.
Configure the integration with an existing database
Click the App Settings icon in the navigation menu.
Click the Integrations tab.
Click the +Add Integration
Click the App Settings icon in the navigation menu.
Navigate to the Integrations tab and click the down arrow next to the Redshift Spectrum integration.
Edit the field you want to change. Note any field shadowed is not editable, and the integration must be disabled and re-installed to change it.
Disabling Amazon Redshift Spectrum
Disabling the Amazon Redshift Spectrum integration is not supported when you set the fields nativeWorkspaceName, nativeViewName, and nativeSchemaName to . Disabling the integration when these fields are used in metadata ingestion causes undefined behavior.
Click the App Settings icon in the navigation menu.
Navigate to the Integrations tab and click the down arrow next to the Amazon Redshift Spectrum integration.
Click the checkbox to disable the integration.
ALL PRIVILEGES ON DATABASE for the database you configure the integration with, as you must manage grants on that database.
CREATE USER
GRANT TEMP ON DATABASE
If creating a new database
CREATE DATABASE
CREATE USER
GRANT TEMP ON DATABASE
REVOKE ALL PRIVILEGES ON DATABASE
If enabling user impersonation:
OWNERSHIP ON GROUP IMMUTA_IMPERSONATOR_ROLE
CREATE GROUP
Complete the Host and Port fields.
Enter the name of the database you created the external schema in as the Immuta Database. This database will store all secure schemas and Immuta-created views.
Opt to check the Enable Impersonation box and customize the Impersonation Role name as needed. This will allow users to natively impersonate another user. Once you finish configuring the integration, you can grant the IMPERSONATE_USER permission to Immuta users. See the Managing users and permissions guide for instructions.
Select Manual and download the second bootstrap script (bootstrap script (Immuta database)) from the Setup section. The specified role used to run the bootstrap needs to have the permissions listed above for an existing database.
Run the bootstrap script (Immuta database) in the Redshift database that contains the external schema.
Choose username and password as your authentication method, and enter the credentials from the bootstrap script for the Immuta_System_Account.
Click Save.
Configure the integration by creating a new database
Click the App Settings icon in the navigation menu.
Click the Integrations tab.
Click the +Add Integration button and select Redshift from the dropdown menu.
Complete the Host and Port fields.
Enter an Immuta Database. This is a new database where all secure schemas and Immuta created views will be stored.
Opt to check the Enable Impersonation box and customize the Impersonation Role name as needed. This will allow users to natively impersonate another user.
Select Manual and download both of the bootstrap scripts from the Setup section. The specified role used to run the bootstrap needs to have the for a new database.
Run the bootstrap script (initial database) in the Redshift initial database.
Run the bootstrap script (Immuta database) in the new Immuta Database in Redshift.
Choose username and password as your authentication method, and enter the credentials from the bootstrap script for the Immuta_System_Account.
Click Save.
Then, add your external tables to the Immuta Database.
Download the Edit Script and run it in the Immuta Database in Amazon Redshift.
In Immuta, enter the credentials used to initially configure the integration.
Click Save.
Enter the credentials that were used to initially configure the integration.
Click cleanup script to download the script.
Click Save.
Run the cleanup script in Amazon Redshift.