DevSecOpsの実現を支える縁の下の力持ち GitLab Runner
クラウドネイティブNow

はじめに

従来のソフトウェア開発では、セキュリティは開発の最後の段階で対応されることが多かったため、セキュリティ上の脆弱性が見落とされることがありました。
そのためセキュリティを含む品質対策の考え方として、品質/セキュリティ対策工程を通常よりも前倒しで実施する「シフトレフト」が注目されています。シフトレフトの要点は以下になります。

  • 早期のテストと検証
    開発の初期段階からテストを行い、品質に対する問題を早期に発見・対応することで、後の段階で対応するよりも修正コストを削減できます。
  • 自動化テストの導入
    自動化されたテストを開発プロセスに組み込み、人的リソースを消費せずに開発の初期段階から繰り返しテストを実施することで、効率的に品質を保つことができます。

シフトレフトはアジャイル開発やDevSecOpsとも関連しており、リリースの迅速化と品質の向上を両立させることを目指します。

DevSecOpsとは

DevSecOpsは、開発(Development)、セキュリティ(Security)、および運用(Operations)の3つの要素を統合したアプローチであり、ソフトウェア開発および運用プロセス全体にセキュリティを組み込むための様々な取り組みを示す概念です。

開発と運用の密な連携を目指すDevOpsの概念にセキュリティ観点の要素を付与したものです。DevOpsについては以下の記事もご参考ください。

DevSecOpsではシフトレフトの考えのもと、従来は出荷前やテスト工程終盤で実施していたセキュリティ対策を開発サイクルに組み込むことで、問題の早期発見と対応を目指します。セキュリティ対策のシフトレフトにより、事前に問題に対処できる可能性が高まり、全体的な対応コストを従来より削減できる効果が期待できます。

DevSecOpsの詳細については、以下の記事で紹介しています。

この概念を実現するにあたり、重要なのは「開発の初期段階」から「継続的にセキュリティ対策を実施すること」です。これらを省力化して実行するために必要な手法がCI(継続的インテグレーション)/CD(継続的デリバリー)です。

GitLab Runnerとは

DevSecOpsに重要なCI/CDを実現するために、開発/運用/セキュリティプロセスの自動化は欠かせません。GitLabにおいてはPipelineという機能がCI/CDの司令塔の役割を果たしますが、その指示に従ってプロセスの自動化を実現する基盤が GitLab Runnerです。

GitLab Runner

GitLab RunnerはGitLabとは別のソフトウェアとしてインストールしたのち、GitLabとの連携を設定することで利用することができます。

富士通が提供するマネージド GitLab Runner

富士通のGitLabマネージドサービス「DevOps with GitLab」では2023年5月よりこのGitLab Runner機能を提供開始いたしました。

DevOps with GitLab

コントロールパネルやAPIからGitLab Runnerがセットアップされたサーバーを簡単に構築・管理できます。連携先となるGitLabサーバーは「DevOps with GitLab」に止まらず、お客様環境(オンプレミス/他社クラウド)で運用しているGitLabサーバー、あるいはGitLab社のマネージドGitLabである「GitLab.com」と連携し、そのPipelineから各種自動化プロセスの実行が可能です。

DevSecOpsにおける GitLab Runnerの役割

DevSecOpsでセキュリティ施策のシフトレフトを実現するために、GitLab Runnerは重要な役割を担っています。具体的には主に以下の2つのタスクを継続的に実施するために活用されます。

1)各種セキュリティスキャン、テストを任意のタイミングで自動的に実行する

GitLab Runnerを用いてGitLabが提供する様々なセキュリティスキャン/テスト(後述の 「GitLabが提供するセキュリティ機能」を参照)をソースコードが更新される都度、あるいはスケジュールされた時間に毎日実行することで、実用的なセキュリティとコンプライアンスの発見を開発者に提供します。

これにより、開発者がまだ開発に取り組んでいる段階で問題の修正を行うことができます。

各種セキュリティスキャン、テストを任意のタイミングで自動的に実行

2)各種レポート作成ジョブを実行し、ダッシュボード機能に必要な最新情報を継続的に提供する

プロジェクト責任者やセキュリティ担当者がプロダクトのセキュリティやコンプライアンスの最新情報を把握できるよう、GitLabはセキュリティダッシュボード機能・コンプライアンスダッシュボード機能を提供します。

