0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

DevSecOpsとは何か|CI/CDパイプラインにセキュリティを組み込む実践ガイド

0
Last updated at Posted at 2026-09-13

はじめに

DevSecOps(デブセックオプス)は、開発(Dev)・セキュリティ(Sec)・運用(Ops)を統合する開発手法です。

従来のウォーターフォール開発では「リリース直前にセキュリティ検査」が一般的でしたが、これでは問題の発見が遅れ、修正コストが膨大になります。DevSecOpsでは、セキュリティをCI/CDパイプラインの各段階に組み込み、問題を早期発見・早期修正(Shift Left) することを目指します。

IPA「プロフェッショナルデジタルスキル試験(PD試験)」PD(S)区分のシラバスにも明記されている概念です。


Shift Leftとは

従来:
コーディング → テスト → 統合 → ステージング → [セキュリティ検査] → リリース
                                                  ↑ 問題発見が遅い

DevSecOps (Shift Left):
[コーディング] → [テスト] → [統合] → [ステージング] → リリース
    ↑セキュリティ検査を各フェーズに組み込む

リリース直前での発見は、コーディング時の発見と比べて修正コストが30倍になるとも言われます(IBM System Science Institute調査)。


CI/CDパイプラインへのセキュリティ統合

各フェーズで使うツール

# GitLab CI/CD の例
stages:
  - code_analysis   # 静的解析
  - build
  - test
  - security_scan   # 動的解析・依存関係チェック
  - deploy

sast:
  stage: code_analysis
  script:
    - semgrep --config=auto .  # SAST: コードの脆弱性静的解析

dependency_check:
  stage: code_analysis
  script:
    - dependency-check.sh --project myapp  # SCA: 依存ライブラリのCVEチェック

dast:
  stage: security_scan
  script:
    - zap-baseline.py -t https://staging.myapp.com  # DAST: 動的スキャン

主要なセキュリティ検査ツール

種別 ツール例 検出対象
SAST(静的解析) Semgrep・SonarQube・Checkmarx SQLインジェクション・XSS等のコードパターン
DAST(動的解析) OWASP ZAP・Burp Suite 実行時の脆弱性
SCA(ソフトウェア構成分析) Dependabot・Snyk・OWASP DC 依存ライブラリのCVE
Container Scan Trivy・Clair・Grype コンテナイメージの脆弱性
IaC Scan Checkov・tfsec Terraform等のミス設定
シークレットスキャン git-secrets・TruffleHog APIキー・パスワードの誤コミット

セキュアコーディング実践

よくある脆弱性と対策

SQLインジェクション(Python例)

# NG: 文字列結合でクエリ生成
cursor.execute(f"SELECT * FROM users WHERE id = {user_id}")

# OK: プレースホルダを使用
cursor.execute("SELECT * FROM users WHERE id = %s", (user_id,))

シークレットの管理

# NG: ハードコーディング
DATABASE_URL: "postgresql://user:password123@host/db"

# OK: 環境変数 or Secrets Manager
DATABASE_URL: "${DATABASE_URL}"
# AWS Secrets Manager / Azure Key Vault / HashiCorp Vault を使用

DevSecOps文化の醸成

ツールを入れるだけでは機能しません。現場で重要なのは:

  1. セキュリティチャンピオン制度: 各チームにセキュリティ担当者を置く
  2. セキュリティ研修の定期実施: OWASP Top 10のチーム学習
  3. 失敗を責めない文化: 脆弱性の報告を奨励する

PD試験(S区分)との関連

PD(S)シラバルでは「DevSecOps」が実務技能として明記されています。

試験では以下のような判断力が問われます:

  • パイプラインのどの段階でどのスキャンツールを使うか
  • コンテナ環境でのセキュリティ設計
  • インシデント発生時の対応手順

まとめ

  • DevSecOps = 開発の各フェーズにセキュリティを組み込む(Shift Left)
  • CI/CDパイプラインでSAST・DAST・SCA・Container Scanを自動化
  • ツールと文化の両輪が必要

PD試験の詳細・シラバス解説はこちら。

👉 PDS試験ドットコム

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?