splunk / splunk-tableau-wdc

Splunk Tableau Web Data Connector (WDC) Example
Apache License 2.0
20 stars 13 forks source link

Problem to whitelist Splunk WDC in Tableau Server #3

Closed sylbae closed 5 years ago

sylbae commented 5 years ago

I tested Splunk WDC and it works perfectly fine with Tableau Desktop. However I am not able to make it work with Tableau Server.

When I publish my Splunk WDC datasource and try to refresh it, I get the error connectionNotWhitelisted. I was expecting this error as it is documented both here and in Tableau documentation that each connection must be explicitly authorised but I cannot resolve it.

First I tried to follow your instructions (https://github.com/splunk/splunk-tableau-wdc#wdc-deployment-to-tableau-server-whitelisting) but it looks it is obsolete with the version I am using (2018.2.1). tabadmin whitelist_webdataconnector is no longer available.

Then I checked the official documentation (https://onlinehelp.tableau.com/current/server/en-us/datasource_wdc.htm#safe-list) and they say to use the new tsm command. Below is an example: tsm data-access web-data-connectors add --name 'WTA WDC' --url https://dtreskunov.github.io:80/wta-wdc/ --secondary https://dtreskunov.github.io/*

Unfortunately despite several trials (including server restart each time), my connection is still not trusted... At that point, I am not sure if it comes from Tableau Server or if there is something specific with Splunk WDC.

Could you please update your documentation to explain how to use the new command in Splunk WDC case ? Thanks by advance.

danoe commented 5 years ago

I'm also having a problem here, did you ever make it work @sylbae?

Using Tableau Server Version: 2018.2.2 (20182.18.0926.2120) 64-bit Windows

Already tried whitelisting everything, but still getting connectionNotWhitelisted.

sylbae commented 5 years ago

not so far, still waiting for clarification in documentation.

mayurah commented 5 years ago

What methods are you two using?

danoe commented 5 years ago

Using Docker Version, but can try self deployed tomorrow.

danoe commented 5 years ago

@sylbae: i've been talking to tableau support and found two interesting things.

I've been running my splunk tableau wdc on port 80, so when i add the wdc to the white-list, i used:

tsm data-access web-data-connectors add --name 'SPLUNK WDC' --url http://10.10.10.10/src/splunk-wdc.html

But, when i check the connection settings for the Workbook on Tableau Server it tells me it's trying to connect to

http://10.10.10.10:80/src/splunk-wdc.html (notice the explicit ":80") So I added :80 as well within my white-list and at least the connectionNotWhitelisted error disappeared.

The second is apparently Tableau Server Version 2018.2.* has problems with wildcards in their secondary white-list and they advise to add the complete URL instead. So the complete white-list command I'm using now is:

tsm data-access web-data-connectors add --name 'SPLUNK WDC' --url http://10.10.10.10:80/src/splunk-wdc.html --secondary 'https://splunk.com/favicon.ico, https://use.fontawesome.com/releases/v5.2.0/css/all.css, https://getbootstrap.com/docs/4.0/dist/css/bootstrap.min.css, https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js, https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js, https://stackpath.bootstrapcdn.com/bootstrap/4.1.2/js/bootstrap.min.js, https://www.promisejs.org/polyfills/promise-7.0.4.min.js, https://unpkg.com/splunk-sdk@1.8.4/client/splunk.min.js, https://connectors.tableau.com/libs/tableauwdc-2.3.latest.min.js, https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js, https://splunk.com/*, https://getbootstrap.com/*, https://use.fontawesome.com/*, https://ajax.googleapis.com/*, https://cdnjs.cloudflare.com/*, https://stackpath.bootstrapcdn.com/*, https://www.promisejs.org/*, https://unpkg.com/*, https://connectors.tableau.com/*, http://10.10.10.10/proxy/services/*'

actionpotato commented 5 years ago

Danoe, can you forward my information to The same ticket for a tableau Support?

I am trying to work with some tableau support teams internally at Tableau, but I don’t know which customers use the WDC.

Though, not really sure how to pass my internal info on a public list in this case...

Sent from my iPad

On Dec 9, 2018, at 8:48 AM, danoe notifications@github.com wrote:

@sylbae: i've been talking to tableau support and found two interesting things.

I've been running my splunk tableau wdc on port 80, so when i add the wdc to the white-list, i used:

tsm data-access web-data-connectors add --name 'SPLUNK WDC' --url http://10.10.10.10/src/splunk-wdc.html

But, when i check the connection settings for the Workbook on Tableau Server it tells me it's trying to connect to

http://10.10.10.10:80/src/splunk-wdc.html (notice the explicit ":80") So I added :80 as well within my white-list and at least the connectionNotWhitelisted error disappeared.

The second is apparently Tableau Server Version 2018.2.* has problems with wildcards in their secondary white-list and they advise to add the complete URL instead. So the complete white-list command I'm using now is:

tsm data-access web-data-connectors add --name 'SPLUNK WDC 2' --url http://10.10.10.10:80/src/splunk-wdc.html --secondary 'https://splunk.com/favicon.ico, https://use.fontawesome.com/releases/v5.2.0/css/all.css, https://getbootstrap.com/docs/4.0/dist/css/bootstrap.min.css, https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js, https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js, https://stackpath.bootstrapcdn.com/bootstrap/4.1.2/js/bootstrap.min.js, https://www.promisejs.org/polyfills/promise-7.0.4.min.js, https://unpkg.com/splunk-sdk@1.8.4/client/splunk.min.js, https://connectors.tableau.com/libs/tableauwdc-2.3.latest.min.js, https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js, https://splunk.com/, https://getbootstrap.com/, https://use.fontawesome.com/, https://ajax.googleapis.com/, https://cdnjs.cloudflare.com/, https://stackpath.bootstrapcdn.com/, https://www.promisejs.org/, https://unpkg.com/, https://connectors.tableau.com/, http://10.10.10.10/proxy/services/'

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.

mayurah commented 5 years ago

Commit ff3e26a fixes this whitelisting issue by adding all those dependencies offline.

Other troubleshooting Steps for Self-Hosted / CORS / SSL / Whitelist:

curl -H "Origin: http://example.com" \ 
-H "Access-Control-Request-Method: GET" \ 
-H "Access-Control-Request-Headers: X-Requested-With" \ 
-X OPTIONS --verbose \ 
 https://splunk-api.mycompany.com:8089/

SPL:

index=_internal source="/opt/splunk/var/log/splunk/splunkd_access.log" earliest=-60m

Whitelist both WDC and Splunk Server.

https://help.tableau.com/current/server/en-us/datasource_wdc.htm