Troubleshooting Self-Signed Certificate Error in Tableau Data Ingestion

Original Slack Thread

Hi All, got some error on self signed certificate with tableau ingestion. is there some option like --insecure or where i shoud check root certificate? all time was normal but few days ago all tableau ingestion start writing a log with SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self-signed certificate in certificate

Hey there! :wave: Make sure your message includes the following information if relevant, so we can help more effectively!

  1. Are you using UI or CLI for ingestion?
  2. Which DataHub version are you using? (e.g. 0.12.0)
  3. What data source(s) are you integrating with DataHub? (e.g. BigQuery)

<@U06TM7M40RK> Can you help with the questions in this thread?


:information_source: We’re experimenting with a new AI assistant for questions in the <#CUMUWQU66> channel to help you track down helpful resources more quickly. Keep in mind that responses may not always be spot-on; feel free to ask it follow-up questions and don’t forget to provide its responses a :thumbsup: or :thumbsdown: so other folks in the Community know if you’re still looking for help on the topic!

To help you more effectively, could you please provide the following information?

  1. Are you using the UI or CLI for ingestion?
  2. Which DataHub version are you using? (e.g., 0.12.0)?
  3. What data source(s) are you integrating with DataHub? (e.g., Tableau)?

In the meantime, based on the information provided, it seems like you are encountering SSL certificate verification issues with a self-signed certificate during Tableau ingestion. Here are a few steps you can take to address this issue:

  1. Disable SSL Verification: If you are using self-signed certificates, you can disable SSL verification. According to the https://github.com/datahub-project/datahub/blob/master/metadata-ingestion/src/datahub/ingestion/source/tableau.py|TableauConnectionConfig, you can set the ssl_verify parameter to False in your configuration to disable SSL verification.

  2. Provide Path to CA Certificate: If you prefer to keep SSL verification enabled, you can provide the path to your CA certificate. This can be done by setting the ssl_verify parameter to the path of your .pem certificate bundle.

Here is an example configuration snippet for disabling SSL verification:

source:
  type: tableau
  config:
    connect_uri: "https://your-tableau-server"
    username: "your-username"
    password: "your-password"
    site: "your-site"
    ssl_verify: False

Or, if you want to provide the path to your CA certificate:

source:
  type: tableau
  config:
    connect_uri: "https://your-tableau-server"
    username: "your-username"
    password: "your-password"
    site: "your-site"
    ssl_verify: "/path/to/your/ca_certificate.pem"

Would you like more detailed instructions or have any specific questions about these steps?

Sources:

<@U06TM7M40RK> version 0.13.0

<@U06TM7M40RK> UI

Thank you for the additional information. Since you are using DataHub version 0.13.0 and the UI for ingestion, here are the steps you can take to address the SSL certificate verification issue with Tableau ingestion:

Steps to Disable SSL Verification or Provide CA Certificate Path

  1. Disable SSL Verification:

    • You can disable SSL verification by setting the ssl_verify parameter to False in your Tableau ingestion configuration. This is useful if you are using self-signed certificates and want to bypass SSL verification.
  2. Provide Path to CA Certificate:

    • If you prefer to keep SSL verification enabled, you can provide the path to your CA certificate by setting the ssl_verify parameter to the path of your .pem certificate bundle.

Example Configuration

Here is an example of how you can configure your Tableau ingestion in the UI:

Disabling SSL Verification

source:
  type: tableau
  config:
    connect_uri: "https://your-tableau-server"
    username: "your-username"
    password: "your-password"
    site: "your-site"
    ssl_verify: False

Providing Path to CA Certificate

source:
  type: tableau
  config:
    connect_uri: "https://your-tableau-server"
    username: "your-username"
    password: "your-password"
    site: "your-site"
    ssl_verify: "/path/to/your/ca_certificate.pem"

Additional Information

  • UI Configuration: If you are configuring this through the UI, you will need to find the corresponding fields for ssl_verify in the UI form and set them accordingly.
  • Environment Variable: Alternatively, you can set the REQUESTS_CA_BUNDLE environment variable to point to your CA certificate file. This ensures that the requests library used by DataHub can verify the SSL certificate.
export REQUESTS_CA_BUNDLE=/path/to/ca_certificate.pem

Would you like more detailed instructions on how to configure this in the UI, or do you have any specific questions about these steps?

Sources:

<@U06TM7M40RK> source Tableau

Thank you for the additional information. Since you are using DataHub version 0.13.0 and the UI for ingestion with Tableau as the data source, here are the steps you can take to address the SSL certificate verification issue:

Disabling SSL Verification

If you are using self-signed certificates, you can disable SSL verification by setting the ssl_verify parameter to False in your configuration. This can be done in the YAML configuration file used for ingestion.

Here is an example configuration snippet for disabling SSL verification:

source:
  type: tableau
  config:
    connect_uri: "https://your-tableau-server"
    username: "your-username"
    password: "your-password"
    site: "your-site"
    ssl_verify: False

Providing Path to CA Certificate

If you prefer to keep SSL verification enabled, you can provide the path to your CA certificate. This can be done by setting the ssl_verify parameter to the path of your .pem certificate bundle.

Here is an example configuration snippet for providing the path to your CA certificate:

source:
  type: tableau
  config:
    connect_uri: "https://your-tableau-server"
    username: "your-username"
    password: "your-password"
    site: "your-site"
    ssl_verify: "/path/to/your/ca_certificate.pem"

Example Configuration in UI

If you are configuring this through the UI, you will need to locate the corresponding fields for ssl_verify and set them accordingly. The UI should have options to either disable SSL verification or provide a path to the CA certificate.

Additional Resources

For more details, you can refer to the https://github.com/datahub-project/datahub/blob/master/metadata-ingestion/src/datahub/ingestion/source/tableau.py|TableauConnectionConfig and the <Tableau | DataHub Ingestion Configuration>.

Would you like more detailed instructions or have any specific questions about these steps?

Sources: