更新日:2026年9月1日
13分で読めます
GitLabのカスタムコンプライアンスフレームワークのテンプレートで、SOC 2をはじめとする標準を強制し、遵守状況を継続的に監視。監査準備を数週間から数クリックへ短縮します。

コンプライアンスは、重要だと誰もが認めながら、誰も好んで取り組みたがらない領域です。その実態はスプレッドシートとスクリーンショット、そして近づいてくる監査への漠然とした不安のなか。GitLabのカスタムコンプライアンスフレームワークは、ここに別のアプローチを持ち込みます。プロジェクトがあるべき姿を文書化するのではなく、コントロールを一度定義すれば、あとはプラットフォームが実際の状態を継続的に検証してくれます。
本記事では、コンプライアンス遵守がなぜ重要なのか、テンプレートを使ってSOC 2フレームワークを数分で立ち上げる方法、遵守状況を継続的に監視する方法、ポリシーによってコンプライアンスを強制する方法、そしてすぐに使える標準テンプレートのラインナップを紹介します。あわせて、AI固有のコンプライアンステンプレートが今後どこへ向かうのかにも触れます。実際の動作は、以下の動画でご確認ください。
プランに関する注記: コンプライアンスフレームワークはPremiumとUltimateでご利用いただけます。フレームワークの要件とコントロール、および遵守状況のレポートとコンプライアンスステータスレポートを支えるチェック機能はUltimate限定。本記事の内容はGitLab.com、GitLab Self-Managed、GitLab Dedicatedのいずれにも当てはまります。
SOC 2、ISO 27001、PCI DSS、FedRAMPといった規制上・契約上の義務が存在するのは、顧客もパートナーも規制当局も、ソフトウェアが責任ある方法で開発・提供されているという裏付けを必要としているからです。これを満たせないことは、単なる書類上の問題では済みません。商談が止まり、制裁金が科され、製品リリースが遅れ、信頼が損なわれます。しかもコンプライアンスは一度きりのイベントではありません。監査時点では準拠していたプロジェクトも、誰かがスキャナーを無効化した瞬間、ブランチ保護を外した瞬間、必要な承認を経ずにマージした瞬間に、ずれ始めます。
このギャップを埋めるために設計されたのが、カスタムコンプライアンスフレームワークです。GitLabにおけるコンプライアンスフレームワークとは、特定のコンプライアンス義務を負うプロジェクトや、追加の監督が必要なプロジェクトを識別するために、トップレベルグループ上に作成するラベルです。ラベル単体でも、整理と可視化には十分に役立つでしょう。さらにUltimateでは、フレームワークに要件を持たせられます。要件はコントロールで構成され、コントロールとは、そのフレームワークが適用されたすべてのプロジェクトの設定や挙動に対する自動チェックのことです。
静的アプリケーションセキュリティテスト(SAST)が動いているか、デフォルトブランチが保護されているか、マージリクエストに2件の承認が必要になっているか。こうした確認をエンジニアに依頼する代わりに、GitLabがスケジュールに沿って、また関連するプロジェクト設定が変更されるたびに、自動で評価します。コンプライアンスは、監査前にかき集めるスナップショットから、一年を通じて見守れるものへ。フレームワークはトップレベルグループで作成し、配下のすべてのサブグループとプロジェクトに継承されます。複数の標準を同時に満たす必要があるプロジェクトには、最大20個のフレームワークを適用できます。
これによって日々の負荷はいくつかの点で変わります。コンプライアンスが開発ワークフローの手前へと左シフトし、監査準備は証跡を再構成する作業からレポートを書き出すだけの作業になり、一貫性は善意ではなくプラットフォームによって担保されるようになります。
フレームワークを手作業で構築するとなると、要件とコントロールを1つずつ定義していくことになります。SOC 2のように多数のコントロールにマッピングされる標準では、この作業は反復的で、ミスも起きやすいもの。テンプレートはこの問題を解決します。名前、説明、色、要件、コントロールまですべて設定済みの完成されたフレームワークを、1ステップで導入できるようにするためです。
コンプライアンス遵守テンプレートプロジェクトには、こうしたフレームワークがJSONファイルのライブラリとして公開されており、soc2.jsonもそのひとつです。
テンプレートをグループに取り込む方法は2つあります。

