Microsoft Defender CSPMは、Microsoft Defender for Cloudに含まれる有料のCSPM(クラウドセキュリティ態勢管理)プランです。無料のFoundational CSPMが「どの設定が基準から外れているか」を一覧にするのに対し、Defender CSPMはリソース間のつながり・インターネットへの露出・権限・脆弱性を1つのグラフにまとめ、外部から重要な資産まで届く攻撃パスを割り出します。この記事では、2026年9月30日更新のMicrosoft Learnを基準に、無料版との違い、攻撃パスが表示されない原因、エージェントレススキャンの対象外になる構成、機密データ検出に要る時間、KQLで書くカスタム推奨事項、有効化の手順までをまとめます。
まとめ:Defender CSPMで増える機能と導入判断の要点
- 無料のFoundational CSPMでも推奨事項・セキュリティスコア・資産インベントリ・MCSB評価・データのエクスポート・ワークフロー自動化は使える。攻撃パス分析、クラウドセキュリティエクスプローラー、規制コンプライアンス評価、ガバナンスルール、KQLのカスタム推奨事項は無料版に無く、Defender CSPMで加わる。エージェントレススキャンと機密データ検出もDefender CSPMで加わるが、前者はDefender for Servers Plan 2、後者はDefender for Storageにも含まれる
- 課金は課金対象リソース(VM・ストレージ・データベースが中心)1つにつき1時間0.007ドル
- プランはサブスクリプションの所有者が有効化する。所有者以外が有効化するとエージェントレススキャナーが既定でオフのままになり、攻撃パスとエクスプローラーに脆弱性が載らない
- エージェントレススキャンは24時間に1回の固定スケジュールで、Azure VMではディスク合計が4TBを超えると、4TB未満のOSディスクだけがスキャン対象になる。UltraSSDやZFSのディスクを持つVMは丸ごと対象外になる
- 攻撃パスが空でも故障とは限らない。2026年時点の攻撃パスは「外部から実際に到達できる経路」だけを出す設計になっている
Defender CSPMの位置づけ:Defender for Cloudの有料CSPMプラン
MicrosoftのCSPMは単独の製品ではなく、Defender for Cloudの中にある2つのプランです。Defender for Cloudを有効にした時点で無料のFoundational CSPMが動き、追加で有効にするのがDefender CSPMです。CSPMという分類そのものの意味や、OSSのProwlerとの使い分けはCSPMの設定ミス検出の仕組みと導入判断で、製品に依存しない形で説明しています。
Foundational CSPMとの機能差
LearnのCSPMプラン比較表(2026年9月30日更新)から、Azure環境での差を目的別に並べると次のとおりです。AWSとGCPもほぼ同じ構成で、AWSだけにCloudTrailの取り込み(プレビュー)、GCPの機密データ検出はCloud Storageのみという違いがあります。
| 目的 | Foundational CSPM(無料) | Defender CSPM(有料) |
|---|---|---|
| 設定ミスの一覧 | 推奨事項・スコア・MCSB | 同左+リスクレベル付き |
| 攻撃経路の把握 | なし | 攻撃パス分析・エクスプローラー |
| VMの脆弱性・シークレット | なし | エージェントレススキャン |
| 機密データの所在 | なし | 機密データ検出(DSPM) |
| 権限の過剰付与 | なし | CIEM |
| 監査基準での評価 | なし(MCSBのみ) | ISO 27001・PCI DSS等 |
| 修復の割り当て | なし | ガバナンスルール |
| 独自ルール | Azure Policy(従来方式) | KQLのカスタム推奨事項 |
課金対象リソースと料金の目安
Defender CSPMはすべてのリソースを評価しますが、課金されるのは次の種類だけです。料金はドル建てで1リソース1時間0.007ドル(730時間換算で月約5.11ドル)です。東日本リージョンの円単価と試算例はDefender for Cloudの料金の円換算と無料範囲に載せています。
| クラウド | 課金対象 | 主な除外 |
|---|---|---|
| Azure | VM・VMSS、ストレージアカウント、SQL・PostgreSQL・MySQL・Synapse | 割り当て解除済みVM、Databricks VM |
| AWS | EC2、S3、RDS | 割り当て解除済みインスタンス |
| GCP | Computeインスタンス、Storageバケット、Cloud SQL | Nearline・Coldline・Archive |
サーバーレスは2026年に課金対象に加わりました。Function Apps・Web Apps・AWS Lambdaは2026年4月1日から、Azure Container Apps・Container Instances・Fargate上のECSは2026年7月1日からで、どちらもDefender CSPMの設定でその拡張機能をオンにしたときだけ課金されます。Lambdaは8関数で1リソース、Fargate上のECSは2ワークロードで1リソースと数えます。
セキュリティグラフと攻撃パス分析の仕組み
Defender CSPMの中心はクラウドセキュリティグラフです。資産、リソース間の接続、インターネット露出、権限、脆弱性を集めてマルチクラウド環境を1つのグラフで表し、攻撃パス分析とエクスプローラーはこのグラフを読みます。
外部の入口から重要資産までをたどる攻撃パス
攻撃パスは、インターネットに露出した脆弱なリソースのような外部の入口から始まり、マネージドIDの権限などを使った横移動をたどって、機密データを持つデータベースのような重要資産で終わる経路です。たとえば「インターネットに公開されたVMに既知の脆弱性があり、そのVMのマネージドIDが機密データを含むストレージを読める」という連鎖が1本のパスとして表示されます。
各パスには、経路を断つための推奨事項と、リスクを下げるが経路は断たない追加の推奨事項が分けて表示されます。全部を直す前に、経路を断つ方を先に片付けるのが順番です。修復後、パスが一覧から消えるまで最大24時間かかります。
攻撃パスが表示されないときに確かめる3点
Defender CSPMを有効にしたのに攻撃パスのページが空のときは、次の3点を順に確かめてください。
- 有効化した人がサブスクリプション所有者か:Learnのチュートリアルは、所有者以外がプランを有効にするとエージェントレススキャナーが権限不足で既定オフになり、攻撃パスとエクスプローラーに脆弱性が載らないと明記しています。
- エージェントレススキャンが結果を返しているか:攻撃パス分析はエージェントレススキャンか、Defender for Serversの脆弱性評価のどちらかを前提にしています。スキャンは24時間に1回なので、有効化直後は待つ必要があります。コンテナーの経路を見るには、Defender CSPMのエージェントレスコンテナー態勢拡張を有効にするか、Defender for Containersを有効にして必要なエージェントを導入します。
- 外部から到達できる入口があるか:攻撃パスは現在、外部から実際に到達できる経路に絞って出す設計で、Learnも「空のページが表示される場合がある」と注記しています。インターネットに露出したリソースが無い閉じた環境では、空のままでも異常ではありません。
Defenderポータルでのチョークポイント表示
攻撃パスはDefenderポータル(security.microsoft.com)の「Exposure Management」→「Attack surface」→「Attack paths」でも見られます。こちらでは、複数の攻撃パスが合流するノードをチョークポイントとして一覧にし、上位5件をOverviewタブに出します。チョークポイントを1つ直すと複数のパスが同時に消えるため、修復の優先順位を決めるならポータル側の表示が向いています。ノードの詳細にはMITRE ATT&CKの戦術・技術も表示されます。チケット発行などに自動で回したい場合は、Azure Resource Graphの securityresources テーブルを type == "microsoft.security/attackpaths" で絞ると、攻撃パスを入口・標的・修復手順付きで取得できます。
クラウドセキュリティエクスプローラーでのリスクハンティング
攻撃パスが「Microsoftのアルゴリズムが見つけた経路」なのに対し、クラウドセキュリティエクスプローラーは同じグラフに自分で問いを立てる機能です。クエリビルダーで条件をつなぎ、「インターネットに露出していて、かつ重大な脆弱性があるVM」「機密データを含むストレージにアクセスできるID」といった組み合わせを探せます。
組み込みのクエリテンプレートを開いて条件を変えるところから始められます。攻撃パスに出ない社内固有の条件を探す道具で、見つけた条件を継続的に評価したいときは、後述するKQLのカスタム推奨事項に移します。
エージェントレススキャンの仕組みと対象外になる構成
エージェントレススキャンは、VMのディスク(OSディスクとデータディスク)のスナップショットを取り、VMの外で解析する方式です。スナップショットはVMと同じリージョンに置かれ、メタデータを取り出したらすぐ削除されます。Learnは保持時間を「通常は数分」としています。VMにエージェントを入れず、ネットワーク接続も要らず、VMの性能にも影響しません。
スキャン内容は、ソフトウェアインベントリ、脆弱性(Defender Vulnerability Managementで判定)、平文のシークレット、EDRの設定状況です。マルウェアスキャンだけはDefender for Servers Plan 2の機能で、Defender CSPMには含まれません。サーバーで動く脅威の検知や、P2と組み合わせたときの役割分担はCWPPのワークロード保護の仕組みで整理しています。
スキャンは24時間に1回の固定スケジュールで、間隔は変えられません。Azureでは組み込みロール「VM scanner operator」がディスクの読み取り権限を持ち、カスタマーマネージドキー(CMK)で暗号化したディスクを読むにはKey Vaultのキー権限が追加で要ります。エージェントレススキャンの有効化ページ(2026年8月24日更新)が挙げる対象外の構成は次のとおりです。
| 条件 | 結果 |
|---|---|
| Azure VMのディスク合計が4TB超 | OSディスク(4TB未満)のみスキャン |
| UltraSSD_LRS・PremiumV2_LRS・AKSエフェメラルOSディスク | VM全体が対象外 |
| UFS・ReFS・ZFS | VM全体が対象外 |
| OracleASM・DRBD・Linux RAID | VM全体が対象外 |
| Databricks VM | 対象外 |
| Azure VMのディスクが15本以上 | VM全体が対象外 |
| DM_Verity_Hash・swapを含むディスク | VM全体が対象外 |
注意したいのは、対象外のディスクが1本でも付いているとVM全体がスキャンされない点です。データベースサーバーにUltraSSDを付けている構成では、OSの脆弱性まで見えなくなります。設定画面の状態表示は「オン」のままなので、有効化後に結果が返ってこないVMを一覧で確かめる作業が欠かせません。スキャンから外したいVMは、構成の編集で除外タグを指定します。
機密データ検出(DSPM)の対象と結果が出るまでの時間
機密データ検出は、ストレージやデータベースの中身をエージェントなしでサンプリングし、個人情報やクレジットカード番号などを含むリソースを見つける機能です。Microsoft Purviewの機密情報の種類とラベルを使い、Purviewで定義した独自の分類もインポートできます。Purview側の守備範囲はMicrosoft Purviewの3系統と役割分担で解説しています。
| クラウド | 対象 | 主な制約 |
|---|---|---|
| Azure | Blob・Azure Files・ADLS Gen2、Azure SQL Database | Filesは SMB のみ・カスタムドメイン不可 |
| AWS | S3、Aurora・RDS(PostgreSQL/MySQL/MariaDB/SQL Server/Oracle) | SSE-C不可・自動バックアップ必須。OracleはSE2限定、OracleとSQL ServerはCustom不可 |
| GCP | Cloud Storage(Standard) | 対応リージョン8つ |
結果が出るまでの時間は対象で違います(データセキュリティ態勢管理の前提条件)。オブジェクトストレージは初回が24時間以内、ファイルを更新したあとの反映は8日以内、既に検出済みのAWSアカウントやGCPに追加したバケットは48時間以内です。データベースは週1回のスキャンで、新しく有効にしたサブスクリプションでは24時間以内に最初の結果が出ます。スキャンはリージョン内で行われ、Defender for Cloudに送られるのはメタデータだけです。
機能自体はDefender CSPMの料金に含まれますが、Azure Storageのスキャンでは読み取り操作の料金が別にかかる場合があります。小さなファイルを大量に持つストレージアカウントでは、この読み取り課金を見積もりに入れておきます。
CIEM・API・AIの拡張機能
Defender CSPMの設定画面では、攻撃パスやDSPM以外の拡張機能も個別にオン・オフできます。オンにした分だけセキュリティグラフに情報が増えます。
CIEM:過剰な権限と横移動の把握
CIEM(クラウドインフラストラクチャエンタイトルメント管理)は、Microsoft Entra IDのユーザー・グループ・サービスプリンシパル、AWSのIAMユーザーとロール、Google CloudのIAMユーザーとサービスアカウントの権限を分析し、使っていない権限や過剰な管理者権限を推奨事項として出します。過剰な権限を持つIDは、攻撃パスでは横移動の経路として表示されます。
2026年8月6日の破壊的変更で、AWSとGCPの過剰権限の評価には「未使用のアクション」の一覧が出なくなりました。どの権限が使われていないかの確認は、AWSならIAMの最終アクセス情報、Google CloudならIAMの使用状況とCloud Asset Inventoryといった各クラウドのネイティブ機能で行う必要があります。
APIセキュリティ態勢:Function Apps・Logic Appsまで拡大
APIセキュリティ態勢管理は、Azure API Managementに加え、2026年6月18日からFunction AppsとLogic AppsのAPIも一般提供で対象になりました。認証のないAPI、インターネットに公開されたAPI、使われていないAPI、暗号化なしの通信を許すAPIをリスク要因として評価します。
AIセキュリティ態勢:生成AIアプリの部品表
AIセキュリティ態勢管理は、Azure OpenAI Service、Azure AI Foundry、Azure Machine Learning、Amazon Bedrock、Google Vertex AIにデプロイされたAIワークロードを継続的に検出し、モデル・データ・コードの部品表(AI BOM)を作ります。外部から到達できるAIエンドポイントも洗い出します。AWSのコネクタを「最小特権アクセス」で作っている場合は、AI関連の権限を足すためにコネクタのアクセス設定をやり直す必要があります。
リスク優先度・ガバナンスルール・カスタム推奨事項による修復管理
推奨事項は、担当者と期限が決まらなければ残り続けます。
リスクレベルとクリティカル資産の指定
Defender CSPMのリスク評価エンジンは、リソースの設定、ネットワーク接続、セキュリティ態勢から各推奨事項にCritical・High・Medium・Lowのリスクレベルを付けます。同じ「重大度:高」の推奨事項でも、インターネットに露出し機密データにつながるリソースのものが上に来ます。
「本番」「顧客データ」など重要なリソースをクリティカル資産の分類ルールで指定すると、そのリソースに関わる問題がさらに上に来ます。ルールはMicrosoft Security Exposure Managementと双方向に同期し、タグ付けの反映には最大2時間かかります。
ガバナンスルールによる担当者・修復期限の割り当て
ガバナンスルールは、重大度かリスクレベルに一致した推奨事項に、担当者と期限を自動で割り当てる機能です。期限は検出から7・14・30・90日のいずれかで、猶予期間を付けるとその間はセキュアスコアに影響しません。担当者はリソースのタグ(例:Ownerタグ)から読み取れます。担当者には既定で週1回、期限内と期限切れのタスク一覧がメールで届き、Microsoft Entra IDに上長のメールアドレスがあれば、期限切れの一覧は上長にも送られます。
ルールは優先度1〜1000の順に評価され、管理グループやAWSの管理アカウントなど上位スコープのルールが先に適用されます。除外はポータルのウィザードでは作れず、APIで定義します。
KQLで書くカスタム推奨事項
MCSBに無い社内ルールは、KQLでカスタム推奨事項として追加できます。Azure Policyで書く従来方式は全プランで使えますが、AWS・GCPにも同じ書き方で効くKQL方式はDefender CSPMが前提です。作成は「環境設定」→対象サブスクリプション→「セキュリティポリシー」→「カスタム推奨事項を作成」から行います。
次の例は、共有キー(アカウントキー)による認証を禁止していないストレージアカウントを非準拠として出すクエリです。allowSharedKeyAccess は既定で未設定(null)で、Azure Storageのドキュメントによるとnullでもtrueでも共有キー認証が許可されるため、両方を非準拠として扱っています。
RawEntityMetadata
| where Environment == 'Azure' and Identifiers.Type =~ 'Microsoft.Storage/storageAccounts'
| extend condition = (isnull(Record.properties.allowSharedKeyAccess) or Record.properties.allowSharedKeyAccess == true)
| extend HealthStatus = iff(condition, 'UNHEALTHY', 'HEALTHY')
| project Id, Name, Environment, Identifiers, AdditionalData, Record, HealthStatus
書くときの決まりは3つあります。最後の project で7列(Id・Name・Environment・Identifiers・AdditionalData・Record・HealthStatus)を必ず返すこと、HealthStatus は大文字の UNHEALTHY か HEALTHY だけにすること、プロパティは Record.properties.* から参照することです。対象のリソースを結果から外すと「正常」ではなく「データなし」と扱われるため、条件に合わないリソースも HEALTHY として返します。上のクエリは、Kustoのクエリ言語パーサー(Kusto.Language 12.4.1)にRawEntityMetadataの列を定義して静的解析し、エラー0件・出力7列を確認したものです。実際のサブスクリプションでの評価結果までは確認していません。
この推奨事項を受けて共有キーを止めるときは、順番に注意が要ります。Azureポータルは既定で共有キーを使ってAzure Filesを開くため、RBACの割り当てを済ませずに共有キーを無効にすると、ファイル共有にアクセスできなくなります。推奨事項が出たリソースから一律に無効化するのではなく、Microsoft Entra IDでの認可に切り替え終えたものから止めてください。
コードからクラウドまでをつなぐDevOpsセキュリティ
GitHub・Azure DevOps・GitLabを接続すると、基本的なDevOpsの推奨事項は無料で出ます。プルリクエストへのIaC注記、コードからクラウドへのマッピング、DevOpsリソースを含む攻撃パスとエクスプローラーはDefender CSPMの機能です。本番で見つかったコンテナーイメージの脆弱性を、ビルドしたリポジトリまでさかのぼって直せます。2026年5月3日にはGitHub Advanced Security(GHAS)との連携が一般提供になり、GHASのアラートにインターネット露出や機密データへのアクセスといった本番のリスク要因が付くようになりました。前提はDefender CSPM、GitHubコネクタ、対象リポジトリのGHASライセンスです。
Defender CSPMの有効化と拡張機能の設定手順
Microsoft Learnのチュートリアル(2026年9月30日更新)に沿った手順は次のとおりです。前提として、Defender for Cloudがサブスクリプションで有効になっていること、AWS・GCPを対象にするならコネクタを接続済みであることが必要です。コネクタの作り方はDefender for Cloudの有効化とAWS・GCP接続で説明しています。
- サブスクリプションの所有者でAzureポータルにサインインし、「Microsoft Defender for Cloud」を開く
- 左メニューの「環境設定」を選び、対象のサブスクリプション(またはAWSアカウント、GCPプロジェクト)を選ぶ
- 「Defenderプラン」の画面でDefender CSPMを「オン」にする
- 同じ行の「設定」を開き、使う拡張機能(エージェントレススキャン、Kubernetesのエージェントレス検出、機密データ検出、CIEM、サーバーレス保護など)を個別にオンにする
- エージェントレススキャンから外すVMがあれば「構成の編集」で除外タグの名前と値を入れる
- Azureでは「続行」→「保存」で確定する。AWS・GCPでは「Save and Next: Configure Access」に進み、AWSはダウンロードしたCloudFormationテンプレートでスタックを作成し(管理アカウントはStackSetとしても展開)、GCPは表示されるオンボーディングスクリプトを対象スコープで実行してから「更新」を押す
Azure CLIでは az security pricing create -n CloudPosture --tier standard でプラン自体をオンにできます。拡張機能のうち1つでもオフのものがあると、プランの状態は「Full」ではなく「Partial」と表示されます。有料プランには30日間の無料試用があるので、評価するなら試用期間中に攻撃パスとエージェントレススキャンの結果が出るところまで確かめておくと判断しやすくなります。
Defender CSPMを入れるべき組織と見送ってよい場面
Defender CSPMの価値は、検出の量ではなく「どれから直すか」を決められる点にあります。推奨事項が数百件を超え、手作業で優先順位を付けている組織では、攻撃パスとリスクレベルが最も効きます。ISO 27001やPCI DSSでの評価をDefender for Cloud上に集約したい組織も候補です。既存の監査ツールで必要な評価と証跡が取れているなら、重複する費用と運用を比べて判断します。
見送ってよいのは次のような場面です。
- リソースが少なく、推奨事項を全件直せている:無料のFoundational CSPMで足ります。優先順位付けの価値が出るのは、直しきれない量があるときです。
- AWSが主でAzureはほとんど使っていない:AWSネイティブの評価はAWS Security HubのCSPMとしての使い方で足りることが多く、Defender CSPMのためにAzureサブスクリプションとコネクタを維持する手間の方が大きくなります。
- インターネットに露出したリソースがほぼ無い閉域構成:攻撃パスがほとんど表示されないため、エージェントレススキャンとDSPMだけで費用に見合うかを試用期間中に判断します。
- VMの多くがUltraSSDやZFSを使っている:エージェントレススキャンの対象外になり、攻撃パスに脆弱性が載りません。Defender for Serversの脆弱性評価で補う構成を先に検討します。
検出したアラートやインシデントを他社製品のログと突き合わせたい場合、相関分析はDefender CSPMの役割ではありません。SIEMとの連携はMicrosoft Sentinelの仕組みとDefenderポータル統合を参照してください。
よくある質問
Defender CSPMとFoundational CSPMの違いは何ですか?
Foundational CSPMは無料で、推奨事項・セキュリティスコア・資産インベントリ・MCSB評価が使えます。有料のDefender CSPMでは、攻撃パス分析、エクスプローラー、エージェントレススキャン、機密データ検出、CIEM、規制コンプライアンス評価、ガバナンスルール、KQLのカスタム推奨事項が加わります。
Defender CSPMの料金はいくらですか?
課金対象リソース1つにつき1時間0.007ドル(730時間換算で月約5.11ドル)です。対象はVM・ストレージ・データベースが中心で、サーバーレス系はその拡張機能をオンにした場合だけ加わります。有効化から30日間は無料試用です。
Defender CSPMはAWSやGoogle Cloudでも使えますか?
使えます。AWSアカウントやGCPプロジェクトをコネクタで接続し、そのコネクタでDefender CSPMをオンにします。接続にはAzureサブスクリプションが必要で、GCPの機密データ検出はCloud Storageのみが対象です。
攻撃パスが表示されないのはなぜですか?
まず確認するのは、サブスクリプション所有者以外がプランを有効にしてエージェントレススキャナーがオフになっているケースと、有効化から24時間以内でスキャンが一巡していないケースです。どちらでもない場合、外部から到達できる入口が無いために攻撃パスが出ていない可能性があり、これは設計どおりの動作です。
Defender for Servers Plan 2があればDefender CSPMは不要ですか?
役割が違います。エージェントレスの脆弱性スキャンは両方に含まれますが、Plan 2が担うのはサーバー上の脅威検知とマルウェアスキャンで、攻撃パス分析・エクスプローラー・機密データ検出・ガバナンスルールはDefender CSPMの機能です。