【Azure Policy】当Azure策略组中存在多个修正任务时候时的批量处理办法

简介: 在Azure门户中,分配策略时只能选择一个修正任务执行。若需批量执行所有修正任务,可使用PowerShell脚本。具体步骤为:设置Assignment ID参数、获取不合规策略的修正任务列表、循环创建修正任务。通过此方法,可以高效地批量处理修正任务。

问题描述

在分配一组策略中包含了很多修正任务时候,从门户上,只能选择一个修正任务执行。

如下图:

是否有好的办法,执行全部的修正任务呢?

 

问题解答

从Azure门户的设计来看,只能选择一个修正任务是设计使然。如果想批量执行全部的修正任务,需要使用PowerShell脚本来循环执行。

详细步骤:

第一步:设置分配ID(Assignment ID)参数

在门户上Assignment ID的全部内容格式为:/subscriptions/{subscriptions id}/providers/microsoft.authorization/policyassignments/f2c53c0fe9af0eb6e223041f,最后一部分{policyassignments/{Assignment ID}}就是脚本中所使用的Assignment ID

$InitiativeAssignmentID = "<myInitiativeAssignment>"

 

第二步:获取不合规策略的修正任务列表

根据Assignment ID过滤策略中使用 deployIfNotExists ,modify,append 的策略信息

$RemediatablePolicies = Get-AzPolicyState | Where-Object { $_.PolicyAssignmentName -eq $InitiativeAssignmentID -and ($_.PolicyDefinitionAction -eq "deployIfNotExists" -or $_.PolicyDefinitionAction -eq "modify" -or $_.PolicyDefinitionAction -eq "append") } | select-object PolicyDefinitionReferenceId, PolicyAssignmentId -Unique

 

第三步:循环创建修正任务

foreach ($policy in $RemediatablePolicies) {
   $remediationName = "rem." + $policy.PolicyDefinitionReferenceId
   Start-AzPolicyRemediation -Name $remediationName -PolicyAssignmentId $policy.PolicyAssignmentId -PolicyDefinitionReferenceId $policy.PolicyDefinitionReferenceId -ResourceDiscoveryMode ReEvaluateCompliance
}

 

执行后的效果如下图:

 

 

 

 

参考资料

Automating Azure Remediation for Policy Initiatives with Azure PowerShell : https://techcommunity.microsoft.com/blog/azurepaasblog/automating-azure-remediation-for-policy-initiatives-with-azure-powershell/4113485

 



当在复杂的环境中面临问题,格物之道需:浊而静之徐清,安以动之徐生。 云中,恰是如此!

相关文章
|
19天前
|
安全 BI 网络安全
GPO 配置的 4 种常见安全错误及安全优化策略
组策略对象(GPO)是微软Active Directory的核心功能,用于管理和保护AD环境。常见的GPO安全错误包括配置不当、权限过度、缺乏审计和无限制链接,这些错误可能导致未经授权访问、权限提升和安全功能禁用,严重影响组织安全。为确保GPO安全,管理员应最小化权限、定期审计、严格控制继承和链接,并启用关键安全策略。使用ADManager Plus等专业工具可提供全面的报表、实时审计和精细化权限管理,帮助组织防止漏洞并遵循最佳实践。
|
6月前
|
网络安全
【Azure Policy】在Azure Policy的规则中实现数组对数组的规则校验
本文介绍了如何使用 Azure Policy 对网络安全组(NSG)的 IP 地址和端口进行审计。具体包括两个要求:一是输入的 IP 地址只能是 192.168.1.1 和 167.220.0.0/16;二是端口输入中只要包含 22 或 3389 需要进行判断。
|
7月前
|
数据库
【Azure 环境】在Azure中为数据启用强制保留期 mandatoryRetentionPeriodEnabled
【Azure 环境】在Azure中为数据启用强制保留期 mandatoryRetentionPeriodEnabled
|
7月前
|
存储
【Azure Policy】使用Azure Policy来检查Azure资源名称是否满足正确要求(不满足就拒绝创建或标记为不合规non-compliance)
【Azure Policy】使用Azure Policy来检查Azure资源名称是否满足正确要求(不满足就拒绝创建或标记为不合规non-compliance)
|
7月前
|
JavaScript
【Azure 批处理 】Azure Batch门户中创建自定义作业模式失败解决办法
【Azure 批处理 】Azure Batch门户中创建自定义作业模式失败解决办法
|
7月前
|
网络协议 API
【Azure APIM】列举几种在APIM 策略中的主动生产的错误语句
【Azure APIM】列举几种在APIM 策略中的主动生产的错误语句
|
7月前
|
存储 数据库
【Azure 事件中心】Azure Event Hub中的数据能不能存储大于7天呢?如果7天之后是不是会自动删除呢?
【Azure 事件中心】Azure Event Hub中的数据能不能存储大于7天呢?如果7天之后是不是会自动删除呢?
|
7月前
|
存储 数据中心 数据安全/隐私保护
【Azure 存储服务】ADLS Gen 2 Backup/软删除/Version管理/快照等功能参考资料
【Azure 存储服务】ADLS Gen 2 Backup/软删除/Version管理/快照等功能参考资料
|
7月前
|
缓存 NoSQL 网络安全
【Azure Redis 缓存 Azure Cache For Redis】Azure Redis由低级别(C)升级到高级别(P)的步骤和注意事项, 及对用户现有应用的潜在影响,是否需要停机时间窗口,以及这个时间窗口需要多少的预估问题
【Azure Redis 缓存 Azure Cache For Redis】Azure Redis由低级别(C)升级到高级别(P)的步骤和注意事项, 及对用户现有应用的潜在影响,是否需要停机时间窗口,以及这个时间窗口需要多少的预估问题
|
10月前
|
存储 安全 Linux
使用Tag策略实现文件访问及管理权限实践
本文具体阐述了如何借助阿里云资源访问管理(RAM)服务,结合标签功能来实行文件访问及管理权限的细节控制。
319 0