0

我想對所有的用戶詹金斯雙因素身份驗證(即使是超級管理員),並想知道,如果有可能,如果是,什麼是可能的方式還是我們需要一個插件。詹金斯用戶的授權部署

此外,我們可以有授權安排在詹金斯的部署,如果有可能,我們如何能做到這一點。

+0

我仍然不確定你的問題是什麼......你有什麼嘗試?什麼不起作用? – Slav

+0

嗨斯拉夫, 謝謝你迴應! –

+0

嗨Slav! jenkins相關! 爲了解釋,我想在構建作業之前進行身份驗證。 你會知道我們如何構建我們的工作,我希望系統在開始構建工作之前提示密碼,這樣我們就能夠驗證我們的構建過程,併爲我們的工作增加一些安全性並構建以運行。 我發現一個插件「授權項目插件」,但不知道,如果它的工作。我曾嘗試在測試機器上安裝,但它沒有任何區別。 –

回答

0

詹金斯授權在這裏詳細解釋:
https://wiki.jenkins-ci.org/display/JENKINS/Standard+Security+Setup

「授權項目插件」是不是因爲你是問。

您將不會被提示輸入密碼每次你開始工作。相反,你應該配置個人工作,讓個人訪問。詹金斯允許這種粒度。

如果你真的想在每個作業執行時提示輸入密碼,你將不得不配置作業來創建一個新的密碼參數,然後作爲你的第一個構建步驟之一,驗證輸入的密碼是否針對...這是你想要的。但這意味着您的驗證腳本可能會駐留在Jenkins本身。

編輯:

  • 配置工作
  • 選擇 「此版本是參數化」
  • 添加 「字符串」 參數
  • 稱之爲 「密碼」
  • 如果在* nix環境中,選擇「執行殼」用於第一生成步驟:

set +x if ! [[ "$password" == "mysecret" ]]; then echo "Bad password" exit 1 fi exit 0

  • 如果在Windows環境中,選擇 「執行Windows批處理命令」 第一構建步驟:

@echo off if not "%password%" == "mysecret" ( echo "Bad password" exit /b 1 ) exit /b 0

  • 添加其他構建步驟爲正常。

現在,每次作業運行時,它都會提示輸入「密碼」,如果不匹配字符串「mysecret」,作業將失敗。

重要提示:

  • 這將SCM結賬後運行。如果您想在SCM結帳之前運行它,您需要使用Pre-SCM build step插件。
  • 任何與「配置」訪問作業許可或以上就能看到以純文本格式「mysecret」。您可以使用EnvInject插件配置全局(或工作地方),密碼和驗證針對該變量,而不是「mysecret」
  • 任何直接/遠程登錄詹金斯機器就能看到「mysecret配置文件「以純文本格式(除非使用上面的EnvInject)。
  • 具有足夠權限的人可以修改或複製作業,並刪除此驗證。

我再次懇求您,正確的方法是通過默認的Jenkins安全/授權提供精細的每用戶權限。使用「矩陣」授權爲每個用戶提供每個作業的權限。

+0

嗨斯拉夫! 感謝您的回覆。 所以你說我不需要任何插件,但我需要爲jenkins服務器本身創建一個相同的腳本。 –

+0

您能否詳細解釋一下這個問題:我應該如何配置我的作業,以便在執行作業時向任何用戶提示密碼? 您的幫助表示讚賞。 Regards, Karuna –

+0

更新,但再次,正確的方法是提供每個用戶的每個作業的權限。 – Slav