tableau / TabMigrate

A lightweight tool for moving Tableau content between multiple Tableau Server environments
MIT License
118 stars 59 forks source link

Connection sample for Impala and Kerberos #35

Open Vivek89 opened 6 years ago

Vivek89 commented 6 years ago

We have password-less kerberos authentication, can you please assist with some sample credential/connection xml file to be used with this tool for tableau deployment.

Sample connection string in my tableau workbook (inside .twb file):

<connection authentication='yes' authentication-type='1' class='hadoophive' connection-type='Impala' dbname='' kerberos-host='env1-hostname.com' kerberos-realm='env1-hostname.com' kerberos-service='impala' odbc-connect-string-extras='' one-time-sql='' port='10101' schema='schema-1' server='env1-hostname.com' server-oauth='' sslcert='' sslmode='' transport-type='1' username='' workgroup-auth-mode='as-is'>

I have to update "env1-hostname.com" to "env2-hostname.com" at the time of deployment.

I could see update connection request in REST API here

  <connection
    serverAddress="server-address" serverPort="port"
    userName="connection-username" password="connection-password" 
    embedPassword="embed-password"  />
</tsRequest>

So how should the credential file look, in my case?

<xml>
<credential contentType="datasource" contentProjectName="Test Site Import" contentName="test2.tds" dbUser="SimpleUser3" dbPassword="q.12345678"> </credential>
</xml>
ghost commented 6 years ago

TabMigrate uses the REST API. The REST API does not use Kerberos. When Kerberos is used in Tableau Server, the REST API will still authenticate to Active Directory but with a normal username / password and not with a ticket. For details on the REST API authentication packet you may see: https://onlinehelp.tableau.com/current/api/rest_api/en-us/help.htm#REST/rest_api_concepts_auth.htm%3FTocPath%3DConcepts%7C_____4

Vivek89 commented 6 years ago

I think we have figured out the kerberos part. But we have an blocking error:

com.tableausoftware.nativeapi.dll.TableauException: 
Cannot evaluate user filter; no current user or group. 
Cannot evaluate user filter; no current user or group. 
Cannot evaluate user filter; no current user or group. 
Cannot evaluate user filter; no current user or group. 
Errors occurred while trying to load the workbook "Tableau-Dashboard". The load was not able to complete successfully.  

On some search we found that the workbook we were trying to publish has a user filter and we are not able to set user thumbnail like we set when we publish via Tableau desktop. This has been addressed for tabcmd publish. [link] This is kinda critical, would you know if there is any workaround for this. I am using tableau version - 10.3