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
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?
ReplyDeleteI'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