UIから離れることなく、組み込みテンプレートを使ってフレームワークを直接作成できます。
これでフレームワークが作成され、選択したグループ/プロジェクトに適用されます。
製品内のテンプレートピッカーが搭載されていないGitLabバージョンをお使いの場合や、テンプレートをバージョン管理下に置いて先に手を加えたい場合は、JSONを直接インポートしてください。
soc2.jsonをダウンロードします。soc2.jsonファイルを選択します。フレームワークは、プロジェクトに紐づけて初めて機能します。実際に使用するグループ/プロジェクトへの適用を忘れないでください。
注記: 同じ名前のフレームワークがすでに存在する場合、インポートはUnable to determine the correct upload URLエラーで失敗します。既存のフレームワークの名前を変更するか、削除してから実行してください。
作成したフレームワークは編集できるほか、別のグループ/プロジェクトへ追加で適用することも可能です。
グループ内の新規プロジェクトすべてにSOC 2を自動的に継承させたい場合は、基本情報セクションでそのフレームワークをグループのデフォルトに設定します。以降、新規作成およびインポートされたすべてのプロジェクトにフレームワークが適用されます。
適用されたSOC 2フレームワークは、GitLabのコントロールを該当するトラストサービス規準(TSC)にマッピングします。主なものは次のとおりです。
| SOC 2規準 | 対象となる内容 | 適用されるGitLabコントロール |
|---|---|---|
| CC3.2 | システムコンポーネントの脆弱性の特定 | 依存関係スキャン、コンテナスキャン、DAST、APIセキュリティの実行 |
| CC5.1 | 職務分掌 | 2件以上の承認、作成者およびコミッターによる承認の禁止、承認ルールの編集ロック |
| CC6.6 | 転送中の認証情報の保護 | シークレット検出の実行 |
| CC6.8 | 不正または悪意のあるソフトウェア変更の検出 | デフォルトブランチの保護 |
| CC7.1 | スキャンによる新規脆弱性の検出 | 依存関係、コンテナ、SAST、DAST、APIセキュリティの各スキャンの実行 |
| CC8.1 | 変更の承認、テスト、認可 | SAST、DAST、シークレット検出の実行、デフォルトブランチの保護、2件以上の承認 |
フレームワークがプロジェクトに適用されると、GitLabはコンプライアンススキャンを実行し、各コントロールの合否のレポートを開始します。手作業での証跡収集は不要です。
フレームワークの適用は価値の半分にすぎません。残りの半分は、いま自分たちがどの位置にいるのかをいつでも把握できることです。それを担うのがコンプライアンスステータスレポート(Ultimate)で、トップレベルグループのセキュリティ > コンプライアンスセンター > ステータスから確認できます。
このレポートには、フレームワークのコントロールにプロジェクトが準拠している/していない直近のケースが表示されるため、ギャップを素早く見つけて塞げます。各行から読み取れる情報は次のとおりです。
プロジェクト、フレームワーク、要件で絞り込めるほか、プロジェクトのコンプライアンス詳細ビューへ直接ジャンプしたり、監査担当者から証跡を求められた際にレポート全体をエクスポート(添付ファイルとして受信トレイに配信)したりもできます。

裏側では、レポートを更新するスキャンが自動的にトリガーされます。フレームワークがプロジェクトに追加されたとき、関連するフレームワークの要件が変更されたとき、そして12時間ごとの定期実行。結果は通常、スキャン実行から5〜10分後に反映されます。つまり、コンプライアンスのずれが表面化するまでの時間は、翌年の監査から数時間へ。レポートを閲覧するには、管理者であるか、対象グループでセキュリティマネージャーまたはオーナーのロールを持っている必要があります。
レポートは、何かがおかしくなったときにそれを知らせてくれます。一方ポリシーは、そもそもおかしなことが起きないようにするための仕組み。ここでコンプライアンスフレームワークは観測から強制へと踏み込むわけですが、これはフレームワークのラベルに紐づくUltimateの機能です。

