推奨事項の除外を確認および管理する

Microsoft Defender for Cloud では、 保護されたリソースを Defender for Cloud のセキュリティに関する推奨事項から除外できます。 この記事では、除外されたリソースを確認、管理、削除する方法について説明します。

ポータルで除外されたリソースを確認する

リソースを除外しても、セキュリティに関する推奨事項は表示されません。 除外されたリソースは、Defender for Cloud ポータルで確認および管理できます。

Tip

2026 年 1 月の時点で、除外は一元的な場所から管理できます。 Defender for Cloud>Environment settings>Exemptions box, または、Azure Policy>Exemptions に移動します。 以前に表示されていた除外が見つからない場合は、正しいサブスクリプションまたは管理グループのスコープを表示していることを確認し、Microsoft.Authorization/policyExemptions/read アクセス許可があることを確認します。

[推奨事項] ページで除外されたリソースを確認する

  1. Azure portal にサインインします。

  2. Defender for Cloud>Recommendations に移動します。

  3. [推奨事項の状態] を選択します。

  4. [ 除外] を選択します

  5. を選択してを適用します。

    推奨事項の状態、除外、適用を示す [推奨事項] ページのスクリーンショット。

  6. リソースを選択して確認します。

[インベントリ] ページで除外されたリソースを確認する

  1. Azure portal にサインインします。

  2. Defender for Cloud>Inventory に移動します。

  3. [フィルターの追加] を選択します。

    Defender for Cloud 資産インベントリ ページと、除外対象のリソースを検索するためのフィルターを示すスクリーンショット。

  4. [除外を含む] を選択します。

  5. [はい] を選択します。

  6. [OK] を選択.

Azure Resource Graph を使用して除外されたリソースを確認する

Azure Resource Graph (ARG) を使用すると、堅牢なフィルター処理、グループ化、並べ替え機能を使用して、クラウド環境全体のリソース情報にすぐにアクセスできます。 Kusto クエリ言語 (KQL) を使用すると、情報をすばやく簡単に照会できます。

除外規則を持つすべての推奨事項を表示するには:

  1. Azure portal にサインインします。

  2. Defender for Cloud>Recommendations に移動します。

  3. [クエリを開く] を選択します。

  4. 次のクエリを入力します。

  5. [クエリの実行] を選択します。

    securityresources
    | where type == "microsoft.security/assessments"
    // Get recommendations in useful format
    | project
    ['TenantID'] = tenantId,
    ['SubscriptionID'] = subscriptionId,
    ['AssessmentID'] = name,
    ['DisplayName'] = properties.displayName,
    ['ResourceType'] = tolower(split(properties.resourceDetails.Id,"/").[7]),
    ['ResourceName'] = tolower(split(properties.resourceDetails.Id,"/").[8]),
    ['ResourceGroup'] = resourceGroup,
    ['ContainsNestedRecom'] = tostring(properties.additionalData.subAssessmentsLink),
    ['StatusCode'] = properties.status.code,
    ['StatusDescription'] = properties.status.description,
    ['PolicyDefID'] = properties.metadata.policyDefinitionId,
    ['Description'] = properties.metadata.description,
    ['RecomType'] = properties.metadata.assessmentType,
    ['Remediation'] = properties.metadata.remediationDescription,
    ['Severity'] = properties.metadata.severity,
    ['Link'] = properties.links.azurePortal
    | where StatusDescription contains "Exempt"    
    

特定のサブスクリプションのすべてのポリシー除外を表示するには、Azure Resource Graph エクスプローラーで次のクエリを実行します。

policyresources
| where type == "microsoft.authorization/policyexemptions"
| where subscriptionId == "<your-subscription-id>"

除外を削除する

除外を削除するには、除外が作成されたスコープで Microsoft.Authorization/policyExemptions/delete アクセス許可が必要です。

Important

