第 1 章 在 Jenkins 中添加 secret 以便与外部工具安全集成


在创建应用程序时,当您将 Jenkins 选择为 CI 供应商时,您必须将 secret 添加到 Jenkins 中,以便与外部工具进行安全集成。这可让 Jenkins 执行基本任务,如漏洞扫描、镜像签名和测试生成。

先决条件

  • 您必须具有创建和管理 Jenkins 任务、变量和 CI 管道所需的权限。
  • 您必须有镜像 registry 的用户名和密码,如 Quay.io、Jfrog Artifactory 或 Sonatype Nexus,用于和拉取容器镜像。
  • 您必须具有适当的 GitOps 凭证。
  • 您必须具有 Jenkins 管道执行的特定任务的以下信息:

    • 对于 ACS 任务:

      • ROX Central 服务器端点和令牌
    • 对于 SBOM 任务:

      • Cosign 签名密钥密码、私钥和公钥
      • 信任 URL、客户端 ID、secret 和支持的 CycloneDX 版本
    注意

    用于这些凭证的值已经经过 Base64 编码,因此您不需要转换它们。您可以在 private.env 文件中找到这些凭证。

流程

  1. 在 Web 浏览器中打开 Jenkins 实例,并使用您的管理员凭据登录。
  2. 选择 Jenkins 仪表板右上角的用户名。
  3. 从左侧边栏中,选择 Credentials
  4. 选择您要添加凭证的适当域。通常,它是 全局凭证(无限制 )。
  5. 选择 Add Credentials
  6. Kind 下拉列表中,选择 Secret 文本
  7. Scope 下拉列表中的默认值保留为 Global (Jenkins)
  8. Secret 字段中,输入您的 ACS API 令牌。
  9. ID 字段中,输入 ROX_API_TOKEN
  10. Description 字段中,为凭证输入适当的描述。
  11. 为以下凭证重复步骤 5-10 :

    变量描述

    仅为一个镜像 registry 提供镜像 registry 凭证。

    QUAY_IO_CREDS_USR

    用于访问 Quay.io 存储库的用户名。

    QUAY_IO_CREDS_PSW

    用于访问 Quay.io 存储库的密码。

    RTIFACTORY_IO_CREDS_USR

    用于访问 JFrog Artifactory 存储库的用户名。

    RTIFACTORY_IO_CREDS_PSW

    用于访问 JFrog Artifactory 存储库的密码。

    NEXUS_IO_CREDS_USR

    用于访问 Sonatype Nexus 存储库的用户名。

    NEXUS_IO_CREDS_PSW

    用于访问 Sonatype Nexus 存储库的密码。

    如果 Jenkins 在非本地 OpenShift 实例上运行,并且 Rekor 和 TUF 服务位于不同的集群中,则设置这些变量。

    REKOR_HOST

    您的 Rekor 服务器的 URL。

    TUF_MIRROR

    您的 TUF 服务的 URL。

    Jenkins 的 GitOps 配置

    GITOPS_AUTH_PASSWORD

    系统用来为新构建镜像更新 GitOps 存储库的令牌。

    GITOPS_AUTH_USERNAME (可选)

    Jenkins 使用 GitLab 所需的参数。您还需要在 Jenkinsfile 中使用此参数取消注释一行: GITOPS_AUTH_USERNAME = credentials ('GITOPS_AUTH_USERNAME')。默认情况下,此行被注释掉。

    ACS 任务所需的变量。

    ROX_CENTRAL_ENDPOINT

    ROX Central 服务器的端点。

    ROX_API_TOKEN

    用于访问 ROX 服务器的 API 令牌。

    SBOM 任务所需的变量。

    COSIGN_SECRET_PASSWORD

    Cosign 签名密钥的密码。

    COSIGN_SECRET_KEY

    Cosign 的私钥。

    COSIGN_PUBLIC_KEY

    Cosign 的公钥。

    TRUSTIFICATION_BOMBASTIC_API_URL

    SBOM 生成中使用的 Trustification Bombastic API 的 URL。

    TRUSTIFICATION_OIDC_ISSUER_URL

    与 Trustification Bombastic API 交互时用于身份验证的 OIDC 签发者 URL。

    TRUSTIFICATION_OIDC_CLIENT_ID

    用于使用 OIDC 向 Trustification Bombastic API 进行身份验证的客户端 ID。

    TRUSTIFICATION_OIDC_CLIENT_SECRET

    与客户端 ID 一起使用的客户端 secret,以向 Trustification Bombastic API 进行身份验证。

    TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION

    指定系统支持并生成的 CycloneDX SBOM 版本。

  12. 重新运行最后的管道运行。

    1. 或者,切换到 GitHub 中应用的源存储库,进行次要更改,并提交它以触发新的管道运行。

其他资源

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.