This documentation is for a release that is no longer maintained
See documentation for the latest supported version.第1章 外部ツールとのセキュアな統合のために Jenkins にシークレットを追加する
アプリケーションの作成時に CI プロバイダーとして Jenkins を選択した場合は、外部ツールとのセキュアな統合のために Jenkins にシークレットを追加する必要があります。これにより、Jenkins は脆弱性スキャン、イメージ署名、アテステーション生成などの重要なタスクを実行できるようになります。
前提条件
- Jenkins ジョブ、変数、CI パイプラインの作成および管理に必要な権限がある。
- コンテナーイメージをプルするために使用する、Quay.io、Jfrog Artifactory、Sonatype Nexus などのイメージレジストリーのユーザー名とパスワードがある。
- 適切な GitOps 認証情報がある。
Jenkins パイプラインで実行する特定のタスクに使用するため、次の情報がある。
ACS タスクの場合:
- ROX Central サーバーのエンドポイントとトークン
SBOM タスクの場合:
- 署名キーのパスワード、秘密鍵、公開鍵に署名する
- 信頼 URL、クライアント ID、シークレット、およびサポートされている CycloneDX バージョン
注記これらの認証情報に使用される値はすでに Base64 でエンコードされているため、変換する必要はありません。これらの認証情報は
private.env
ファイルにあります。
手順
- Web ブラウザーで Jenkins インスタンスを開き、管理者の認証情報でログインします。
- Jenkins ダッシュボードの右上隅にあるユーザー名を選択します。
- 左側のサイドバーから Credentials を選択します。
- 認証情報を追加する適切なドメインを選択します。通常は、Global credentials (unrestricted) です。
- Add Credentials を選択します。
- Kind ドロップダウンリストから、Secret text を選択します。
- Scope ドロップダウンリストのデフォルト値は Global (Jenkins) のままにします。
- Secret フィールドに ACS API トークンを入力します。
-
ID フィールドに
ROX_API_TOKEN
を入力します。 - Description フィールドには、認証情報の適切な説明を入力します。
以下の認証情報に対して、手順 5 - 10 を繰り返します。
Expand 変数 説明 1 つのイメージレジストリーに対してのみイメージレジストリー認証情報を提供します。
QUAY_IO_CREDS_USR
Quay.io リポジトリーにアクセスするためのユーザー名。
QUAY_IO_CREDS_PSW
Quay.io リポジトリーにアクセスするためのパスワード。
ARTIFACTORY_IO_CREDS_USR
JFrog Artifactory リポジトリーにアクセスするためのユーザー名。
ARTIFACTORY_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
Trustification Bombastic API への認証にクライアント ID と一緒に使用されるクライアントシークレット。
TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION
システムがサポートして生成する CycloneDX SBOM バージョンを指定します。
最後に実行したパイプラインを再実行します。
- または、GitHub でアプリケーションのソースリポジトリーに切り替えて、小さな変更を加え、コミットして新しいパイプラインの実行をトリガーします。