Jenkins 的 PAM360 插件
Jenkins 是一款基于 Java 的领先开源自动化工具,广泛应用于 DevOps 环境中,用于持续构建和测试软件项目。与软件构建、测试、交付或部署相关的 SDLC 任务可在 Jenkins 中创建为自动化计划,称为“作业”。执行这些“作业”时,通常需要用户凭据以及特权密码、API 密钥和访问令牌等敏感信息,以便与其他系统和服务进行交互。 在大多数 DevOps 环境中,此类凭证通常以明文形式存储在 Jenkins 服务器中,这可能引发大量安全与管理问题。
专为 Jenkins 密钥管理开发的 PAM360 插件,有助于提升企业 DevOps 管道的安全性。该插件在 Jenkins 中启用后,可确保每次运行作业时,所需凭证均从 PAM360 的密钥库中安全获取,而非嵌入脚本文件中的明文。安全获取后,这些凭证即可用于环境变量,例如连接远程服务器以激活构建。 该插件还免去了用户每次更新时都必须手动修改脚本文件中密码的繁琐工作。通常,由于脚本文件中的密码过期,用户可能会因无法登录目标应用程序或服务器而无法运行任务。 如今,凭证存储在 PAM360 中,不仅会定期轮换,还会在相应的远程设备上同步更新,从而确保在运行任务时仅从密钥库中检索到最新的密码。目前,该插件可用于任务级别的密钥管理,即适用于自由风格项目中的任务。
请继续阅读,详细了解如何在 Jenkins 中使用 PAM360 插件进行密钥管理:
- 在 PAM360 中启用 Jenkins 集成
- 在 Jenkins 中安装并启用 PAM360 插件
- 为 Jenkins 的 Freestyle 项目任务从 PAM360 检索密码
- 可用 PAM360 属性列表
1. 在 PAM360 中启用 Jenkins 集成
- 登录 PAM360,导航至“管理”>>“DevSecOps”>>“CI/CD 平台”>>“Jenkins”。
- AUTH 令牌:点击“生成”以自动生成一个 AUTH 令牌。后续在 Jenkins 控制台中配置插件时将需要此令牌。配置完成后,PAM360 将使用此 AUTH 令牌验证来自 Jenkins 的所有传入连接。

- 用户名:在此处输入一个有效的 PAM360 用户的用户名,Jenkins 将自动使用该账户从 PAM360 的保险库中安全地检索所需的密码。
注意
请确保您提供的用户账户具备此工作流所需的最低权限,即查看/检索 Jenkins 需连接的资源密码的权限。
- 点击“启用”。
其他详细信息
由于 Jenkins 可能有多个实例,因此 Jenkins 请求的“主机名”检查将被禁用。
2. 在 Jenkins 中安装并启用 PAM360 插件
在 Jenkins 控制台中执行以下操作需要具备管理插件权限的用户角色。
2.1 在 Jenkins 中安装 PAM360 插件
- 首先,从 此处。
注意
下载文件时请务必核对 SHA256 值 —SHA256 校验和:91f9392d4b2b8f03f400118a3bb443702665dd69c0f799ecb1ce1fce0e068faa
- 打开 Jenkins 控制台,依次进入“管理 Jenkins”>>“管理插件”>>“高级”。
- 在“上传插件”部分,上传插件文件。
- 此外,Jenkins 在建立连接时还需要您的 PAM360 安装的 SSL 证书。因此,必须将 SSL 证书添加到 Jenkins 的密钥库中。请使用以下命令添加 SSL 证书:
keytool -import -trustcacerts -keystore <<JENKINS_JAVA_KEYSTORE_路径>> -alias <<别名>> -import <<PAM360_SSL_证书_路径>>
- 安装完成后,请重启 Jenkins 服务器以使更改生效。
2.2 在 Jenkins 中启用插件
- 导航至“管理 Jenkins”>>“配置系统”。
- 在加载的界面中,向下滚动找到 PAM360 插件部分。
- PAM360 URL:输入您的 PAM360 实例的 URL,格式为https://<主机名>:<端口号>
- PAM360 认证令牌:在此处复制并粘贴之前在 PAM360 界面中生成的认证令牌。请注意,PAM360 和 Jenkins 中的认证令牌必须完全一致,才能成功配置插件并检索密码。
- 保存更改以启用并开始在 Jenkins 中使用 PAM360 插件。
3. 为 Jenkins 的自由风格项目任务从 PAM360 获取密码
目前,该插件可用于从 PAM360 获取 Jenkins 自由风格项目任务所需的凭据。这需要在配置任务时添加各种 PAM360 属性,例如资源名称、账户名称和密码。在任务级别完成这些属性的配置后,这些 PAM360 属性的值将在任务执行期间作为“环境变量”提供。 当 Jenkins 连接到 PAM360 以检索特定密码时,环境变量将作为 Jenkins 识别 PAM360 中所需值的方式。以下是对相关操作的分步说明:
- 创建特定的自由风格项目任务后,您可以在该任务的“构建环境”部分找到使用 PAM360 插件的选项。
- 勾选“使用 PAM360 插件管理凭据”旁边的复选框,然后点击“添加账户”。
- 在“资源名称”和“账户名称”字段中,分别指定您希望 Jenkins 从 PAM360 获取的资源及其账户的名称。

- 下一步是创建变量-属性对,Jenkins将通过这些对从PAM360检索所需值。要创建一对,请先参考下方的可用PAM360属性列表,并在“PAM360属性”字段中指定所需属性。然后为环境变量添加一个名称,对应的PAM360属性值将自动分配给该变量。
- 点击“添加变量/属性对”,以类似方式包含所有所需的 PAM360 属性,然后保存配置。该插件现已可在 Jenkins 中使用。
4. Jenkins 中可用的 PAM360 属性列表
Jenkins 中支持以下 PAM360 属性:
- RESOURCE_NAME
- RESOURCE_DESCRIPTION
- 操作系统
- DNSNAME
- 部门
- 位置
- 资源_URL
- 账户名称
- 备注
- 密码
- 资源级和账户级的附加字段,不包括基于文件的附加字段