5 Ways to Share Tableau Content Publicly

There are several situations where you might need to share a Tableau visualization with the public. From a personal standpoint, you might want to share as part of a community project such as Makeover Monday. Or you might want to share workbooks as part of a portfolio or a personal website/blog. From a business perspective, there are also many reasons you might want to share a workbook publicly. When I worked at Bucknell University, our Institutional Research department would regularly use publicly-available higher education information to create visualizations that were shared on our website. And I’ve worked with non-profit organizations that use census or other government data to show the status of a social or political issue. Many news organizations also use Tableau to create content for their articles, so they want to make sure that information is available to everyone. And other organizations have a need to publish anonymized and/or highly aggregated data visualizations on their websites. For example, I worked at Bucknell during COVID-19 and, like almost every other university, we created a publicly-available dashboard that showed the status of our testing program, the number of active cases, etc. This was an invaluable tool for the campus, parents, and the surrounding community. To ensure that we met regulatory requirements protecting student health information, the data used was completely anonymized and highly aggregated. Thus, if anyone was able to get access to the underlying data, they would not have gotten any personal information about individual students. Of course, there are numerous other use cases beyond the ones I’ve mentioned here. Fortunately, there are several options for sharing Tableau workbooks with the public. So, in this blog, I’m going to share six different options for doing just that.

 

1) Tableau Server Core Licensing & Guest Access

Tableau Server core licensing means that your server is licensed based on the total number of processor cores that the server(s) run on. This means that you can essentially give access to an unlimited number of users (though, in practice, the more users you have, the more processing power the server will need, so you’ll eventually need more core licenses). If you’re lucky enough to have core licensing—in my experience, this is a relatively small number of customers since it’s a bit pricey—then sharing content publicly is quite easy. With this licensing, you can enable guest access. Once enabled, you can grant permissions to the guest user, making those views accessible to anyone.

 

Users without an account cannot log directly onto Tableau Server and browse around for publicly-accessible views, however. When guest access is granted to a view, these users can see them in one of two ways:

 

1) URL – You can share the URL directly with the user.

2) Embedded – You embed your content in a website that is accessible to those users.

 

It is important to note that none of these methods has much security. While you could secure a website that contains embedded content, that view is still publicly available, so if anyone were to discover the URL, they’d be able to access the view. While some website-level security might help to prevent casual users from accessing this content, it is unlikely to stop a hacker. Once you grant guest access to a view, then you should assume that the world can and will see it. If that view contains any data that you are not 100% comfortable with the world seeing, then you should not grant guest access.

 

2) Tableau Cloud Usage-Based Licensing

At Tableau Conference 2021, Tableau announced something called “Tableau Broadcast”, a product that would allow sharing of content via external publicly-facing websites. In the two years since that event, this product evolved a bit and has become “usage-based licensing.” This new licensing mechanism is targeted primarily at “embedded analytics” use cases. Simply stated, “embedded analytics” means the integration of analytics content into a software application or website. From a Tableau standpoint, this would mean that we’re integrating Tableau workbooks directly into an application, allowing users to interact with data visualizations without ever leaving the platform. And, if it’s done well, users don’t even realize they’ve been interacting with something different than the core software itself. With the new usage-based licensing model, you can pay for usage rather than individual users. This means that content can be shared with anyone you want, even if they are not named users. By extension, you could share content with the public, if desired.

 

I have not personally used this licensing model, so I’ll admit that I don’t know the ins and outs of it. But it does seem as though this option is more focused on software providers than companies using Tableau for internal analytics. So, if you’re in the latter group, this may not be the most viable option.

 

3) Tableau Public

If you don’t have Tableau Server core licensing or Tableau Cloud usage-based licensing, then your best bet will be Tableau Public. Tableau Public is a 100% free platform you can use to publish Tableau workbooks. Once published to Tableau Public, you cannot control the security—they can be seen by anyone. So, for that reason, like Tableau Server guest access, you should assume that the world can and will see it. If that workbook contains any data that you are not 100% comfortable with the world seeing, then don’t publish it to Tableau Public. But, if you are comfortable with this, then this is a great option. You can share URLs to workbooks and embed them on a website.

 

There are, however, a few limitations to be aware of. First, Tableau Public doesn’t really offer any SLAs. Unlike Cloud or your own self-hosted Tableau Server, you don’t have any control over when it’s up or down—after all, it is a free platform! Another limitation is data refreshes. At this time, the only data source that can be automatically refreshed is Google Sheets (and that only happens once a day). So, if you need to refresh your workbook on a regular basis, you’ll need to either create a data pipeline to push the data Google Sheets or refresh the data manually and republish. There are also some other limitations including connector availability and the size of your data. But, if you can deal with these limitations, then Tableau Public is a fantastic option.

 