これらに表示する情報を常に最新に保つため、GitLab Runnerが継続的に各種情報の収集とレポート作成を担っています。
これにより、担当者は常に最新情報を得ることができ、問題の有無を素早く把握し、今後の対策・方針を検討することに集中することができます。

各種レポート作成ジョブを実行し、ダッシュボード機能に必要な最新情報を継続的に提供

GitLabが提供するセキュリティ機能

GitLab Enterprise Edition Subscriptionにて提供している主なセキュリティ機能は以下です。

機能 Free Premium Ultimate
静的アプリケーション・セキュリティ・テスト(SAST) 提供 提供 提供
秘密情報の検出 提供 提供 提供
マージリクエスト時の承認ルール 提供なし 提供 提供
動的アプリケーション・セキュリティ・テスト(DAST) 提供なし 提供なし 提供
依存関係スキャン 提供なし 提供なし 提供
コンテナスキャン 提供 提供 提供
IaCスキャン 提供 提供 提供
APIスキャン 提供なし 提供なし 提供
クラスタイメージスキャン 提供なし 提供なし 提供
ファズ・テスト 提供なし 提供なし 提供
セキュリティダッシュボード 提供なし 提供なし 提供
コンプライアンスダッシュボード 提供なし 提供なし 提供
コンプライアンスパイプライン 提供なし 提供なし 提供
脆弱性管理 提供なし 提供なし 提供
クレデンシャルインベントリ 提供なし 提供なし 提供

Plan(Free/Premium/Ultimate)によって提供機能に違いがございます。詳細はGitLab公式HP(https://about.gitlab.com/pricing/)もご確認ください。

DevSecOpsの効果

世界的なセキュリティ企業「HackerOne」ではGitLab/GitLab Runnerを用いた新たなDevSecOps環境を構築し、セキュリティ施策シフトレフトを実現させることにより開発者の作業効率を改善し、開発者1人当たりの開発時間を「約 4時間/週」削減しました。
その結果、従来よりサービスのデプロイ時間を約5倍短縮させることに成功しました。

世界シェア5位の建設用工具製造業「Hilti(ヒルティ)」は、ソフトウェア開発を内製化するためにGitLabを採用し、GitLabのソースコード管理、CI/CD、セキュリティスキャンを取り入れた新たな開発環境を構築しました。
これにより、従来の開発よりコードチェック効果が 400%増加しソフトウェア品質向上に寄与しました。最終的にソフトウェアのデプロイ速度は導入前の約12倍という効果を得ることができました。

これらのお客様のビジネスに貢献しているDevSecOps開発基盤の縁の下では、GitLab Runnerが日々自動化プロセスを実行し続けています。

おわりに

このように、人的リソースを浪費せずに様々なプロセスの自動化を実現するGitLab Runnerは CI/CDの実現に必須のものです。特にセキュリティへのさらなる対策が求められる昨今のICTサービス/システムにおいて、セキュリティ施策のシフトレフトは必要不可欠なものとなっていくことが予想されます。

GitLab Runnerを活用することでコストパフォーマンスの優れたセキュリティ施策を導入し、お客様のビジネス価値の向上と、スピーディーな業務を体感してください。

関連情報

GitLab Enterprise Edition Subscription 30日間無償トライアル/DevOps with GitLab 翌月末まで無償トライアル

  • GitLab Enterprise Edition Subscription を30日間無料で利用
  • DevOps with GitLab(Runner機能含む)を含むさまざまなサービスを翌月末まで無料で利用

FUJITSU Hybrid IT ServiceポータルサイトのFJcloud-Vから申し込むだけです。ぜひ、この機会にGitLab Enterprise Edition、DevOps with GitLabを体験してください!

GitLab Enterprise Edition Subscription/ DevOps with GitLab サービス説明資料

DevOpsの基礎概念から、GitLab Enterprise Edition Subscription、DevOps with GitLabのサービス内容まで説明します。DevOpsとは?といった基本的な知識を得たいお客様はご活用ください。

本コンテンツに関するお問い合わせ

お電話でのお問い合わせ

富士通コンタクトライン(総合窓口)

0120-933-200

受付時間:9時~12時および13時~17時30分
(土曜日・日曜日・祝日・当社指定の休業日を除く)

Webでのお問い合わせ

当社はセキュリティ保護の観点からSSL技術を使用しております。

ページの先頭へ