4 Replies Latest reply on Nov 13, 2013 8:34 AM by haaris ghafoor

    Multi-Tenancy implementation

    haaris ghafoor

      I have been trying to create a multi tenant architecture which matches the architecture of my database. I have one database with multiple users. Each user wants to create their own reports; so as an admin I need to enter a criteria where each organization (site in tableau?) can only access its own organization's data. Is there an easy way to add that sort of row-level security at the sites level and not the users level ?

       

       

      Thanks

      Haaris

        • 1. Re: Multi-Tenancy implementation
          Russell Christopher

          Hi Haaris -

           

          There is no "automatic" mechanism that will allow a site to show only a specific slice of your larger database to the users who utilize the site.

           

          Most multi-tenant architectures will utilize a per-site data source. This data source is pretty much the same on each site except that it contains an oranization-specific filter. The data source is published by you and users may not download/modify it.

           

          The per-site data source will give you site-level data partitioning. If you want to get more granular, you can also take advantage of Tableau's row-level security mechanisms, which will allow you to further partition "who can see what data" inside a specific organization's site.

           

          Many customers will automate this process by building scripts to modify the XML in a data source to "update" the filter and then automatically publish it (via TabCmd) to a newly provisioned site.

           

          Hope this helps!

          • 2. Re: Multi-Tenancy implementation
            haaris ghafoor

            This is actually very helpful. One more dumb question, if you don't mind. Where would the XML of Data source be saved? If i want to write a script which will edit the filter criterion, where will I find the XML file that would need to be altered?

             

            Thanks

            Haaris

            • 3. Re: Multi-Tenancy implementation
              Russell Christopher

              Both data sources (*.tds) and workbooks (*.twb) are XML - so you have them right now

               

              If you're thinking about SDLC, then it's not uncommon to store these in your source control system (and less often, in Tableau Server itself), then pull the files down when its time to change them.

               

              Here's an uncodumented/unsupported sample of doing this:

               

              russch/RubyTabCmdPublisher · GitHub

              1 of 1 people found this helpful
              • 4. Re: Multi-Tenancy implementation
                haaris ghafoor

                Thanks Russel, this is exactly what I needed.