Skip to content

ODBC connection Redshift Serverless and Tableau Using Okta OIDC Authentication

0

We have configured an Okta OIDC app for Redshift Serverless cluster authentication (note that it is not AWS Identity Center). https://help.tableau.com/current/server/en-us/config_oauth_redshift_iam.htm

Our Tableau environment connects to Redshift over a private link, using a custom DNS name that resolves to the Redshift Serverless cluster endpoint.

To establish the connection, we need to provide the correct ODBC v2 connection parameters.

The question is: What parameters should be passed to the ODBC v2 driver, and how can these parameters be configured in Tableau Server (web interface)?

asked 2 years ago536 views

2 Answers
0

To establish an ODBC connection between Tableau and Amazon Redshift Serverless using Okta OIDC authentication, you'll need to configure specific parameters in the ODBC v2 driver. Here are the key parameters you should set:

  1. Auth_Type: Set this to "identity_provider_oauth" to use Okta OIDC authentication.

  2. IdP_Host: This should be your Okta domain (e.g., your-company.okta.com).

  3. IdP_Tenant: Your Okta tenant ID.

  4. Client_ID: The client ID of your Okta OIDC application.

  5. Client_Secret: The client secret of your Okta OIDC application.

  6. Scope: Set this to "openid profile email".

  7. ClusterID: Your Redshift Serverless workgroup name.

  8. Region: The AWS region where your Redshift Serverless cluster is located.

  9. Database: The name of the database you want to connect to.

  10. SSL_Insecure: Set to "true" if you're using a custom DNS name with PrivateLink.

To configure these parameters in Tableau Server's web interface:

  1. Log in to Tableau Server as an administrator.

  2. Go to the "Settings" or "Connections" section.

  3. Look for an option to add or edit a data source connection.

  4. Choose Amazon Redshift as the connection type.

  5. In the connection details, you should see an option for "Advanced" or "Additional Parameters".

  6. In this section, you can enter the ODBC connection string with the parameters listed above. The format would be similar to:

    "Auth_Type=identity_provider_oauth;IdP_Host=your-company.okta.com;IdP_Tenant=your-tenant-id;Client_ID=your-client-id;Client_Secret=your-client-secret;Scope=openid profile email;ClusterID=your-workgroup-name;Region=your-region;Database=your-database;SSL_Insecure=true"

  7. Save the connection settings.

Remember to replace the placeholder values with your actual Okta and Redshift Serverless configuration details. Also, ensure that your custom DNS name for the PrivateLink connection is properly configured and resolves to the Redshift Serverless endpoint.

If you encounter any issues, you may need to consult with your network administrator to ensure that the PrivateLink connection is properly set up and that Tableau Server has the necessary network access to reach both Okta and your Redshift Serverless cluster.
Sources
Federate IAM-based single sign-on to Amazon Redshift role-based access control with Okta | AWS Big Data Blog
Integrate Tableau and Okta with Amazon Redshift using AWS IAM Identity Center | AWS Big Data Blog
Okta - Amazon Redshift
Configuring an ODBC driver version 1.x connection - Amazon Redshift

answered 2 years ago

  • I believe ClusterID is for provisioned cluster, and there sould be something that would tell driver that this is serverless and Workgroup name or arn needs to be provided

0

Dear Customer,

To configure the ODBC v2 connection parameters for Redshift Serverless using Okta OIDC authentication in Tableau Server, you'll need to provide several key parameters. Here's a guide on what parameters to use and how to configure them in Tableau Server:

Parameters for ODBC v2 driver:

  1. Driver={Amazon Redshift (x64)}
  2. Server=your_custom_dns_name/workgroup endpoint
  3. Database=your_database_name
  4. Port=5439 (or your custom port if different)
  5. IAM=1
  6. Plugin_Name=okta_idp
  7. IdP_Host=your_okta_domain.okta.com
  8. IdP_Port=443
  9. Client_ID=your_okta_client_id
  10. Client_Secret=your_okta_client_secret
  11. Preferred_Role=your_preferred_iam_role_arn
  12. SSL=true
  13. SSL_Insecure=false

Configuring in Tableau Server (web interface):

  1. Log in to Tableau Server as an administrator.

  2. Go to "Settings" > "Connections" > "Add Connection".

  3. Select "Amazon Redshift" as the connection type.

  4. In the connection dialog:

    • For "Server", enter your custom DNS name.
    • For "Port", enter 5439 (or your custom port).
    • For "Database", enter your database name.
    • For "Authentication", select "Sign in using OAuth".
  5. In the "Sign In" dialog, you may need to enter your Okta credentials.

  6. After successful authentication, you'll be prompted to select a role. Choose the appropriate IAM role.

  7. For additional connection properties, click on "Advanced" and add the following in the "Additional Connections Options" field: 
IAM=1;Plugin_Name=okta_idp;IdP_Host=your_okta_domain.okta.com;IdP_Port=443;Client_ID=your_okta_client_id;Client_Secret=your_okta_client_secret;Preferred_Role=your_preferred_iam_role_arn;SSL=true;SSL_Insecure=false 
Replace the placeholders with your actual values.

  8. Test the connection and save it if successful.

AWS

answered 2 years ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.