<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:clearspace="http://www.jivesoftware.com/xmlns/jive/rss" version="2.0">
  <channel>
    <title>Content in Tableau Community Forums</title>
    <link>/profile-content.jspa?filterID=contentstatus[published]&amp;targetUser=3717</link>
    <description>Recent content in Tableau Community Forums</description>
    <language>en</language>
    <pubDate>Tue, 15 Mar 2011 20:23:52 GMT</pubDate>
    <generator>Jive Engage 8.0.5.0  (http://jivesoftware.com/products/)</generator>
    <dc:date>2011-03-15T20:23:52Z</dc:date>
    <dc:language>en</dc:language>
    <item>
      <title>What is the best strategy for row-level security?</title>
      <link>https://community.tableau.com/thread/109496</link>
      <description>&lt;!-- [DocumentBodyStart:af8ada15-6bff-4b3e-af74-80f4bfd90341] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;Hi,&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;I'm new to Tableau having only discovered it in the past couple of weeks, but already looking to use it as part of multi-tenant product that we run.&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;We'll be using Tableau Server with embedded views and trusted authentication, which I've successfully prototyped. We'll also be looking at providing some of our clients' power users with the Desktop product so they can create and publish their own views.&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;As it's a multi-tenant system the delineation between each client's data has to be be really robust, so I'm thinking that row-level security at the DB is probably the only prudent way forward.&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;We don't use AD so the Server is running with Local Authentication. We will typically offer each of our clients (let's say we have 20 for now) a 'starter pack' of two or three standard workbooks.&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;In an ideal work we would just create the workbooks once, and then let Tableau Server work out which user is logged in, look up the correct db credentials in some kind of secure credential store, connect to the db and serve up the row-level secured view accordingly.&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;Now, I'm pretty sure that that's not possible yet. So, the other end of the spectrum is that I publish 20 data sources with appropriate credentials, 20 copy/pasted workbooks, 20 client-specific projects, and tie-down all the permissions so that each client can only see what they are allowed to see. All possible, but quite a bit of an administrative headache.&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;I'm hoping that someone will be able to tell me that a middle way exists!&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;By the way, I did briefly think that User Filters might be an alternative to Row-Level security, but then realised that they can just be turned off by a power-user. So that's not an option.&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;Can anyone offer some sage words of experience on this topic? Would be much obliged.&lt;/p&gt;&lt;p style="min-height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;Cheers&lt;/p&gt;&lt;p&gt;Ian&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:af8ada15-6bff-4b3e-af74-80f4bfd90341] --&gt;</description>
      <pubDate>Tue, 15 Mar 2011 20:23:52 GMT</pubDate>
      <author>tableaucommunity@tableau.com</author>
      <guid>https://community.tableau.com/thread/109496</guid>
      <dc:date>2011-03-15T20:23:52Z</dc:date>
      <clearspace:dateToText>8 years 3 months ago</clearspace:dateToText>
      <clearspace:replyCount>4</clearspace:replyCount>
      <clearspace:objectType>0</clearspace:objectType>
    </item>
  </channel>
</rss>

