Defender for Cloud には、クラウド リソースの保護に役立つ統合セキュリティ管理システムが用意されています。 アマゾン ウェブ サービス (AWS) や Google Cloud Platform (GCP) など、さまざまなクラウド プロバイダーをサポートしています。 このガイドは、Microsoft Defender for Cloud コネクタに関連する問題をトラブルシューティングする必要がある IT プロフェッショナル、セキュリティ アナリスト、クラウド管理者を対象としています。
コネクタのトラブルシューティング
Defender for Cloud では、コネクタを使って、アマゾン ウェブ サービス (AWS) アカウントと Google Cloud Platform (GCP) プロジェクトから監視データが収集されます。 コネクタで問題が発生している場合、または AWS や GCP からのデータが表示されない場合は、以下のトラブルシューティングのヒントを確認してください。
コネクタの一般的な問題に関するヒント
- Azure portal の [ディレクトリとサブスクリプション] セクションにあるサブスクリプション フィルターで、コネクタに関連付けられているサブスクリプションが選ばれていることを確認します。
- 標準は、セキュリティ コネクタに割り当てる必要があります。 確認するには、Defender for Cloud の左側のメニューで [環境設定] に移動し、コネクタを選んでから、[設定] を選びます。 標準が割り当てられていない場合は、3 つのドットを選んで、標準を割り当てるためのアクセス許可があるかどうかを確認します。
- コネクタ リソースが、Azure Resource Graph に存在している必要があります。 調べるには、次の Resource Graph クエリを使います:
resources | where ['type'] =~ "microsoft.security/securityconnectors"
。 - コントロール プレーンの脅威検出アラートを取得できるように、AWS または GCP コネクタで Kubernetes 監査ログの送信が有効になっていることを確認します。
- Microsoft Defender センサーと Azure Arc 対応 Kubernetes 拡張機能用の Azure Policy が、Amazon Elastic Kubernetes Service (EKS) クラスターと Google Kubernetes Engine (GKE) クラスターに正常にインストールされていることを確認します。 エージェントの確認とインストールは、Defender for Cloud に関する以下の推奨事項に従って実行できます。
- EKS クラスターには、Azure Arc 用の Microsoft Defender の拡張機能をインストールする必要がある
- GKE クラスターには、Azure Arc 用の Microsoft Defender の拡張機能をインストールする必要がある
- Azure Arc 対応 Kubernetes クラスターには、Azure Policy 拡張機能がインストールされている必要がある
- GKE クラスターには、Azure Policy 拡張機能がインストールされている必要がある
- AWS または GCP コネクタの削除で問題が発生する場合は、自分がロックを持っているかどうかを調べます。 Azure アクティビティ ログのエラーが、ロックの有無のヒントになる可能性があります。
- AWS アカウントまたは GCP プロジェクトにワークロードが存在することを確認します。
AWS コネクタの問題に関するヒント
- CloudFormation テンプレートのデプロイが正常に完了したことを確認します。
- AWS ルート アカウントの作成後、少なくとも 12 時間待ちます。
- EKS クラスターが Azure Arc 対応 Kubernetes に正常に接続されていることを確認します。
- Defender for Cloud に AWS データが表示されない場合は、Defender for Cloud にデータを送信するために必要な AWS リソースが AWS アカウントにあることを確認します。
最初に Sentinel に接続済み
最初に AWS アカウントを Microsoft Sentinel に接続した場合、Defender for Cloud コネクタは機能しません。 この問題を解決するには、CloudFormation テンプレートを編集し、AWS アカウント内に修復手順を適用する必要があります。
Microsoft Sentinel に接続された AWS アカウントを Defender for Cloud に接続する方法について説明します。
AWS への API 呼び出しのコストへの影響
AWS の単一アカウントまたは管理アカウントをオンボードすると、Defender for Cloud の検出サービスによって環境の即時スキャンが開始されます。 探索サービスは、Azure がセキュリティ保護に役立つすべてのリソースを取得するため、さまざまなサービス エンドポイントへの API 呼び出しを実行します。
この初期スキャンの後、サービスはユーザーがオンボード時に構成した間隔で、環境の定期的なスキャンを続けます。 AWS では、アカウントに対する API 呼び出しのたびに、CloudTrail リソースに記録される検索イベントが生成されます。 CloudTrail リソースにはコストが発生します。 価格について詳しくは、Amazon AWS のサイトの「AWS CloudTrail の料金」ページをご覧ください。
CloudTrail を GuardDuty に接続した場合は、それに関連するコストも負担します。 これらのコストについては、Amazon AWS のサイトの GuardDuty に関するドキュメントで確認できます。
ネイティブ API 呼び出しの回数を取得する
Defender for Cloud が行った呼び出しの回数を取得するには、2 つの方法があります。
- 既存の Athena テーブルを使うか、新しく作成します。 詳しくは、Amazon AWS のサイトの「AWS CloudTrail ログのクエリの実行」をご覧ください。
- 既存のイベント データ ストアを使うか、新しく作成します。 詳しくは、Amazon AWS のサイトの「AWS CloudTrail Lake の使用」をご覧ください。
どちらの方法も、AWS CloudTrail ログのクエリに依存します。
呼び出しの回数を取得するには、Athena テーブルまたはイベント データ ストアに移動し、必要に応じて、次の定義済みクエリのいずれかを使います。
<TABLE-NAME>
は、Athena テーブルまたはイベント データ ストアの ID に置き換えてください。
Defender for Cloud による API 呼び出し全体の数を一覧表示します。
SELECT COUNT(*) AS overallApiCallsCount FROM <TABLE-NAME> WHERE userIdentity.arn LIKE 'arn:aws:sts::<YOUR-ACCOUNT-ID>:assumed-role/CspmMonitorAws/MicrosoftDefenderForClouds_<YOUR-AZURE-TENANT-ID>' AND eventTime > TIMESTAMP '<DATETIME>'
Defender for Cloud による API 呼び出し全体の数を、日別に集計して一覧表示します。
SELECT DATE(eventTime) AS apiCallsDate, COUNT(*) AS apiCallsCountByRegion FROM <TABLE-NAME> WHERE userIdentity.arn LIKE 'arn:aws:sts:: <YOUR-ACCOUNT-ID>:assumed-role/CspmMonitorAws/MicrosoftDefenderForClouds_<YOUR-AZURE-TENANT-ID>' AND eventTime > TIMESTAMP '<DATETIME>' GROUP BY DATE(eventTime)
Defender for Cloud による API 呼び出し全体の数を、イベント名別に集計して一覧表示します。
SELECT eventName, COUNT(*) AS apiCallsCountByEventName FROM <TABLE-NAME> WHERE userIdentity.arn LIKE 'arn:aws:sts::<YOUR-ACCOUNT-ID>:assumed-role/CspmMonitorAws/MicrosoftDefenderForClouds_<YOUR-AZURE-TENANT-ID>' AND eventTime > TIMESTAMP '<DATETIME>' GROUP BY eventName
Defender for Cloud による API 呼び出し全体の数を、リージョン別に集計して一覧表示します。
SELECT awsRegion, COUNT(*) AS apiCallsCountByRegion FROM <TABLE-NAME> WHERE userIdentity.arn LIKE 'arn:aws:sts::120589537074:assumed-role/CspmMonitorAws/MicrosoftDefenderForClouds_<YOUR-AZURE-TENANT-ID>' AND eventTime > TIMESTAMP '<DATETIME>' GROUP BY awsRegion
GCP コネクタの問題に関するヒント
- GCP Cloud Shell スクリプトが正常に完了したことを確認します。
- GKE クラスターが Azure Arc 対応 Kubernetes に正常に接続されていることを確認します。
- Azure Arc エンドポイントがファイアウォール許可リストにあることを確認します。 GCP コネクタにより、これらのエンドポイントに対して API 呼び出しが行われ、必要なオンボード ファイルがフェッチされます。
- GCP プロジェクトのオンボードが失敗する場合は、オンボード プロセス用のサービス プリンシパルを作成するための
compute.regions.list
アクセス許可と Microsoft Entra アクセス許可があることを確認します。 GCP リソースWorkloadIdentityPoolId
、WorkloadIdentityProviderId
、ServiceAccountEmail
が GCP プロジェクトに作成されていることを確認します。
GCP への Defender API 呼び出し
GCP の単一のプロジェクトまたは組織をオンボードすると、Defender for Cloud の検出サービスによって環境の即時スキャンが開始されます。 探索サービスは、Azure がセキュリティ保護に役立つすべてのリソースを取得するため、さまざまなサービス エンドポイントへの API 呼び出しを実行します。
この初期スキャンの後、サービスはユーザーがオンボード時に構成した間隔で、環境の定期的なスキャンを続けます。
Defender for Cloud が実行したネイティブ API 呼び出しの回数を取得するには:
[ログ]>[Log Explorer] (ログ エクスプローラー) に移動します。
必要に応じて日付をフィルター処理します (例: 1d)。
Defender for Cloud が実行した API 呼び出しを表示するには、次のクエリを実行します。
protoPayload.authenticationInfo.principalEmail : "microsoft-defender"
ヒストグラムを見て、時間経過に伴う呼び出しの回数を確認します。
こちらも参照ください
- Microsoft Sentinel に接続された AWS アカウントを Defender for Cloud に接続します。
- ドメイン制限付き共有ポリシーを解決します。
- エージェントレス スキャン エラーを解決します。
- VPC サービスコントロールの問題を解決します。
- Defender for Cloud の使用に関するよくある質問を確認する。