Configure Redshift Integration
This page illustrates how to configure the Redshift integration in Immuta. For an overview of the integration, see the Redshift Overview documentation.
For instructions on configuring Redshift Spectrum, see the Redshift Spectrum guide.
Requirements
- A Redshift cluster with an RA3 node is required for the multi-database integration. You must use a Redshift RA3 instance type because Immuta requires cross-database views, which are only supported in Redshift RA3 instance types. For other instance types, you may configure a single-database integration using one of the Redshift Spectrum options.
- For automated installations, the credentials provided must be a Superuser or have the ability to create databases and users and modify grants.
- The
enable_case_sensitive_identifier
parameter must be set tofalse
(default setting) for your Redshift cluster.
Add a Redshift integration
- Click the App Settings icon in the left sidebar.
- Click Native Integrations in the left panel.
- Click the +Add Native 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 your configuration method
You have two options for configuring your Redshift environment:
- Automatic setup: Grant Immuta one-time use of credentials to automatically configure your Redshift environment and the integration.
- Manual setup: Run the Immuta script in your Redshift environment yourself to configure your environment and the integration.
Automatic setup
Immuta requires temporary, one-time use of credentials with specific privileges.
When performing an automated installation, Immuta requires temporary, one-time use of credentials with the following privileges:
CREATE DATABASE
CREATE USER
REVOKE ALL PRIVILEGES ON DATABASE
GRANT TEMP ON DATABASE
MANAGE GRANTS ON ACCOUNT
These privileges will be used to create and configure a new IMMUTA database within the specified Redshift 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 a Superuser. If you create a new account, it can be deleted after initial setup is complete.
Alternatively, you can create the IMMUTA database within the specified Redshift instance without giving Immuta user credentials for a Superuser using the manual setup option.
- Select Automatic.
- Enter an Initial Database from your Redshift integration for Immuta to use to connect.
-
Use the dropdown menu to select your Authentication Method.
- Username and Password: Enter the Username and Password of the privileged user.
- AWS Access Key: Enter the Database User, Access Key ID, and Secret Key. Opt to enter in the Session Token.
Manual setup
Required privileges
The specified role used to run the bootstrap needs to have the following privileges:
CREATE DATABASE
CREATE USER
REVOKE ALL PRIVILEGES ON DATABASE
GRANT TEMP ON DATABASE
MANAGE GRANTS ON ACCOUNT
- Select Manual and download both of the bootstrap scripts.
- 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 your authentication method, and enter the information of the newly created account.
Test the connection and save the configuration
-
Click Test Redshift Connection.
-
Once the credentials are successfully tested, click Save.
-
Click Confirm.
Edit a Redshift integration
- Click the App Settings icon in the left sidebar.
- Navigate to the Native Integrations section and click the down arrow next to the Redshift 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.
-
Enter Username and Password.
Immuta requires temporary, one-time use of credentials with specific permissions.
When performing edits to an integration, Immuta requires temporary, one-time use of credentials of a Superuser or a user with the following permissions:
- Create Databases
- Create users
- Modify grants
Alternatively, you can download the Edit Script and run it in Redshift.
-
Click Validate Credentials.
- Click Save.
- Click Confirm.
Remove a Redshift integration
Redshift Spectrum
Disabling the Redshift 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 left sidebar.
- Navigate to the Native Integrations section and click the down arrow next to the Redshift Integration.
- Click the checkbox to disable the integration.
- Enter the username and password that were used to initially configure the integration and click Validate Credentials.
- Click Save.
- Click Confirm.