> For the complete documentation index, see [llms.txt](https://documentation.immuta.com/saas/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://documentation.immuta.com/saas/configuration/integrations/redshift/amazon-redshift-integration/register-an-amazon-redshift-connection.md).

# Register an Amazon Redshift Connection

Register your Amazon Redshift data into Immuta

```mermaid
flowchart LR
    A[Create system user,<br/> exemption role, and<br/> database in Redshift]
    B[Register connection<br/>in Immuta]
    C[Run Immuta setup script<br/>in Redshift]

    A --> B --> C 
```

## Set up Amazon Redshift

**Required Amazon Redshift permissions**: To set up your Amazon Redshift to connect to Immuta, your **Amazon Redshift setup user** must have superuser or the following permissions:

* `CREATEDB`
* `CREATE USER`
* `CREATE ROLE`
* `sys:secadmin` role
* [`USAGE WITH GRANT OPTION` on all databases and schemas that contain data you want to register](#user-content-fn-1)[^1]
* [The following privileges `WITH GRANT OPTION` on objects registered in Immuta](#user-content-fn-2)[^2]:
  * `DELETE`
  * `INSERT`
  * `SELECT`
  * `TRUNCATE`
  * `UPDATE`

In Amazon Redshift, [create a new database user to serve as the **Immuta system account**](https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_USER.html). Immuta will use this system account continuously to crawl the connection and apply policies.&#x20;

You will provide these account credentials to Immuta in the next step. This user will then be granted the necessary permissions in Amazon Redshift by the Immuta setup script.

{% hint style="info" %}

#### **Immuta system account** permissions

The Immuta system account user will be granted the necessary permissions in Amazon Redshift by the Immuta script.

For descriptions and explanations of privileges the system account needs for Immuta to enforce policies and maintain state in Amazon Redshift, see the [Amazon Redshift integration reference guide](/saas/configuration/integrations/redshift/amazon-redshift-integration/reference-guides/amazon-redshift-integration-reference-guide.md#required-amazon-redshift-privileges).
{% endhint %}

## Register the connection

**Required Immuta permission**: `APPLICATION_ADMIN`&#x20;

In Immuta,

1. In Immuta, click <i class="fa-database">:database:</i> **Data** and select **Connections** in the navigation menu.
2. Click the **+ Add Connection** button.
3. Select the **Amazon Redshift** tile.
4. Enter the connection information:
   1. **Display Name:** This is the name of your new connection. This name will be used in the API (`connectionKey`), in data source names from the host, and on the connections page. Avoid the use of periods (`.`) or [restricted words](#user-content-fn-3)[^3] in your connection name.
   2. **Hostname**: URL of your Amazon Redshift instance.
   3. **Port**: Port configured for Amazon Redshift.
   4. **Database**: Immuta will use this database to connect to Amazon Redshift; defaults to **dev**. All databases in the host will be registered.
   5. **SSL Mode**: Use the dropdown to select the SSL mode to connect to the host.
      1. **Prefer**: Use this mode to try an encrypted connection and fallback to unencrypted if needed.
      2. **Require**: Use this mode for encrypted connections.
      3. **Disable**: Use this mode for plain, unencrypted connections.
5. Enter the **username** and **password** of the **Immuta system account user**. This is the [Amazon Redshift database user you created above](#set-up-amazon-redshift).
6. Click **Next**.
   1. Opt to **Enable Object Sync**, which will keep your connection objects up to date with your Redshift environment.
      1. Select the **Start Time** for when the first object sync job will run each day.
      2. Select the **Run Frequency** to determine how frequently object sync will run each day.
      3. Opt to **Run Object Sync on Create** to create all the data objects for your connection. If you do not select this option, you must run object sync manually or wait for the scheduled object sync for your connection's data objects.
7. Click **Save connection**.

{% hint style="info" %}
**MD5 unsupported**

Passwords hashed using MD5 are unsupported for authentication.
{% endhint %}

## Run the setup script

**Required Amazon Redshift permissions**: To run the setup script in Amazon Redshift, the **Amazon Redshift setup user** must have superuser or the following permissions:

* `CREATEDB`
* `CREATE USER`
* `CREATE ROLE`
* `sys:secadmin` role
* `USAGE WITH GRANT OPTION` on all databases and schemas that contain data you want to register
* The following privileges `WITH GRANT OPTION` on objects registered in Immuta:
  * `DELETE`
  * `INSERT`
  * `SELECT`
  * `TRUNCATE`
  * `UPDATE`

To run the Amazon Redshift connection setup script,

1. In Immuta, copy the provided script and update the content in brackets:

   1. `<DATABASE_NAME_TO_REGISTER>` with the database with securables you want to register
   2. `<DATASHARE_DATABASE_TO_REGISTER>` with the database with datashares you want to register

   Follow the rest of the instructions provided in the script.
2. In Amazon Redshift, run the script.
3. In Immuta, click **Validate Connection** and if the connection is successful, click **Finish**. If there are any errors, check the connection details and credentials to ensure they are correct and try again.

[^1]: This permission will be necessary when [running the script](#run-the-setup-script).

[^2]: These privileges will be necessary when [running the script](#run-the-setup-script).

[^3]: Your display name cannot be any of the following words: `data`, `connection`, `object`, `crawl`, `search`, `settings`, `metadata`, `permission`, `sync`, `bulk`, and `upgrade`.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://documentation.immuta.com/saas/configuration/integrations/redshift/amazon-redshift-integration/register-an-amazon-redshift-connection.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
