コンプライアンスは、単なるチェック項目ではなく、業務リスクから顧客の信頼に至るまで、あらゆるものに影響を与える重要なビジネス機能です。開発チームにとっては、コンプライアンス要件と開発速度のバランスを取ることは特に困難です。GitLabのカスタムコンプライアンスフレームワークを使えば、コンプライアンスの確認を開発ワークフローに直接統合することができます。この記事では、この機能の概要と、その効果を最大限に活用する方法についてご紹介します。
GitLabのカスタムコンプライアンスフレームワークとは?
GitLabのカスタムコンプライアンスフレームワークを使うと、組織は自社のGitLabインスタンス内で、コンプライアンス基準を定義・実装・適用できます。この機能により、GitLabに元々備わっているコンプライアンス機能を拡張し、特定の規制要件や社内ポリシー、業界標準に合わせたカスタマイズ可能なフレームワークを作成できるようになります。
カスタムコンプライアンスフレームワークには、次のようなメリットがあります。
- 手動での追跡作業にかかる手間を削減
- 監査対応の準備を加速
- コンプライアンス制御をGitLab上でネイティブに適用

今回のリリースでは、50個を超えるすぐに使える(OOTB)コントロールが提供されており(今後さらに追加予定)、医療分野のHIPAA、データプライバシーに関するGDPR(EU一般データ保護規則)、サービス組織向けのシステムおよび組織管理(SOC)2、その他業界固有の規制など、組織ごとのコンプライアンスのニーズに合わせて調整できます。OOTBコントロールの一例は以下のとおりです。
- 職務分離(SoD、例:最低2名の承認者が必要、作成者によるマージリクエストの承認)
- セキュリティスキャナの実行(例:SASTの実行、依存関係スキャンの実行)
- 認証/認可(例:プロジェクトの公開設定が非公開、AuthSSOが必須)
- アプリケーション構成(例:ステータスチェックが必須、Terraformが必須)
さらに、GitLab APIを使用して外部環境のコントロールを構成することもでき、外部環境のステータスや詳細を確認できます。
ゼロからカスタムコンプライアンスフレームワークを作成する
その価値を理解できたところで、次はGitLab環境でカスタムコンプライアンスフレームワークを実装する方法を見ていきましょう。デモアプリケーションを使って説明しますので、動画を見ながら一緒に進めてください。
注: GitLab Ultimateのサブスクリプションが必要です。
ステップ1:コンプライアンス要件を定義する
カスタムフレームワークを構築する前に、まずはコンプライアンス要件を明確に定義する必要があります。
- 適用される規制を特定する: 自社に適用される規制や標準(例:GDPR、PCI DSS、HIPAA)を確認します。
- 各要件に対応するコントロールを割り当てる: 各規制を、具体的で実行可能なコントロールとして整理します。
- 要件に優先順位を付ける: リスクの高い領域や、影響の大きい要件を優先します。
ステップ2:カスタムコンプライアンスフレームワークを作成する
以下の手順でカスタムコンプライアンスフレームワークを作成できます。
- GitLabグループのセキュア > コンプライアンスセンターセクションに移動します。
- 新しいフレームワークボタンを押します。
- 空のフレームワークを作成を選択します。

- フレームワークの名前、説明、色を設定します。

- フレームワークに要件を追加します:
a. ページを下にスクロールして要件タブを開きます。
b. 新しい要件ボタンをクリックします。
c. 名前と説明を入力します。 d. コントロールセクションでGitLab コントロールを選択をクリックします。 e. 一覧からコントロールを選択します(例:少なくとも 2 つの承認、SAST の実行など)。 f. 要求事項を作成ボタンをクリックします。

- フレームワークを作成ボタンをクリックします。
指定した内容でフレームワークが作成され、プロジェクトに追加できるようになります。また、適切なスキーマに準拠したJSONを使用して、コンプライアンスフレームワークをインポートすることも可能です。
ステップ3:プロジェクトにフレームワークを適用する
フレームワークを作成したら、以下の手順に従います。
- コンプライアンスセンターからプロジェクトタブを選択します。
- 検索バーを使って対象のプロジェクトを検索または絞り込みます。
- フレームワークを適用するプロジェクトを選択します。
- 一括操作を選択ボタンをクリックします。
- 選択したプロジェクトにフレームワークを適用するを選択します。
- フレームワークを選択ボタンをクリックします。
- 一覧から適用するフレームワークを選択します。
- 適用ボタンをクリックします。

適用されたフレームワークは、プロジェクト内で要求事項として可視化され、追跡できるようになります。
ステップ4:コンプライアンスの状況をモニタリング・報告する
フレームワークを設定したら、以下のことができるようになります。
- コンプライアンスセンターを使って、プロジェクト全体のコンプライアンス状況を管理する。不合格となったコントロールの詳細や、推奨される修正方法も確認できます。
- 監査や関係者によるレビューへ向けた、コンプライアンスレポートを生成する。
- コンプライアンスに関するアラートを設定し、潜在的な問題を関係者へ通知する。
- 監査イベントで、コンプライアンス設定に対して行われた操作の概要を確認する。

