How can I connect as generic user from Jenkins pipeline to DSS server

Solved!
arielma2304
Level 3
How can I connect as generic user from Jenkins pipeline to DSS server

Hi

I got generic user for DSS servers. Following this tutorial:
Building-a-Jenkins-pipeline-for-Dataiku-DSS 
Which method I should use to connect the Jenkins pipeline of this user to DSS? is it done by API KEY which stored in Jenkins credential of secret text?

0 Kudos
1 Solution
fsergot
Dataiker

Hello @arielma2304 ,

Indeed, the authentication to DSS is managed by Public API Keys . There are several types of keys in DSS depending on the level of security you want to enforce.

Admin Global API keys will work nicely in the Knowledge base sample article but grants too many rights for a secured deployment.

So for a better approach, I would recommend looking at either using a global API without administrator rights or using a personal API key (i.e. generated by a DSS user, you can create a specific 'jenkins' user for example)

As for the rights you need, when the pipeline is 'creating' a project on the Automation node (which happens in the sample the very first time you run the pipeline), you need the 'Create projects' right. For later update, you need to be admin of the project to upload & activate bundles on it.

For storing this key on the jenkins executors, there are no preferred way from a DSS perspective. In the sample, the approach is very simple using project variables but a reading of Jenkins article on Using credentials is definitely recommended.

 

Hope this helps

View solution in original post

1 Reply
fsergot
Dataiker

Hello @arielma2304 ,

Indeed, the authentication to DSS is managed by Public API Keys . There are several types of keys in DSS depending on the level of security you want to enforce.

Admin Global API keys will work nicely in the Knowledge base sample article but grants too many rights for a secured deployment.

So for a better approach, I would recommend looking at either using a global API without administrator rights or using a personal API key (i.e. generated by a DSS user, you can create a specific 'jenkins' user for example)

As for the rights you need, when the pipeline is 'creating' a project on the Automation node (which happens in the sample the very first time you run the pipeline), you need the 'Create projects' right. For later update, you need to be admin of the project to upload & activate bundles on it.

For storing this key on the jenkins executors, there are no preferred way from a DSS perspective. In the sample, the approach is very simple using project variables but a reading of Jenkins article on Using credentials is definitely recommended.

 

Hope this helps