Microsoft Defender for CloudとGitHub Code Security連携GA:変更点と管理者の確認ポイント

結論から言うと、Microsoft Defender for Cloud と GitHub Code Security / GitHub Advanced Security の連携GAは、脆弱性を「コードで検出されたか」だけでなく、「実際にクラウドで稼働しているか」「インターネット公開や機密データ処理などのリスクがあるか」で優先順位付けできるようにする更新です。管理者は DCSPM、GitHub コネクタ、GitHub Advanced SecurityまたはGitHub Code Securityの有効化、権限、リポジトリと実行環境のマッピング を確認する必要があります。開発者は、GitHub上のアラートやキャンペーンを、実行時リスクに基づいて絞り込めるようになるため、対応すべき脆弱性を判断しやすくなります。

Microsoft Learnのリリースノートでは、このネイティブ統合のGAが2026年5月3日付で掲載され、GitHub Changelogでも2026年5月5日に一般提供として案内されています。この記事では、2026年6月上旬時点の公式情報を基に、Microsoft Defender for Cloudの変更点、影響範囲、管理者と開発者が確認すべき展開上の注意点を整理します。(Microsoft Learn)

目次

Microsoft Defender for CloudとGitHub Code Security連携GAの要点

今回のポイントは、コード、ビルド成果物、クラウド実行環境のリスクを1つの流れで見られるようになることです。

従来のAppSec運用では、GitHubのcode scanningやDependabotで検出された脆弱性と、Microsoft Defender for Cloudで見えるクラウド側の露出リスクが別々に扱われがちでした。その結果、「本番で動いていないコードの警告」と「インターネットに公開された本番ワークロードの脆弱性」が同じ重みで並び、開発チームがどこから直すべきか判断しにくい状況が起きていました。

GAとなった連携では、Defender for Cloudのランタイムリスク情報をGitHub Advanced Security側のアラートに結び付け、実際に運用環境へ到達している脆弱性を優先しやすくします。Microsoft Learnでは、インターネット公開、機密データ、重要リソース、横移動可能性といったリスク要因がGHASの結果に反映されると説明されています。(Microsoft Learn)

なお、Microsoft Learnでは前提ライセンスとして「GitHub Advanced Security(GHAS)」と表記されています。一方で、GitHub側ではGitHub Code Securityがcode scanning、プレミアムDependabot機能、dependency reviewなどを含む製品として整理されています。契約や管理画面の名称が組織によって異なる場合があるため、社内では「GHAS」「GitHub Code Security」「GitHub Secret Protection」のどのSKUを使っているかを確認しておくと混乱を避けられます。(GitHub Docs)

何が変わったのか

今回のGAで重要なのは、単にDefender for Cloudの画面にGitHubの情報が表示されることではありません。修復の優先順位を、クラウドでの実害に近いリスクから決められるようになることです。

観点これまで起こりやすかった課題GA連携後に期待できること確認ポイント
アラートの優先順位重要度Highのアラートが多く、どれから直すべきか判断しづらい実際にデプロイ済み、公開済み、機密データに関係する脆弱性を優先しやすいGitHub側でruntime-risk系フィルターが使えるか
コードとクラウドのひも付け脆弱なコンテナーがどのリポジトリ由来か追跡に時間がかかる実行中ワークロードから元のリポジトリやビルド成果物へたどれるイメージ、パイプライン、リポジトリのマッピング精度
セキュリティチームと開発チームの連携Defender側の推奨事項を開発者の作業に落とし込みにくいDefender for CloudからGitHub issueを生成し、修復担当へ渡せるGitHub組織・リポジトリの権限、CODEOWNERS運用
キャンペーン運用大量のアラートを一括で投げるだけになりやすいGitHub Security Campaignsで実行時リスクに基づく対象化ができる組織レベルでキャンペーンを作れる権限
AI修復修正案は出せても、どの修正を優先するか判断が別工程Copilot Autofixやcoding agentを、優先度の高いissueに使いやすい自動修正のレビュー、テスト、承認プロセス

GitHub Changelogでは、Defender for Cloudがクラウド環境で実行されている内容をソースコードへ関連付け、GitHubのcode scanning、Dependabot、security campaignsでランタイムコンテキストを使った絞り込みができると説明されています。具体的には、has:deploymentruntime-risk:internet-exposedruntime-risk:sensitive-data といったフィルターが案内されています。(The GitHub Blog)

影響を受ける組織と受けにくい組織

この更新の影響が大きいのは、GitHubで開発し、コンテナーやクラウドワークロードを本番環境へ継続的にデプロイしている組織です。特に、AKSなどのKubernetes環境、コンテナーイメージ、複数チームが管理するマイクロサービス、インターネット公開アプリケーションを持つ企業では、脆弱性対応の優先順位付けに直接効きます。

一方、すべての組織がすぐに恩恵を受けるわけではありません。GitHubを使っていない、GitHub Advanced SecurityやGitHub Code Securityを有効化していない、Defender Cloud Security Posture Management(DCSPM)を使っていない、またはGitHubリポジトリと実行環境の関係が追跡できない場合は、まず基盤整備が必要です。

対象影響度理由
GitHubでアプリを開発し、Azureやマルチクラウドへデプロイしている組織コードからクラウドまでのリスクをつなげて見られる
コンテナーイメージをCI/CDでビルドし、Kubernetesへ展開している組織実行中ワークロードと元リポジトリの関連付けが重要になる
AppSecチームとクラウド運用チームが分かれている組織GitHub issueやキャンペーンで修復作業を開発側に渡しやすい
GitHubは使っているがGHAS / Code Security未導入の組織ライセンスと有効化範囲の確認が先になる
GitHub以外のリポジトリ中心の組織低〜中Defender for CloudのDevOps security全体の整理は必要だが、この連携の直接効果は限定的
Azure Governmentやソブリンクラウド利用組織この統合は商用クラウドのみ利用可能とされている

Microsoft Learnの前提条件では、GitHubコネクタ、GHASライセンス、DCSPMプラン、Security Admin権限、GitHub organization owner、商用クラウドでの利用が示されています。Azure Government、21Vianetが運用するAzure、その他のソブリンクラウドでは利用できない点は、グローバル企業や公共系案件では必ず確認すべきです。(Microsoft Learn)

管理者が最初に確認すべき前提条件

導入前に、まず次の5点を確認してください。ここを曖昧にしたまま展開すると、「GitHubにアラートが出ない」「Defender for Cloudからリポジトリにたどれない」「issue生成ボタンが出ない」といったトラブルにつながります。

確認項目見る場所判断基準
DCSPMプランMicrosoft Defender for Cloudのプラン設定対象サブスクリプションで有効になっているか
GitHubコネクタDefender for Cloud > Environment settings対象GitHub組織が接続されているか
GHAS / GitHub Code SecurityGitHub organization / repositoryのSecurity設定対象リポジトリで有効か
権限Azure RBAC、GitHub organization権限Azure側はSecurity Admin、GitHub側はorganization ownerなどが必要
クラウド種別利用テナント・リージョン商用クラウドであるか

GitHub環境の接続は、Defender for CloudのEnvironment settingsからAdd environmentを選び、GitHubを選択して認可・GitHubアプリのインストールを進めます。公式手順では、保護対象を漏らさないため、Defender for Cloud GitHubアプリにはすべてのリポジトリへのアクセスを付与することが推奨されています。(Microsoft Learn)

ただし、実務ではいきなり全社展開するよりも、まず本番影響の大きい1〜2アプリでパイロットを行うのが安全です。最初の対象は、次の条件を満たすリポジトリを選ぶと検証しやすくなります。

  • GitHub Actionsなどでコンテナーイメージをビルドしている
  • Azure Container Registryなどにイメージを格納している
  • AKSなどの実行環境にデプロイされている
  • Defender for Cloudでワークロードのリスクが見えている
  • CODEOWNERSや担当チームが明確である

GitHubコネクタ設定で失敗しやすいポイント

GitHubコネクタの設定では、権限と対象範囲の設計が重要です。

特に注意したいのは、同じGitHub organizationを複数のAzureテナントやコネクタに重複して接続しないことです。Microsoft Learnでは、Defender for Cloudの高度なDevOps posture機能を正しく動作させるため、GitHub organizationは作成先Azureテナントに1インスタンスのみオンボードする必要があると説明されています。(Microsoft Learn)

また、オンボード直後に結果が表示されないことがあります。公式ドキュメントでは、オンボード後にリポジトリやビルドなどのDevOpsリソースがInventoryやDevOps securityページへ表示されるまで最大8時間かかる場合があるとされています。さらに、セキュリティスキャンの推奨事項によっては追加のワークフロー設定が必要です。(Microsoft Learn)

症状よくある原因対応
リポジトリがDefender for Cloudに出ないGitHubアプリの対象外、組織選択漏れ、反映待ちGitHubアプリのインストール範囲と最大8時間の反映時間を確認
GitHub側にランタイムリスクが出ないDCSPM未有効、agentless scanning未有効、マッピング未成立対象サブスクリプションとGitHubコネクタ設定を確認
issue生成ができないGitHubまたはリポジトリ権限不足GitHub organization ownerやリポジトリ管理者に確認
アラートが多すぎるすべての脆弱性を同列に扱っているruntime-riskやdeployment状態で絞り込む
担当者に届かないCODEOWNERSやリポジトリ所有者が未整備リポジトリ単位の責任者を先に定義する