実例:SOC2 コンプライアンスフレームワークの実装
システムおよび組織管理(SOC)2、通称SOC2は、米国公認会計士協会(AICPA)によって策定された、厳格な監査基準です。SOC2は、サービス組織のセキュリティ、可用性、処理の完全性、機密性、プライバシーに関するコントロールを評価します。詳細については、GitLabでSOC 2のセキュリティ要件を満たすためのガイドをご覧ください。
それでは、カスタムコンプライアンスフレームワークを使って SOC2 のセキュリティコンプライアンスを検証する実践的な例を見てみましょう。SOC2 のセキュリティ基準には以下が求められます。
- 不正アクセスを防ぐためのコントロールの導入
- リスクを特定し、軽減するための手順の確立
- セキュリティインシデントの検出および対応のためのシステムの構築
免責事項: これはSOC2の要件に準拠するために利用可能な一部のコントロールを紹介する例です。本番環境に導入する前に、必ずセキュリティ/コンプライアンスチームと相談してください。
GitLabのOOTB(すぐに使える)コントロールを活用したSOC2用カスタムコンプライアンスフレームワークの例:
- 名前: SOC2セキュリティ要件
- 説明: SOC2フレームワークに準拠するためのセキュリティ要件を追加します
- 要件:
- 不正アクセスを防ぐためのコントロールの導入
- Auth SSOを有効化
- CI/CDジョブトークンのスコープを有効化
- 組織レベルでMFA(多要素認証)を必須化
- リスクを特定し、軽減するための手順の確立
- 少なくとも2つの承認
- 作成者によるマージリクエストの承認
- コミッターによるマージリクエストの承認
- デフォルトブランチの保護
- セキュリティインシデントの検出および対応のためのシステムの構築
- 依存関係スキャンの実行
- SASTの実行
- DASTの実行
- 不正アクセスを防ぐためのコントロールの導入
このフレームワークをプロジェクトに適用することで、コンプライアンスが崩れたタイミングや、再度準拠するために必要な対策を把握できるようになります。なお、1つのプロジェクトに対して複数のコンプライアンスフレームワークを作成・適用することも可能です。たとえば、SOC2のプロセス整合性要件専用のフレームワークを別途設けることもできます。
コンプライアンス要件を満たすためにセキュリティポリシーを実装する
必須ではありませんが、カスタムコンプライアンスフレームワークを含むプロジェクトにセキュリティポリシーを適用することができます。これにより、特定のコンプライアンス基準がセキュリティポリシーによって強制されることを保証できます。たとえば、セキュリティスキャンを求めるカスタムコンプライアンスフレームワークが適用されたプロジェクトに対して、セキュリティスキャナーの実行を強制できます。
GitLab では、以下のようなさまざまなセキュリティポリシーが提供されています。
- スキャン実行ポリシー:パイプラインの一部または指定されたスケジュールでセキュリティスキャンを実行します。
- マージリクエスト承認ポリシー:スキャン結果に基づいて、プロジェクトレベルの設定や承認ルールを強制します。
- パイプライン実行ポリシー:プロジェクトのパイプラインにおけるCI/CDジョブの実行を強制します。
- 脆弱性管理ポリシー:デフォルトブランチで検出されなくなった脆弱性を自動的に解決します。
ここでは、SASTスキャナーを実行することで、SASTスキャンを要求する要件への準拠を自動的に行う方法を紹介します。特定のフレームワークが適用されたプロジェクトに対してセキュリティポリシーを作成・適用するには、次の手順に従います。
- SAST スキャンが求められるカスタムコンプライアンスフレームワークが適用されているプロジェクトに移動します。
- サイドバーで、セキュア > ポリシーの順に選択します。
- 新しいポリシーボタンをクリックします。
- スキャン実行ポリシーで、ポリシーを選択ボタンをクリックします。
- 名前と説明を入力します。
- アクションで、実行するスキャンとしてSASTを選択します。

- 条件で、すべてのブランチでパイプラインが実行されたときにトリガーされるように設定します。

- マージリクエスト経由で設定 ボタンをクリックします。
- この時点で、すべてのセキュリティポリシーが含まれた別プロジェクトでマージリクエスト(MR)が作成されます。
- マージボタンをクリックします。
これで、すべてのブランチでSASTが実行されるようになり、その領域におけるコンプライアンスが保証されます。他にもさまざまな種類のセキュリティポリシーがありますので、要件に合うものを探してみてください。
5つのベストプラクティス
カスタムコンプライアンスフレームワークを最大限に活用するために、以下のベストプラクティスに従いましょう。
- 小さく始める: まずは、重要な規制や標準のうち1つから着手し、そこから範囲を広げていきましょう。
- 関係者を巻き込む: フレームワークの作成には、コンプライアンスチーム、セキュリティチーム、デベロッパーチームを含めることが重要です。
- 可能な限り自動化する: GitLab CI/CDを活用して、コンプライアンスチェックの自動化を図りましょう。
- しっかりと文書化する: フレームワークがどのように規制要件に対応しているか、明確に文書化しておきましょう。
- 定期的に見直す: 規制の変更や新たな要件の発生に応じて、フレームワークを更新するようにしましょう。
無料トライアルで今すぐスタート!
GitLabのカスタムコンプライアンスフレームワークは、コンプライアンスを開発ワークフローに直接組み込むことで、DevSecOpsにおける大きな進化をもたらします。カスタムフレームワークを導入することで、コンプライアンス業務の負担を軽減し、リスク管理を強化しながら、規制要件を満たしたまま開発サイクルを加速させることが可能になります。
カスタムコンプライアンスフレームワークを定義・適用できる機能により、チームは自社特有の規制状況に対応する柔軟性を得られる一方で、組織全体のコンプライアンスの慣習を一貫させるために必要な構造も得られます。
今後さらに規制要件が複雑化していく中で、カスタムコンプライアンスフレームワークのようなツールを活用して、コンプライアンスと開発速度のバランスを持続的に両立させることが、ますます重要になるでしょう。
今すぐカスタムコンプライアンスフレームワークをお試しになりたい場合は、GitLab Ultimateの無料トライアルにぜひお申し込みください。
関連リンク
以下のリソースで、カスタムコンプライアンスフレームワークの詳細や、そのメリットについてご覧いただけます。





