Before you start
Ask your Delphina contact for:- Delphina’s IP addresses, for your security group.
- Delphina’s principal ARN and a unique external ID, for the IAM role’s trust policy.
redshift-serverless (<workgroup>.<account>.<region>.redshift-serverless.amazonaws.com); provisioned endpoints look like <cluster>.<id>.<region>.redshift.amazonaws.com.
Step 1: Set up the network path
- Serverless
- Provisioned
- In the Redshift console, open your workgroup → Network and security and confirm Publicly accessible is on.
- Open the workgroup’s VPC security group and add an inbound rule: TCP on your workgroup port (default 5439) from each Delphina IP address your Delphina contact provides.
- Confirm the workgroup’s subnets route to an internet gateway and their network ACLs allow the traffic. Publicly accessible alone isn’t enough when the subnets are private.
Step 2: Grant database access
Run this as a superuser, such as the admin user created with your workgroup or cluster, connected to the database Delphina will use: the one you send us in Step 4. A Delphina connection reads one database. Use a superuser if you can. A non-superuser needs theCREATE ROLE permission and the right to grant on every schema and table involved, either by owning them or by holding the privileges WITH GRANT OPTION, and can’t set default privileges for other users’ tables (below).
GRANT SELECT ON ALL TABLES only covers tables that exist when you run it. Set default privileges for each user that creates tables in the schema, such as your dbt, Fivetran, or Airflow users. Redshift applies default privileges per creating user, so one statement doesn’t cover everyone.
Give Delphina access to query history. Delphina learns which tables, joins, and metrics matter from how your team queries them. By default, a non-superuser only sees its own queries in Redshift’s query history, so grant the built-in monitoring role. Run this once; it isn’t per database.
Step 3: Create the IAM role
- Serverless
- Provisioned
Create an IAM role in the AWS account that owns the workgroup, for example Permissions policy. Replace the placeholders with your region, account ID, and workgroup ID (the UUID in the workgroup ARN).Map the role to the database role. Add a tag to the IAM role with key
delphina-redshift-access.Trust policy. Your Delphina contact provides the Delphina principal ARN and a unique external ID.RedshiftDbRoles and value delphina_role. When Delphina connects, Redshift signs it in as the database user IAMR:delphina-redshift-access and grants it delphina_role.Step 4: Send us the details
- Serverless
- Provisioned