開発者が見るべきGitHub側の変化

開発者にとっての変化は、Defender for Cloudを直接見なくても、GitHub上で「この脆弱性は本番で動いているのか」「外部公開されているのか」「機密データを扱うワークロードなのか」を判断しやすくなる点です。

GitHub Changelogでは、Defender for CloudのランタイムコンテキストがGitHubへ取り込まれ、組織レベルのアラート一覧やキャンペーン作成フローで利用できると説明されています。たとえば、runtime-risk:internet-exposed でインターネット公開リスクを持つアラートを優先し、runtime-risk:sensitive-data で機密データに関係するアラートを絞り込む運用が考えられます。(The GitHub Blog)

開発チームでは、次のような運用ルールを作ると効果が出やすくなります。

場面推奨する判断
週次の脆弱性対応まずデプロイ済みかつruntime-riskありのアラートを確認する
緊急対応internet-exposed、sensitive-data、critical resourceに関係するものを優先する
スプリント計画GitHub Security Campaignsで対象アラートをまとめ、修復期間を決める
レビューCopilot Autofixやcoding agentの修正案をそのままマージせず、テストとコードレビューを必須にする
例外管理すぐ直せないものは期限、代替策、リスク所有者をissueに残す

ここで重要なのは、AIによる修正支援を「自動で安全に直してくれる機能」と見なさないことです。公式手順でも、GitHub Copilotのcoding agentで修正する場合は、生成された修正をレビューし、妥当なら適用する流れが示されています。セキュリティ修正は依存関係、互換性、テスト、デプロイ手順に影響するため、最終判断は人間のレビューとCI/CDの検証で行うべきです。(Microsoft Learn)

Defender for Cloud側で確認すべき画面と設定

管理者は、少なくとも次の画面を確認してください。

画面確認すること
Environment settingsGitHubコネクタが作成され、対象組織が接続されているか
DevOps security対象リポジトリが検出され、Advanced security statusがOnか
Cloud Security Explorerコード、ビルド成果物、実行ワークロードの相関が取れているか
Recommendationsコンテナーやワークロードの脆弱性推奨事項にGitHub関連情報が表示されるか
Inventory対象ワークロードの重要度やリスク要因が期待どおりか
Resource criticality重要リソースの分類が設定されているか

Microsoft Learnの展開手順では、DevOps securityで対象リポジトリを検索し、Advanced security statusがOnであること、GitHubコネクタでagentless scanningが有効であることを確認する流れが示されています。また、コードからランタイムまでの可視性確認では、リポジトリ、コンテナーイメージ、Kubernetes上の実行ワークロードがDefender for Cloudで相関されることを検証します。(Microsoft Learn)

注意点として、設定後すぐにすべての情報がそろうとは限りません。公式手順では、前提設定後に結果が見えるまで最大24時間かかる場合があり、リソースをcriticalとして分類した後にそのデータがGitHubへ送られるまで最大12時間かかる場合があるとされています。(Microsoft Learn)

GitHub issue生成と修復フローの設計

この連携の価値は、可視化だけではなく、修復作業を開発チームの通常ワークフローへ乗せられる点にあります。

Defender for CloudのRecommendationsから対象の推奨事項を開き、関連するCVEやGitHubアラートを確認できます。さらに、Remediation Insightsでコードからランタイムまでの図を確認し、必要な権限があればGitHub issueを生成できます。Microsoft Learnでは、issueは元のコードリポジトリに作成され、CVE IDやランタイム、コンテナーSDLCに関するコンテキストを含められると説明されています。(Microsoft Learn)

実務では、issueを作れることよりも、issueが作られた後に誰が、いつまでに、どの基準で閉じるかを決めておくことが重要です。

決めるべき項目具体例
担当者CODEOWNERS、サービスオーナー、SRE、AppSec担当
優先度internet-exposedかつcriticalなら48時間以内に一次判断
完了条件修正PRのマージ、再スキャンでの解消、例外承認の記録
例外条件互換性問題、ベンダー修正待ち、補完統制あり
追跡指標未対応issue数、平均修復日数、期限超過率、マッピング成功率

Defender for CloudとGitHubの状態同期により、GitHub側のissueステータスや割り当て変更をDefender for Cloud側から追跡できます。これにより、セキュリティチームがExcelや別チケットへ手作業で転記する運用を減らせます。(Microsoft Learn)

展開前に見直したいセキュリティ運用ルール

