2017-06-09 41 views
11

Active Directory pluginでログインしている複数のユーザーとjenkinsのセットアップがあります。これは、各ユーザーが自分のタスクにアクセスできるようにするのに便利です。jenkinsスレーブはユーザーとして実行されます

しかし、各ユーザーには、異なるフォルダへのアクセスなど、ローカルネットワーク上のさまざまな権限もあります。各タスクに与えられた権限はユーザーにはなく、スレーブが実行されているアカウントにリンクされていますサービスとして。それを変更して、ユーザーの資格情報(したがって権限)の下でスレーブ上でタスクを実行する方法はありますか?

はあなたに

答えて

4

ありがとうござい問題がある:ジェンキンスマスターによってそのサーバに割り当てられた別のジョブを実行しているだけで1つのスレーブプロセスがあります。
したがって、スレーブ自体は1人のユーザー(通常は専用アカウントまたはシステムアカウント)として実行されます。

環境変数として(JENKINS Build User Vars Pluginなどのプラグインを使用して)ユーザーIDを取得できるので、ビルドをトリガーしたユーザーとして「実行」するためにジョブを構成することを検討することがあります。
たとえば、JENKINS Authorize Project pluginを参照してください。

https://wiki.jenkins-ci.org/download/attachments/70877566/authorize-project_01_globalsecurity.png?version=2&modificationDate=1439085782000&api=v2

https://wiki.jenkins-ci.org/download/attachments/70877566/authorization-page.png?version=1&modificationDate=1486871612000&api=v2

しかし、mentioned this answerとして:

"承認プロジェクト" プラグインは、コマンドを実行しているOSレベルのユーザーは変更されません。
Jenkins認証を使用して、ジョブおよび任意のダウンストリームジョブを実行しているJenkinsユーザーのみを設定します。

はつまり、あなたのタスクは、右のユーザーで実行するん確認にするためにbuild step with runas or su -c commandsが残されています。

+0

たとえば、Windows runasの場合、http://jenkins-ci.361315.n4.nabble.com/Error-running-Windows-batch-file-via-build-step-td4570615.htmlおよび/ savecredオプション。 – VonC

0

私は同様の問題を抱えていました。私はrole strategy pluginを使用し、LDAPサーバーを使用してグローバルセキュリティを設定しました(アクティブディレクトリも問題ありません)。 authorized project pluginを使用しました。 一見して、あなたの目的を解決するはずです。明確化のためにコメントセクションで私に教えてください。

+1

残念ながら "Authorize-projectプラグインはOSのものではなく、Jenkinsの承認のみを制御します。" – RockScience

関連する問題