本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Jenkins API 權杖
秘密值欄位
以下是必須包含在 Secrets Manager 秘密中的欄位:
{
"apiToken": "API token value",
"tokenUuid": "token UUID",
"username": "user that owns the token",
"jenkinsUrl": "https://jenkins.example.com"
}
- apiToken
-
Jenkins API 字符值 (32-34 個字元的十六進位字串)。輪換程序會更新此欄位。
- tokenUuid
-
API 字符的通用唯一識別符 (UUID)。輪換使用此 UUID 來撤銷舊字符,並在每次輪換後以新字符的 UUID 更新此欄位。
- 使用者名稱
-
擁有權杖Jenkins的使用者。
- jenkinsUrl
-
您的Jenkins執行個體 URL (例如
https://jenkins.example.com)。URL 必須使用 HTTPS,且結尾不得為結尾斜線。
秘密中繼資料欄位
以下是 Jenkins API Token 的中繼資料欄位:
{ "adminSecretArn": "arn:aws:secretsmanager:us-east-1:111122223333:secret:JenkinsAdmin" }
- adminSecretArn
-
(選用) 包含管理員字符之 JenkinsApiToken 類型的秘密的 Amazon Resource Name (ARN)。管理員字符可以為目標使用者產生和撤銷 API 字符。如果省略,字符會自行輪換 (自我輪換)。
用量流程
此輪換支援單一秘密 (自我輪換) 和兩個秘密 (管理員輔助) 架構。當您提供 時adminSecretArn,管理員字符會產生和撤銷目標使用者的字符。如果您省略它,目前的權杖會自行輪換。
若要建立秘密,請使用 CreateSecret API 呼叫。將秘密值設定為上述欄位,並將秘密類型設定為 JenkinsApiToken。若要設定輪換,請使用 RotateSecret API 呼叫。在 RotateSecret 呼叫中,提供角色 ARN,授予服務輪換秘密的許可。如需許可政策範例,請參閱 安全與許可。使用管理員輔助輪換時,明確授予輪換角色對管理員秘密 ARN 的存取權。
在輪換期間,驅動程式會驗證目前的權杖,並從 取得跨網站請求偽造 (CSRF) 記錄Jenkins。接著會產生新的 API 字符,並將其儲存為待定版本。它會針對 Jenkins API 驗證新權杖,將其提升為最新版本,然後由其 撤銷舊權杖tokenUuid。使用 Secrets Manager 快取程式庫的應用程式會在下次重新整理時取得新的權杖。
Jenkins 是由客戶託管,因此您的Jenkins執行個體必須透過 HTTPS 從 Secrets Manager 輪換服務連線。輪換呼叫來自 AWS受管字首清單 com.amazonaws.。允許執行個體安全群組或防火牆上此字首清單的傳入存取,並確保執行個體呈現公開信任的 TLS 憑證。如需詳細資訊,請參閱《Amazon VPC 使用者指南》中的 AWS受管字首清單。不支援無法透過公有網際網路連線的執行個體。region.secretsmanager-managed-external-secrets