GA連携を有効にするだけでは、脆弱性管理は改善しません。むしろ、リスク情報が増えることで、運用ルールが曖昧な組織では混乱が増える可能性があります。

展開前に、次のルールを明文化しておくことをおすすめします。

項目ルール例
優先順位本番稼働、インターネット公開、機密データ、重要リソース、横移動可能性を優先軸にする
対応期限Criticalは即日判断、Highは次回スプリント内、Medium以下はキャンペーンでまとめる
issue作成基準runtime-riskがあるものはDefender for CloudからGitHub issue化する
AI修正の扱いCopilot Autofixの提案は必ずレビューと自動テストを通す
例外承認期限、補完統制、リスク所有者を残し、定期的に再評価する
メトリクスアラート数より、実行中ワークロードに関係する未修復リスクを追う

特に避けたいのは、「GitHub側でCriticalだからすべて最優先」とする運用です。今回の連携の狙いは、コード上の深刻度だけでなく、クラウド上の露出やデータ感度を合わせて判断することです。たとえば、同じCVEでも、社内検証環境で停止中のイメージと、外部公開された決済APIの本番コンテナーでは、対応順が変わります。

30日で始める現実的な展開プラン

全社一括展開よりも、対象を絞って「見える化、優先順位付け、issue化、修復、再確認」までを小さく回す方が成功しやすくなります。

期間実施内容成果物
1〜3日目対象サブスクリプション、GitHub組織、リポジトリ、ライセンスを棚卸し対象範囲リスト
4〜7日目GitHubコネクタ、DCSPM、GHAS / Code Security、agentless scanningを確認接続済みGitHub環境
8〜14日目Cloud Security ExplorerとDevOps securityでマッピングを検証コードからランタイムまでの確認結果
15〜21日目runtime-riskを使ったGitHub Security Campaignsを作成優先対応キャンペーン
22〜30日目Defender for CloudからGitHub issueを生成し、修復と再スキャンを確認運用手順と改善点

最初のパイロットでは、対象を広げすぎないことが重要です。おすすめは、外部公開されているが担当チームが明確なアプリケーションを1つ選ぶことです。ここでリポジトリ、ビルド、コンテナーイメージ、実行環境、issue、修復PRまでの流れを確認できれば、ほかのチームへ展開しやすくなります。

導入判断の基準

この連携は、単なるセキュリティ機能追加ではなく、DevSecOpsの業務設計に関わる更新です。次のいずれかに当てはまる場合は、優先的に検証する価値があります。

導入優先度が高いケース理由
GitHub上のアラートが多すぎて対応順を決められないランタイムリスクで絞り込める
セキュリティチームと開発チームのチケット連携が手作業GitHub issue化で責任の所在を明確にしやすい
コンテナーやKubernetesの本番ワークロードが多いコードから実行環境までの追跡が効く
インターネット公開サービスや機密データ処理が多い実害に近いリスクを優先できる
経営層へセキュリティ負債の説明が必要「本番で動く重要リスク」に絞って説明しやすい

逆に、GitHub Code SecurityやGHASの導入前、クラウド側のDefender for Cloud運用が未成熟、リポジトリ所有者が不明、CI/CDの成果物管理が曖昧な状態では、まず基盤整備を優先すべきです。連携機能を先に有効化しても、正しい担当者へ修復作業を渡せなければ効果は限定的です。

管理者と開発者が今すぐ確認すべきこと

まず管理者は、対象サブスクリプションでDCSPMが有効か、GitHubコネクタが正しく作成されているか、対象リポジトリでGHASまたはGitHub Code Securityが有効かを確認してください。次に、Defender for CloudのDevOps securityとCloud Security Explorerで、コード、ビルド成果物、実行ワークロードの対応関係が見えるかを検証します。

開発者は、GitHubのcode scanningやDependabotアラートを従来どおり確認するだけでなく、deployment状態やruntime-riskのフィルターを使い、実際に本番環境へ到達しているリスクを優先する運用へ切り替える必要があります。Copilot Autofixやcoding agentを使う場合も、セキュリティ修正は必ずレビュー、テスト、段階的なデプロイを通すべきです。

今回のGAで得られる最大の価値は、「アラートを増やすこと」ではなく、「本当に直すべきリスクを、開発チームが使うGitHubのワークフローへ届けること」です。最初の一歩として、外部公開されている重要アプリを1つ選び、Defender for CloudからGitHub issueを生成して修復完了まで追跡できるかを確認してください。そこまで回せれば、Microsoft Defender for CloudとGitHub Code Security連携は、単なる監視強化ではなく、コードからクラウドまでのリスク管理を実務に落とし込む仕組みとして機能します。

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次