正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。

SLSA来歴仕様

  • プラン: Free、Premium、Ultimate
  • 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
  • ステータス: 実験的機能

この機能の利用可否は、機能フラグによって制御されます。詳細については、履歴を参照してください。この機能はテストには利用できますが、本番環境での使用には適していません。

SLSA構成証明の仕様では、buildType参照をドキュメント化し、公開する必要があります。この参照は、GitLab SLSA構成証明のコンシューマーが、GitLab SLSA構成証明ステートメントに固有の特定のフィールドを解析するのを支援するためのものです。

詳細については、buildTypeのドキュメントを参照してください。

buildType

この公式のSLSA Provenance buildType参照:

  • GitLab CI/CDジョブの実行について説明します。
  • GitLabによってホストおよびメンテナンスされています。

説明

このbuildTypeは、ソフトウェアアーティファクトをビルドするワークフローの実行について説明します。

コンシューマーは、認識されない外部パラメータを無視する必要があります。変更によって、既存の外部パラメータのセマンティクスが変更されてはなりません。

外部パラメータ

外部パラメータ:

フィールド
sourceプロジェクトのURL。
entryPointビルドをトリガーしたCI/CDジョブの名前。
variablesビルドコマンドの実行時に使用できるCI/CDまたは環境変数の名前と値。変数がマスクまたは非表示の場合、変数の値は[MASKED]に設定されます。

内部パラメータ

内部パラメータ(デフォルトで入力されたもの):

フィールド
nameRunnerの名前。
executorRunnerのexecutor。
architectureCI/CDジョブが実行されるアーキテクチャ。
jobビルドをトリガーしたCI/CDジョブのID。

この例は、GitLabで生成された構成証明ステートメントの形式を示しています:

{
  "_type": "https://in-toto.io/Statement/v1",
  "subject": [
    {
      "name": "artifacts.zip",
      "digest": {
        "sha256": "717a1ee89f0a2829cf5aad57054c83615675b04baa913bdc19999d7519edf3f2"
      }
    }
  ],
  "predicateType": "https://slsa.dev/provenance/v1",
  "predicate": {
    "buildDefinition": {
      "buildType": "<Link to Build Type>",
      "externalParameters": {
        "source": "http://gdk.test:3000/root/repo_name",
        "entryPoint": "build-job",
        "variables": {
          "CI_PIPELINE_ID": "576",
          "CI_PIPELINE_URL": "http://gdk.test:3000/root/repo_name/-/pipelines/576",
          "CI_JOB_ID": "412",
[... additional environment variables ...]
          "masked_and_hidden_variable": "[MASKED]",
          "masked_variable": "[MASKED]",
          "visible_variable": "visible_variable",
        }
      },
      "internalParameters": {
        "architecture": "arm64",
        "executor": "docker",
        "job": 412,
        "name": "9-mfdkBG"
      },
      "resolvedDependencies": [
        {
          "uri": "http://gdk.test:3000/root/repo_name",
          "digest": {
            "gitCommit": "a288201509dd9a85da4141e07522bad412938dbe"
          }
        }
      ]
    },
    "runDetails": {
      "builder": {
        "id": "http://gdk.test:3000/groups/user/-/runners/33",
        "version": {
          "gitlab-runner": "4d7093e1"
        }
      },
      "metadata": {
        "invocationId": 412,
        "startedOn": "2025-06-05T01:33:18Z",
        "finishedOn": "2025-06-05T01:33:23Z"
      }
    }
  }
}