8 Replies Latest reply on Apr 28, 2015 8:49 AM by vikram bandarupalli

    A big mess

    Sunil Tikar

      Hi All,


      This is something related to my internal process however just wanted to check if someone already handled this .


      My organization have policy to don't share non-human account(we called it as service id )  credentials of production databases with application team(development team)  .Application Individuals have their own account  password those get expired after some certain days. Our database team kept password of service id  with them and whenever required they enter password wherever required .


      Issue:- So being a developer when my users create connection to my production database they(database team)  enter password for them and  start development and now thing get difficult when in between they have to change some join or they have to add more tables or table got renamed then I again I have to go back to my database team to enter credentials to make everything in sync/updated .bottom line for every singly change they  have to check with my database team.

      we have our own credentials but it got expired after x days. so if they use it after some certain time it will get out of sync once they will change the password .


      Being a administrator any one handled it ?



      Please suggest.



        • 1. Re: A big mess
          Jeff Strauss

          I have to handle this.  In the short term, I manually go onto the "data connections" admin tab usually about once a week, then choose my database connection type (e.g. Pivotal Greenplum) and then bulk update all the connections to the proper credentials, but this does require me to have access to the service account password.


          With 9.0, our plan is to programmatically do this on a nightly basis prior to the schedules running.  Apparently it can be done by way of the REST API, we just have to figure out how to do it.

          • 2. Re: A big mess
            Sunil Tikar

            Hi The specified item was not found.



            How one can change the published data source credentials from server UI ? Can you please list the steps .


            Thank you!



            • 3. Re: A big mess
              Jeff Strauss

              Part 1 - select the db type (in my case Pivotal), scroll down for part 2.

              part 1.png



              Part 2: click the checkbox in the upper right corner and then hit edit.  then be very careful when bulk updating.


              part 2.png

              • 4. Re: A big mess
                vikram bandarupalli

                Hi Sunil,


                The best way to update connections is via the tableau interface( screen shots that Jeffrey posted). This has been a pain point for quite some time because, only an admin has the access to update the data connections. So the users are dependent on the admin. I had to deal with this all time in my previous role.


                Good news, the rest API in version 9.0 update has this option available.Now you can pragmatically update the connections. Documentation is here.


                Hope this helps.




                • 5. Re: A big mess
                  Jeff Strauss

                  Vikram, do you have a working copy of the REST API to update the data connections?

                  • 6. Re: A big mess
                    Matt Coles

                    Also, in 9.0, non-admins can update their own data connections within Workbooks and Data Sources published to Tableau Server.

                    • 7. Re: A big mess
                      Sunil Tikar

                      Thanks Matt Coles  @Jeffrey_strauss


                      Say user opens tableau desktop -> say connect to data-> connect to oracle/teradata tables /create joins /...etc and published that data source to tableau server


                      ---  now the development part ... user opens tableau desktop->say connect to data -> say tableau server -> select the data source which he published earlier ..and do his development ... now lets say after 30 days his password got expired ,so what he need to do it go to data connection tab and edit the credentials (new one ) ..that's it  ??



                      Now next thing what if data base changed(like tables updated ,columns renamed or lets say user needs to add tables to connection)  then  User just needs to connect to tableau desktop-> say connect to data->tableau server -> select earlier published data source-> right click on data connection-> say edit data source and make the changes and republish it ..??


                      so there is no need to have a non-human database account because data source publisher can edit credentials once it expires and also can edit the data source which is already in server per database changes in background.??

                      • 8. Re: A big mess
                        vikram bandarupalli

                        Jeff, I currently don't have one. I plan to write something this weekend.