コンプライアンスフレームワークは、セキュリティポリシー のスコープとして機能します。スキャン実行ポリシー、パイプライン実行ポリシー、マージリクエスト承認ポリシーはコンプライアンスフレームワークにスコープを設定でき、そのラベルを持つすべてのプロジェクトが自動的にこれらを継承します。たとえば、デフォルトブランチでSAST、シークレット検出、依存関係スキャンの実行を必須にしたうえで、新たなクリティカルな脆弱性を持ち込むマージリクエストには、指定したセキュリティチームの承認をマージ前に要求する、といった運用も可能。ポリシーが個々のプロジェクトではなくフレームワークに紐づいているため、新しいプロジェクトをフレームワークに追加すれば、そのプロジェクトは即座に同じガードレールの下に入ります。
これらの要素は連携して働きます。フレームワークが義務を定義し、コントロールとステータスレポートが遵守状況を測定し、ポリシーとコンプライアンスパイプラインが挙動を強制する。SOC 2が2件の承認とスキャナーの実行を求めていると文書化するだけでは終わりません。その要件に反するものをリリースすること自体を難しくします。コントロールが失敗すればステータスレポートが警告し、ポリシーが設定されていれば、違反する変更はマージされる前にブロックされます。
GitLabは、認知された標準をGitLabのコントロールにマッピングした事前定義済みフレームワークテンプレートを、コンプライアンス遵守テンプレートプロジェクトで継続的に拡充しています。公開時点では以下が含まれます。
| 標準 | テンプレートファイル |
|---|---|
| CIS Critical Security Controls v8.1 | cis_csc_v8-1.json |
| CSA Cloud Controls Matrix v4 | csa_ccm_v4.json |
| Cyber Essentials | cyber_essentials.json |
| DORA(デジタルオペレーショナルレジリエンス法) | dora.json |
| FedRAMP Low / Moderate / High(Rev 5) | fedramp_low_r5.json、fedramp_moderate_r5.json、fedramp_high_r5.json |
| IRAP Official / Protected / Secret / Top Secret | irap_official.json、irap_protected.json、irap_secret.json、irap_top_secret.json |
| ISMAP | ismap.json |
| ISO 27001:2022 | iso_27001:2022.json |
| NIS 2 | nis_2.json |
| NIST 800-53 Rev 5 | nist_800-53_r5.json |
| NIST 800-171 Rev 3(CMMC) | nist_800-171_r3_cmmc.json |
| NIST CSF 2.0 | nist_csf_2.json |
| NIST SP 800-218(SSDF) | nist_800-218_v1-1.json |
| PCI DSS v4.0.1 | pci_dss_v4-0-1.json |
| SOC 2 | soc2.json |
| TISAX | tisax.json |
各テンプレートの要件とコントロールの正確な対応関係は、コンプライアンス標準のリファレンスに記載されています。そのままインポートしても、出発点として使ってもかまいません。フレームワークをJSONとしてエクスポートし、自社における標準の解釈に合わせて要件とコントロールを調整して、再度インポートするという流れです。JSONスキーマはシンプルで、フレームワークはname、description、color、そしてrequirementsの配列を持ち、各要件がそれぞれのcontrolsと評価用のexpressionを持つという構成。この構造のおかげで、テンプレートはバージョン管理下に置きやすく、グループ間で共有しやすくなっています。
現在扱われているコンプライアンス標準の多くは、従来型のソフトウェアを前提に書かれたものです。組織が自社製品や自社の開発ワークフローにAIを組み込むにつれ、AIシステムをどのように構築し、承認し、監視するかを統制する新しい種類の義務が生まれつつあります。代表例が、EU AI法、ISO/IEC 42001、NIST AIリスクマネジメントフレームワーク。
GitLabは、同じテンプレート駆動のモデルをこの領域に広げるべく、AIガバナンスコンプライアンステンプレート(エピック#16808、計画は作業アイテム#22336で追跡)を検討しています。ねらいは、今日SOC 2を導入するのと同じ手軽さでAIガバナンスフレームワークを採用できるようにすること。AI固有の義務に対応する要件とコントロールをあらかじめ定義し、AI機能を構築・デプロイするプロジェクトに適用して、同じコンプライアンスステータスレポート上で可視化するという構想です。
ここで押さえておきたい区別が1つあります。コンプライアンスとは、定められた要件を満たしている状態を指します。対してガバナンスは、システムとルールの両方が変化していくなかでAIシステムを準拠した状態に保ち続ける、継続的な能力のこと。GitLabの大きな方向性は、AIによる検出と、人間が介在する承認、そして監査可能なポリシーベースの強制を組み合わせるというもの。AIの検出結果は判断材料にとどめ、リリースの可否は責任を持つ人間と測定可能なコントロールが握り続けます。AI固有のテンプレートは、いわばそのオンランプ。新たに生まれつつあるAI要件を、すでに他の領域で使っているフレームワーク、コントロール、ステータスレポート、ポリシーの仕組みへ、そのまま素早く落とし込めるようになります。
カスタムコンプライアンスフレームワークを使えば、自社の義務を一度定義するだけで、あとはGitLabが継続的に検証してくれます。テンプレートが着手時の手作業をまるごと取り除いてくれるため、SOC 2フレームワークまでは数クリック、あるいはJSONを1つインポートするだけの距離。コンプライアンスステータスレポートは12時間サイクルで遵守状況を可視化し、セキュリティポリシーとコンプライアンスパイプラインが、その可視性を強制力へと変換します。標準のライブラリはすでに利用可能で、AI固有のテンプレートも視野に入ってきました。「コンプライアンスを満たすべきだ」から「満たしていることを継続的に証明できる」までの道のりは、かつてないほど短くなっています。
詳しくはコンプライアンスフレームワークのドキュメントをご覧いただき、カスタムコンプライアンスフレームワークのクリックスルーデモもぜひお試しください。
本ブログ記事には、1933年証券法(改正済み)第27A条および1934年証券取引所法第21E条にいう「将来の見通しに関する記述」が含まれています。これらの記述に反映された期待は合理的なものと考えていますが、既知および未知のリスク、不確実性、前提条件、その他の要因の影響を受けるため、実際の結果は大きく異なる可能性があります。これらのリスクおよびその他の要因の詳細については、当社がSECに提出する報告書の「リスク要因」の項に記載しています。当社は、法令により義務付けられる場合を除き、本ブログ記事の日付以降にこれらの記述を更新または改訂する義務を負いません。
無料の
30日間のGitLabトライアルを開始
クレジットカードなしでご登録いただけます。
このブログ記事を楽しんでいただけましたか?ご質問やフィードバックがあればお知らせください。GitLabコミュニティフォーラムで新しいトピックを作成してあなたの声を届けましょう。
フィードバックを共有する