除外を削除すると、Defender for Cloud以前に除外されたリソースが再評価されます。 推奨事項の要件を満たしていないリソースは 異常 な状態に戻り、セキュリティ スコアが低下する可能性があります。 再評価が完了するまで最大 24 時間かかります。

"除外の削除に失敗しました" というエラーが表示された場合、または削除された除外が再び表示される場合:

  • アクセス許可のチェック サブスクリプション レベルだけでなく、免除が作成されたスコープで削除権限があることを確認します。

  • 除外の状態を確認します。 Azure Resource Graph エクスプローラーで次のクエリを実行し、除外を見つけます:

    policyresources
    | where type == "microsoft.authorization/policyexemptions"
    | where subscriptionId == "<your-subscription-id>"
    
  • 孤立した除外を処理します。 除外にポリシーの割り当てが関連付けられていない場合は、まず割り当てを追加してから、除外を削除してください。 Azure CLIまたは PowerShell を使用して除外を削除することもできます。

    Remove-AzPolicyExemption -Name "<exemption-name>" -Scope "<scope>"
    
  • 同期を待ちます。 ポータルの変更が反映されるまでに最大 30 分かかることがあります。 除外が再び表示される場合、問題はバックエンドの同期に関連している可能性があります。 問題が解決しない場合は、サポートにお問い合わせください。

セキュリティ スコアの影響を理解する

選択した除外の種類によって、セキュリティ スコアの影響が決まります。

Scenario セキュリティ スコアへの影響
除外の種類: Mitigated (軽減済み) 除外されたリソースは正常としてカウントされます。 スコアが上がります。
除外の種類: Waiver (免除) 除外されたリソースは計算から除外されます。 中立的な影響。
プレビュー用の推奨事項 状態に関係なく、セキュリティ スコアに影響はありません。
適用されるルールを無効にする 結果は評価から除外されます。 スコアが増加する可能性があります。

推奨事項の状態を更新しない除外を解決する

除外を作成した後、推奨事項の状態が更新されないか、異常が引き続き表示される可能性があります。 Defender for Cloudは、リソースを定期的に評価します(通常は 12 ~ 24 時間ごと)。 除外が有効になるまで最大 24 時間かかると考えてください。

推奨事項で 24 時間後にリソースが異常と表示される場合:

  • 除外スコープを確認します。 異常と表示される特定のリソースが除外対象であることを確認します。 除外が適切なスコープ レベル (管理グループ、サブスクリプション、またはリソース) であるかどうかを確認します。

  • リソース レベルのアクセス許可を確認します。 サブスクリプション スコープのロールの割り当てでは、個々のリソースの除外を管理するための十分なアクセス権が提供されない場合があります。 除外する特定のリソースのリソースまたはリソース グループ レベルが RBAC ロールでカバーされていることを確認します。

  • 除外の種類を確認します。 免除の除外では、セキュリティ スコアの計算からリソースが除外されますが、リソースは引き続き推奨事項に表示される可能性があります。 緩和された例外は、リソースが正常であることを示しています。

  • 推奨事項で除外されたポリシーが評価されていることを確認します。 一部の推奨事項は、複数のポリシーに基づいています。 ご自分が、基になる正しいポリシーを除外したことを確認します。

  • 除外がDefender for Cloudから作成されていることを確認します。 Defender for Cloudではなく、Azure Policyで作成された除外は完全に統合されない場合があります。

    1. Defender for Cloud>Recommendations に移動します。

    2. [除外] を選択します。

  • イニシアチブのコンフリクトをチェックします。 複数のイニシアチブに同じ推奨事項が存在する場合は、イニシアチブごとに個別の除外が必要になる場合があります。 新しく割り当てられたイニシアチブは、既存の除外をオーバーライドする可能性があります。

  • 除外を再作成します。 Defender for Cloudを使用して除外を削除して再作成します。 再評価には最大 24 時間を許可します。

管理グループ レベルでアクセス許可エラーを解決する

