你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

无代理计算机扫描

Microsoft Defender for Cloud 中的无代理计算机扫描可优化与 Defender for Cloud 连接的计算机的安全状况。

无代理扫描无需安装任何代理或建立网络连接,并且不会影响计算机性能。 无代理计算机扫描:

以下 Defender for Cloud 计划提供无代理扫描:

无代理扫描体系结构

以下是无代理扫描的工作原理:

  1. Defender for Cloud 则会拍摄 VM 磁盘的快照,并对快照中存储的操作系统配置和文件系统进行带外、深层分析。

    • 复制的快照与 VM 仍位于同一区域。
    • 扫描不会影响 VM。
  2. Defender for Cloud 从所复制磁盘获取必要的元数据后,会立即删除复制的磁盘快照,然后将元数据发送到相关的 Microsoft 引擎以分析配置差距和潜在威胁。 例如,在漏洞评估中,分析由 Defender 漏洞管理完成。

  3. Defender for Cloud 会将同时包含了基于代理的和无代理的扫描结果显示在“安全警报”页上。

  4. Defender for Cloud 在一个区域性的、易变的、孤立的且高度安全的扫描环境中分析磁盘。 对于与扫描无关的磁盘快照和数据,其存储时间不会超过收集元数据所需的时间,通常为几分钟。

通过无代理扫描收集操作系统数据的过程示意图。

无代理扫描使用的权限

Defender for Cloud 使用特定角色和权限来执行无代理扫描。

Azure 权限

A内置角色“VM 扫描程序操作员”拥有对快照过程所需的 VM 磁盘的只读权限。 权限的详细列表如下:

  • Microsoft.Compute/disks/read
  • Microsoft.Compute/disks/beginGetAccess/action
  • Microsoft.Compute/disks/diskEncryptionSets/read
  • Microsoft.Compute/virtualMachines/instanceView/read
  • Microsoft.Compute/virtualMachines/read
  • Microsoft.Compute/virtualMachineScaleSets/instanceView/read
  • Microsoft.Compute/virtualMachineScaleSets/read
  • Microsoft.Compute/virtualMachineScaleSets/virtualMachines/read
  • Microsoft.Compute/virtualMachineScaleSets/virtualMachines/instanceView/read

当启用了覆盖 CMK 加密磁盘的范围时,将使用更多权限:

  • Microsoft.KeyVault/vaults/keys/read
  • Microsoft.KeyVault/vaults/keys/wrap/action
  • Microsoft.KeyVault/vaults/keys/unwrap/action

AWS 权限

启用无代理扫描后,将向扫描程序分配角色“VmScanner”。 此角色仅具有最小权限集,用于创建和清理快照(按标记划定范围),并验证 VM 的当前状态。 详细权限包括:

Attribute
SID VmScannerDeleteSnapshotAccess
操作 ec2:DeleteSnapshot
条件 "StringEquals":{"ec2:ResourceTag/CreatedBy”:<br>"Microsoft Defender for Cloud"}
资源 arn:aws:ec2:::snapshot/
效果 Allow
Attribute
SID VmScannerAccess
操作 ec2:ModifySnapshotAttribute
ec2:DeleteTags
ec2:CreateTags
ec2:CreateSnapshots
ec2:CopySnapshots
ec2:CreateSnapshot
条件
资源 arn:aws:ec2:::instance/
arn:aws:ec2:::snapshot/
arn:aws:ec2:::volume/
效果 Allow
Attribute
SID VmScannerVerificationAccess
操作 ec2:DescribeSnapshots
ec2:DescribeInstanceStatus
条件
资源 *
效果 Allow
Attribute
SID VmScannerEncryptionKeyCreation
操作 kms:CreateKey
条件
资源 *
效果 Allow
Attribute
SID VmScannerEncryptionKeyManagement
操作 kms:TagResource
kms:GetKeyRotationStatus
kms:PutKeyPolicy
kms:GetKeyPolicy
kms:CreateAlias
kms:ListResourceTags
条件
资源 arn:aws:kms::${AWS::AccountId}: key/ <br> arn:aws:kms:*:${AWS::AccountId}:alias/DefenderForCloudKey
效果 Allow
Attribute
SID VmScannerEncryptionKeyUsage
操作 kms:GenerateDataKeyWithoutPlaintext
kms:DescribeKey
kms:RetireGrant
kms:CreateGrant
kms:ReEncryptFrom
条件
资源 arn:aws:kms::${AWS::AccountId}: key/
效果 允许

GCP 权限

载入期间,使用获取实例状态和创建快照所需的最低权限创建新的自定义角色。

同时授予对现有 GCP KMS 角色的权限,以支持扫描使用 CMEK 加密的磁盘。 这些角色为:

  • roles/MDCAgentlessScanningRole 授予使用 compute.disks.createSnapshot、compute.instances.get 权限的 Defender for Cloud 服务帐户
  • roles/cloudkms.cryptoKeyEncrypterDecrypter 授予 Defender for Cloud 的计算引擎服务代理

后续步骤

启用无代理计算机扫描