簡體   English   中英

Jenkins 代理安全

[英]Jenkins Agent Security

我有 2 個問題,我想弄清楚。

問題 1

我已經設置了一個 Jenkins Master,並且正在嘗試使用 UI 創建一個代理。 這是 UI 片段。 在此處輸入圖片說明

現在,當我單擊保存並打開代理時,它告訴我使用此命令進行連接。

java -jar agent.jar -jnlpUrl https://<MASTER_NODE>/computer/Test_node/slave-agent.jnlp

它沒有給我使用-secret的選項。 如何啟用該功能,以便我還需要提供連接到我的主人的秘密。

問題2

我正在自動創建多個 Jenkins 代理。 我將使用 REST API 調用來做到這一點。 命令是

curl -s -k -w %{http_code} -X POST "https://<MASTER_NODE>/computer/doCreateItem?name=jenkins-slave-1&type=hudson.slaves.DumbSlave" \
                        -H "Content-Type: application/x-www-form-urlencoded" \
                        -H "Jenkins-Crumb: ${JENKINS_CRUMB}" \
                        -d "json=${JNLP_JSON}" )

現在的事情是對於每個代理,jnlp 文件中的秘密值是不同的。 有沒有辦法在 Jenkins Master 中指定該值,以便每個 Jenkins 代理都具有相同的密碼?

如果您是 jenkins 管理員,請檢查

1)管理Jenkins-->配置全局安全-->訪問控制-->授權

在基於項目的矩陣授權策略下,確保您沒有勾選匿名角色代理下的連接選項。

(或者)

2) 確保 Manage Jenkins--> Configure Global Security-->Agents-->Agent 協議僅啟用了 V4 JNLP V4 基於 TLS 的加密

至於你的第二個問題,我不知道。 我面臨着如何將奴隸自動連接到具有不同 Secrets 的 Jenkins Master 的相同問題

JNLP 秘密源自代理的名稱。 您可以從 jnlp 文件或通過在 master 上執行的 groovy 獲取特定代理的 JnlpMac 或機密。 請參閱例如如何遠程查找 JNLP 節點的密鑰?

您可以在包含 jre 參數的Remote root directory添加 jenkins-slave.exe 和 jenkins-slave.xml 這需要一個密鑰。 僅當您將代理設置為 Windows 服務時才需要密鑰。

我已按照LINK 中的說明進行操作

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM