Configure an Amazon Redshift Spectrum Integration
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.
Requirements
A Redshift cluster with an AWS row-level security patch applied. Contact Immuta for guidance.
The
enable_case_sensitive_identifierparameter must be set tofalse(default setting) for your Redshift cluster.A Redshift database that contains an external schema and external tables. You have two options for configuring this database:
Configure the integration with an existing database that contains the external tables: Instead of creating an
immutadatabase 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.Configure the integration by creating a new
immutadatabase: 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.
Permissions
The user configuring the integration must have the permissions below.
APPLICATION_ADMINImmuta permissionThe Redshift role used to run the Immuta bootstrap script must have the following privileges when configuring the integration:
If using an existing database
ALL PRIVILEGES ON DATABASEfor the database you configure the integration with, as you must manage grants on that database.CREATE USERGRANT TEMP ON DATABASE
If creating a new database
CREATE DATABASECREATE USERGRANT TEMP ON DATABASEREVOKE ALL PRIVILEGES ON DATABASE
If enabling user impersonation:
OWNERSHIP ON GROUP IMMUTA_IMPERSONATOR_ROLECREATE GROUP
Add a Redshift integration
Allow Immuta to create secure views of your external tables through one of these methods:
Configure the integration with an existing database that contains the external tables: Instead of creating an
immutadatabase 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.Configure the integration by creating a new
immutadatabase: 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 button and select Redshift from the dropdown menu.
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.
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 permissions listed above 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.
Edit a Redshift Spectrum 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.
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.
Remove a Redshift Spectrum integration
Disabling Amazon Redshift Spectrum
Disabling the Amazon Redshift Spectrum integration is not supported when you set the fields nativeWorkspaceName, nativeViewName, and nativeSchemaName to create Redshift Spectrum data sources. 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.
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.
Last updated
Was this helpful?

