Tableau Server Kerberos SSO setup

I have recently had to setup SSO with Kerberos on Tableau Server 9.0 and discovered that there is one step that is missing from otherwise fairly straight forward process.

I discovered it when I got following error after completing the setup outlined in administrator guide

After doing a fiddler trace I have found that when Kerberos ticket is being passed to Tableau server I am getting HTTP 400 (BAD REQUEST) error.  What this means in our case is that HTTP header is getting cut off by the web server because its size exceeds what it can accept. This is fairly common scenario with Kerberos because the ticket is fairly lengthy.

After digging through online help I have found no mention of increasing MAX HTTP HEADER size anywhere and none of the SSO setup guides mentioned anything about it.

So I ended up pinging Tableau folks and explaining the issue to them. It turned out that it is exactly what I suspected – bad request due to HTTP request getting cut off and they have provided following TABADMIN commands that you should run at any point during Kerberos SSO setup:

open command line and navigate to %your server install location%\9.0\bin\

tabadmin set gateway.http.request_size_limit 32768

tabadmin set tomcat.http.maxrequestsize 32768

 

However, I would recommend setting the value to 65536 to be on a safe side. So:

tabadmin set gateway.http.request_size_limit 65536

tabadmin set tomcat.http.maxrequestsize 65536

 

Don’t forget to run tabadmin restart command after you run these for the changes to take effect.

 

Good luck!

 

Embedded Tableau Oscars Dashboard

(This post was originally published on BIHappy Blog)

A few months ago I published my Oscars dashboard (http://bihappyblog.com/2014/03/10/oscars-dashboard/). Recently, I decided to produce a new version of it, leveraging Tableau, and extending it with some additional features possible with some html5 integration. Embedding Tableau in an external web application framework is a great way to leverage Tableau terrific data exploration features like drilling, grouping and filtering with some intuitive, simple to understand and use interface suitable for a user’s portal or an executive audience. This example leverages my Oscars database file and allows exploration of Oscar nominated actors, actresses, directors as well as a free form exploration option for perusing more of the data set. Enjoy..

Tableau connected Medicare enrollment dashboard

(This post was originally published on BIHappy Blog)

Our medicare enrollment database continues to grow and now contains over 9M enrollment records across the country. I began collecting this information almost two years ago with my colleague Josh Tapley, and we used it to produce our medicare advantage dashboards using the SAP Dashboards (Xcelsius) tool, as well as our HTML5 reporting solution. Aside from being an interesting dataset, relevant to medical insurance professionals and anyone else interested in medicare and healthcare, this platform provides us the medium to demonstrate many technical advantages and techniques we often solve on projects. So, to add to our arsenal or medicare advantage dashboards, I have now added a Tableau version. This version looks and operates just like it’s siblings from SAP and our custom HTML solution, however uses completely different technology under the covers. To create it, we had to overcome several interesting challenges, from the ability to serve up Tableau content from our secure server which resides behind our firewall via secure proxy to the internet, addressing proxying, authentication and security challeneges to the ability to create visuals which do not exist natively in the tool, such as a donut chart. This dashboard is connected to the live data, and executed a query each time a state is selected. This design pattern is consistent across all three versions of this dashboard and is designed to demonstrate the ability to work with these dashboarding tools in a completely “hands free” no hassle, and no maintenance mode, where data is refreshed in the database and automatically reflected in the dashboard with no need for any intervention. Enjoy.