サブスクリプション レベルで除外を作成できますが、管理グループ レベルでアクセス許可エラーを受け取ります。 一般的なエラー メッセージ: "...は、リンクされたスコープに対してアクションを実行するアクセス許可を持っていないか、リンクされたスコープが無効です。

管理グループ レベルでアクセス許可エラーを解決するには:

  • 管理グループ レベルでアクセス許可を割り当てます。 サブスクリプション レベルのアクセス許可は、上位に継承されません。

    1. 管理グループ>Access コントロール (IAM) に移動します。

    2. 管理グループ レベルで セキュリティ管理者 または適切なロールを割り当てます。

  • ロールの割り当てスコープを確認します。 カスタム ロールは、サブスクリプション レベルだけでなく、管理グループ レベルで割り当てる必要があります。 Azure CLI を使用して次のことを確認します:

    az role assignment list --scope "/providers/Microsoft.Management/managementGroups/<mg-name>"
    
  • ポリシーの割り当てスコープを確認します。 ポリシーが管理グループ レベルで割り当てられている場合は、そこで除外を作成する必要があります。 Azure Policy でポリシー割り当ての場所を確認します。

ポータルに表示されない除外を検索する

以前に表示されていた除外が表示されなくなった場合、または除外が一覧表示されている場所が見つからない場合:

  • 一元化された除外ビューを確認します。 2026 年 1 月の時点で、除外は一元的な場所から管理できます。

    1. Defender for Cloud>Environment settings>Exemptions box, または、Azure Policy>Exemptions に移動します。
  • スコープとフィルターを確認します。 除外は、その除外を作成したスコープの中で表示されます。 正しいサブスクリプションまたは管理グループが表示されているかどうかを確認します。

  • アクセス許可のチェック 適切なスコープ レベルで Microsoft.Authorization/policyExemptions/read アクセス許可があることを確認します。

重複または競合する除外を解決する

同じ推奨事項に対して同じリソースに複数の除外が適用されると、除外の種類の競合や正しく更新されない状態など、予期しない動作が発生する可能性があります。 推奨事項とリソースの組み合わせごとに、1 つの権限のある除外を維持します。

重複する除外を特定する

Azure Resource Graph Explorer で次のクエリを実行して、複数の除外があるリソースを検索します。

policyresources
| where type == "microsoft.authorization/policyexemptions"
| where subscriptionId == "<your-subscription-id>"
| summarize ExemptionCount = count(), ExemptionNames = make_list(name) by tostring(properties.policyAssignmentId), tostring(properties.resourceSelectors)
| where ExemptionCount > 1

重複する除外をクリーンアップする

  1. Azure portal にサインインします。

  2. [Defender for Cloud]>、[環境設定]>、[除外] の順に選択します。

  3. 影響を受けるサブスクリプションまたはリソース グループでフィルター処理します。

  4. 重複する除外を確認します。

  5. すべての除外を確認します。

  6. 追加の除外を削除します。

PowerShell を使用して重複する除外を一括で削除するには:

# List all exemptions for a specific policy assignment
$exemptions = Get-AzPolicyExemption -PolicyAssignmentIdFilter "<policy-assignment-id>"

# Review and remove duplicates (keep the first, remove the rest)
$exemptions | Select-Object -Skip 1 | ForEach-Object {
    Remove-AzPolicyExemption -Id $_.Id -Force
}

Important

重複する除外をクリーンアップした後、影響を受けるリソースを再評価するDefender for Cloudに最大 24 時間を許可します。 推奨事項の状態が更新されない場合は、残りの除外のスコープと種類が正しいことを確認します。

ユーザーが除外を作成したときに通知を受け取る

ユーザーが推奨事項からリソースを除外する方法を追跡するために、Azure Resource Manager テンプレート (ARM テンプレート) を作成しました。 このテンプレートは、除外が作成されたときに通知するために、ロジック アプリのプレイブックと必要なすべての API 接続をデプロイします。

次のステップ