4) Tableau Reader

If none of the Tableau Server and Cloud options are available to you and you prefer to avoid using Tableau Public, then things start to get a little tricky. One potential option is Tableau Reader. Reader is a free desktop software that allows people to open and interact with Tableau workbooks. Tableau Reader predates both Server and Cloud and used to be the only option for sharing content with others. Fortunately, Reader is still available to us. If you want to allow users to open your Tableau workbook, you must first save that workbook as a packaged workbook (as we’ve detailed previously, a packaged workbook contains both the workbook and the underlying data ) then make that available to them. While this works, it is a very clunky process, and it lacks the security and governance of solutions like Tableau Server and Cloud.

 

While it may appear that Reader has some level of security since you can determine to whom you provide the workbook, this is very much an illusion. Once that workbook is out of your hands, you have zero control over it. The recipient could share it with others, post it on a website, or even share it on social media. Even without any bad intentions, it’s quite easy for a workbook to get into the wrong hands. To make things worse, Reader is often used as an inexpensive alternative to Tableau Server or Cloud (it’s free, right?), so organizations are sharing all their content with users this way—not just content that they want to make publicly available. For this reason, I feel that Tableau Reader is a poor solution and I’d strongly recommend anyone using it to make the investment in a more enterprise-ready solution such as Tableau Server or Cloud.

 

5) Export to Image, PDF, or PowerPoint

One final option for sharing content publicly is to export that content to an image, PDF, or PowerPoint, then share those files with your audience. This is quite easy to do using either Server, Cloud, or Desktop, and you have some level of control over what individual pieces of content you choose to share. But, like Tableau Reader, securing this content is difficult once it leaves your hands. Additionally, unless you build some sort of programmatic automation, this is a manual process. And, of course, the resulting files are completely static—users are unable to interact with them, which means that you’re losing a lot of the power of Tableau. For these reasons, this is a poor solution for regularly sharing content with the public and is generally best for one-off situations only.

 

Parameter-Based Password?

I want to quickly address a security solution I’ve seen floating around on the web. This particular solution entails using a Tableau parameter to create a password that can prevent users from seeing a public workbook. While this is a clever solution, it is not very secure. It doesn’t meet the most basic requirements for passwords and would be incredibly easy for even a junior hacker to crack. While it might provide a bit of additional security, it’s only going to prevent casual users from accessing a workbook. Someone with a minimal amount of hacking skills would be able to break this quite easily, so it should not be trusted as a method for protecting publicly-available workbooks from non-authorized users.

 

A Few More Thoughts on Security

Before making a Tableau workbook publicly available using any of the above solutions, I would advise you to think very carefully. Here are a few things to consider:

 

1) Assume that your workbook can and will be seen by anyone.

 

2) Do not publicly post anything unless you’re 100% comfortable with anyone in the world seeing it—both the workbook views and the underlying data itself.

 

3) Be sure that you are not breaking any laws or regulations—internal or external—that govern your data.

 

4) When regulations are at play, consider anonymizing and/or aggregating the data to a level that allows you to meet regulatory requirements.

 

5) Extra layers of security (e.g. securing the website, parameter-based passwords) aren’t necessarily bad, but they are generally pretty easy to bypass, so don’t count on them as a way to secure your workbooks (see # 1 above).

 

6) Be careful with security on guest access and usage-based licensing as it’s easy to accidentally grant access to the wrong content. I recommend regular audits of security to help prevent accidental public access.

 

-------------------------------------

 

Okay, so there you have it—six ways to share Tableau workbooks publicly. I hope this blog has been valuable. If you have any questions or comments, please let me know in the comments below. Thanks for reading!!

 

Ken Flerlage, July 17, 2023



2 comments:

  1. I use a MySQL database on my home network to house many of my datasets. Tableau Public has an option to connect with OData server sources. I know there are companies who produce OData servers, but have you ever worked with connecting MySQL to Tableau Public through OData? Seems like you'd still have to republish rather than have a live connection to the data though?

    ReplyDelete
    Replies
    1. I'm not entirely sure what you're suggesting. I suppose you could use OData for Tableau Public, but it still won't automatically refresh the extracts. Google Sheets is the only data source you can use and set up an extract refresh with Tableau Public.

      Delete

Powered by Blogger.