你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
使用 PowerShell 自动加入 Microsoft Defender for Cloud
可以使用 Microsoft Defender for Cloud PowerShell 模块以编程方式保护 Azure 工作负荷。 借助 PowerShell,可以自动执行任务,并可避免手动任务中固有的人为错误。 对于涉及几十个资源且具有数百乃至数千种资源的大规模部署,这一方法尤为有用,所有这些必须从一开始就受到保护。
通过 PowerShell 加入 Microsoft Defender for Cloud,你可以以编程方式自动加入 Azure 资源并对其进行管理,以及添加必要的安全控件。
本文提供了一个示例 PowerShell 脚本,该脚本可在你的环境中进行修改和使用,以跨订阅推出 Defender for Cloud。
在此示例中,通过启用可提供高级威胁防护和检测功能的 Microsoft Defender for Cloud 增强安全功能,我们将对 ID 为 <Subscription ID>
的订阅启用 Defender for Cloud,并应用提供高级别保护的建议设置:
将 Log Analytics 工作区设置为 Log Analytics 代理将发送其在与订阅关联的 VM 上收集的数据位置,在此示例中,是现有用户定义的工作区 (myWorkspace)。
激活用于部署 Log Analytics 代理的 Defender for Cloud 自动代理预配。
分配 Defender for Cloud 的默认安全策略。
先决条件
以下步骤应在运行 Defender for Cloud cmdlet 前执行:
以管理员身份运行 PowerShell。
在 PowerShell 中运行以下命令:
Set-ExecutionPolicy -ExecutionPolicy AllSigned
Install-Module -Name Az.Security -Force
使用 PowerShell 加入 Defender for Cloud
将你的订阅注册到 Defender for Cloud 资源提供程序:
Set-AzContext -Subscription "<Subscription ID>"
Register-AzResourceProvider -ProviderNamespace 'Microsoft.Security'
可选:设置订阅的覆盖级别(打开/关闭 Microsoft Defender for Cloud 的增强安全功能)。 这些功能在未定义的情况下处于关闭状态:
Set-AzContext -Subscription "<Subscription ID>"
Set-AzSecurityPricing -Name "VirtualMachines" -PricingTier "Standard"
配置代理将报告的 Log Analytics 工作区。 必须具有一个已创建的 Log Analytics 工作区,订阅的虚拟机将向其报告。 你可以定义向同一工作区报告的多个订阅。 如未定义,则将使用默认工作区。
Set-AzSecurityWorkspaceSetting -Name "default" -Scope "/subscriptions/<Subscription ID>" -WorkspaceId "/subscriptions/<Subscription ID>/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace"
在 Azure VM 上自动预配安装 Log Analytics 代理:
Set-AzContext -Subscription "<Subscription ID>"
Set-AzSecurityAutoProvisioningSetting -Name "default" -EnableAutoProvision
注意
建议启用自动预配,以确保 Azure 虚拟机自动受到 Microsoft Defender for Cloud 的保护。
作为 Defender for Cloud 更新策略的一部分,Defender for Servers 产品/服务不再需要 Azure Monitor 代理 (AMA)。 但是,对于计算机上的 Defender for SQL Server,它仍是必需的。 因此,可以通过 Defender for Cloud 门户使用新的部署策略为计算机上的 SQL Server 部署 Azure Monitor 代理 (AMA)。 详细了解如何迁移到面向 SQL Server 的 Azure Monitoring Agent (AMA) 的自动预配流程。可选:强烈建议阅读为你加入的订阅定义安全联系人详细信息,该联系人将被用作接收 Defender for Cloud 所生成的警报和通知的收件人:
Set-AzSecurityContact -Name "default1" -Email "CISO@my-org.com" -AlertAdmin -NotifyOnAlert
分配默认的 Defender for Cloud 策略计划:
Register-AzResourceProvider -ProviderNamespace 'Microsoft.PolicyInsights'
$Policy = Get-AzPolicySetDefinition | where {$_.Properties.displayName -EQ 'Microsoft cloud security benchmark'} New-AzPolicyAssignment -Name 'Microsoft cloud security benchmark' -PolicySetDefinition $Policy -Scope '/subscriptions/$($Subscription.Id)'
你已成功地使用 PowerShell 加入 Microsoft Defender for Cloud。
现在可以将这些 PowerShell cmdlet 与自动化脚本结合使用,从而以编程方式循环访问订阅和资源。 这可节省时间并减少人为错误的可能性。 你可以使用此示例脚本作为参考。
另请参阅
若要详细了解如何通过 PowerShell 来自动加入 Defender for Cloud,请参阅以下文章:
若要详细了解 Defender for Cloud,请参阅以下文章:
- 在 Microsoft Defender for Cloud 中设置安全策略。 了解如何为 Azure 订阅和资源组配置安全策略。
- 在 Microsoft Defender for Cloud 中管理和响应安全警报。 了解如何管理和响应安全警报。