Comment peut-on exécuter Jenkins travail à l'aide d'autres informations d'identification des utilisateurs
J'ai besoin pour exécuter quelques Jenkins emplois tels que la "mise en Production" par Jenkins INTERFACE utilisateur à l'aide de l'utilisateur connecté d'informations d'identification. La raison en est, nous avons séparé le Soutien des Membres de l'Équipe, qui ont accès à la production de boîtes et de ne pas le Dev membres de l'équipe. Donc, afin de déployer une base de code en production, toutes les Fenêtres de Commandes de déploiement (ex, créer, mettre à jour les fichiers, dossier, etc.) doit être exécuté avec spécifique d'identification d'utilisateur qui a accès à la Boîte de Production. De sorte que même les membres de l'équipe de Dev qui n'ont pas accès à la boîte de Production mais sont Jenkins Admin, exécuter le même travail devrait aboutir à une défaillance due à un "Accès Refusé". Le travail doit réussir que si son exécution par le Soutien des membres de l'Équipe avec leurs informations d'identification.
J'ai essayé d'utiliser paramétré le plugin, mais ne pouvais pas en mesure de passer le Mot de passe avec succès le fichier de commandes qui contient MSDeploy instructions. Même le Jenkins journal de la console affiche le paramètre passé à sa sortie de la console, ce qui est un problème de sécurité.
J'ai vérifié en fonction des rôles de sécurité plugin, mais cela ne m'aide pas beaucoup. J'ai juste besoin d'un plugin qui devrait demander à l'utilisateur de fournir leurs informations d'identification avant de commencer la construction de l'Emploi et doit utiliser les informations d'identification des utilisateurs pour obtenir un travail exécuté, de sorte que mon MSDeploy commande sera en mesure de déployer le code sur la Production des boîtes, lorsque le Soutien des membres de l'équipe de construire ce Travail à l'aide de leurs informations d'identification. Je souhaite qu'il y ait un soutien pour l'emprunt d'identité.
Droit maintenant, tout le Jenkins Emplois sont arriver réalisée à l'aide du compte de service qui le service Tomcat est configuré pour s'exécuter sur lequel Jenkins est hébergé.
Toute aide serait appréciée.
OriginalL'auteur user1233802 | 2013-06-20
Vous devez vous connecter pour publier un commentaire.
Juste au cas où il n'y a aucune confusion Jenkins travail sera toujours exécuter le même système d'exploitation de l'utilisateur. La Matrice de base de sécurité s'applique aux utilisateurs qui ouvrent une session sur le serveur Jenkins et des fonctionnalités de contrôle, comme la création ou le lancement d'emplois.
Vous pouvez configurer l'emploi pour utiliser un ensemble de production de génériques d'identification et de prévenir vos développeurs d'invoquer l'emploi.
Peut-être une meilleure approche serait de séparer les processus qui génère le code que l'on déploie le code. Le diagramme suivant (tiré de la xebia france projet) montre comment certains de mes outils favoris Rundeck et Nexus peut être intégré avec Jenkins.
Enfin, je vous recommande vivement de lire le lien suivant:
Si vos développeurs sont admins sur Jenkins vous n'est pas réaliste de limiter leur accès.... La création d'une deuxième instance de Jenkins, juste pour le déploiement est en option, mais à ce stade, pourquoi ne pas envisager d'utiliser rundeck de séparer la responsabilité de construire et de déploiement? Les développeurs peuvent donner un accès limité à Rundeck leur permettant de déployer sur dev et test du système, mais n'ont pas accès à la production de Rundeck projets.
hmmm que pourrait être une option. Mais idéalement, j'aimerais obtenir les emplois exécuté dans le contexte d'un autre utilisateur, et non dans le contexte de compte d'utilisateur qui Tomcat sur lequel Jenkins est hébergé. Je vais essayer de rundeck, mais est-il possible d'exécuter rundeck de l'emploi au titre de justificatif d'identité d'un autre utilisateur(usurpation d'identité c'est ce que je suis intéressé (e) ou rundeck trop utilise le compte utilisateur qui Tomcat? S'il vous plaît aider
Vous êtes en cours d'exécution sur windows droit? Installer un serveur SSH et vous pouvez le configurer pour exécuter des travaux sur les machines locales, sous un autre nom d'utilisateur. C'est de cette façon rundeck est configuré et que vous pourrait peut-être faire la même chose à l'aide de Jenkins. Voir le SSH plugins.
OriginalL'auteur Mark O'Connor
Salut, je sais que je suis arrivé en retard sur ce fil, mais je suis tombée sur cette question et a eu un moment difficile de le résoudre, j'ai donc pensé que je pourrais juste partager ce que j'ai réussi à configurer.
Tout d'abord: si vous souhaitez exécuter un Jenkins travail "en tant qu'utilisateur spécifique" (avec toutes les habilitations), le plus simple est d'exécuter un Jenkins ESCLAVE en tant que cet utilisateur.
Alors vous pourriez très bien tomber dans la suivante: vous voulez probablement pour exécuter plusieurs esclaves sur la même machine windows, comme windows services. C'est très fine, aussi longtemps que chaque esclave possède son propre
Remote root directory
et ont probablement un "label".Une fois que vous avez réussi à exécuter votre esclave comme un service windows, lancez la console de service (services de l'.msc). Modifiez le nouveau service créé propriétés, allez à l'onglet connexion. Sélectionnez "se Connecter en tant que: Ce compte" et entrez vos informations d'identification de compte.
Cheers 🙂
OriginalL'auteur avi.elkharrat
Vous pouvez utiliser le construit en windows runas ou Powershell InvokeCommand applet de commande et d'informations d'Identification de l'exécution de ces Deux serait de stocker le nom d'utilisateur/mot de passe en texte clair - Afin de faire réfléchir sur les risques, mais cela vous donne de la flexibilité.
Je suis surprise de voir que ce n'est pas une meilleure réponse de définir un agent sur un autre ordinateur pour exécuter un autre service et de définir agent spécial "type" qui reprend les emplois - quelque Chose le long de ces lignes, est ce que je m'attends mais je n'ai pas vu de mise en œuvre, comme dans l'Jenkins (je suis nouveau sur Jenkins donc a la recherche d'une réponse et j'ai trouvé ce thread).
Quelque chose qui pourrait être considéré comme quelqu'un de plus en plus familiers avec Jenkins est lorsque vous définissez le chemin d'accès personnalisé à MSBuild pourriez-vous définir que runas /user:... msbuild.exe peut-être? Je n'ai pas un supplément de Jenkins serveur actuellement pour essayer que sur.
OriginalL'auteur Steve Radich-BitShop.com