【发布时间】:2020-03-09 21:00:59
【问题描述】:
如何克隆 Azure 中的内置计划定义策略?
我希望能够从内置的“[预览]:审核 NIST SP 800-53 R4 控制并部署特定的 VM 扩展以支持审核要求”倡议策略中添加/删除策略。
我在 Azure 控制台或 PowerShell 中看不到执行此操作的任何选项。我想避免手动添加 798 个单独的策略。
【问题讨论】:
标签: azure powershell azure-policy
如何克隆 Azure 中的内置计划定义策略?
我希望能够从内置的“[预览]:审核 NIST SP 800-53 R4 控制并部署特定的 VM 扩展以支持审核要求”倡议策略中添加/删除策略。
我在 Azure 控制台或 PowerShell 中看不到执行此操作的任何选项。我想避免手动添加 798 个单独的策略。
【问题讨论】:
标签: azure powershell azure-policy
根据我的测试,您可以使用该命令将策略导出到 json 文件。
$source = Get-AzPolicySetDefinition -Id "/providers/Microsoft.Authorization/policySetDefinitions/cf25b9c1-bd23-4eb6-bd2c-f4f3ac644a5f"
$source.Properties.policyDefinitions | ConvertTo-Json -Depth 3 | Out-File C:\Users\joyw\Desktop\definitions.json
您可以在 json 文件中添加/删除策略,然后按照 link 中的示例 2 创建新的自定义策略集定义。
示例:
New-AzPolicySetDefinition -Name "joytest123" -PolicyDefinition C:\Users\joyw\Desktop\definitions.json -Parameter '{ "logAnalyticsWorkspaceIdforVMReporting": { "type": "String" }, "listOfResourceTypesWithDiagnosticLogsEnabled": { "type": "Array" }, "listOfMembersToExcludeFromWindowsVMAdministratorsGroup": { "type": "String" }, "listOfMembersToIncludeInWindowsVMAdministratorsGroup": { "type": "String" }}'
注意:与内置集定义不同,自定义策略集定义中存在500的限制,因此您需要将策略删除到至少500,否则您会出错。如果您需要使用其他策略,您可以使用两个 json 文件创建两个集合定义。
创建集合定义后,您可以使用New-AzPolicyAssignment 或在门户中分配它。
【讨论】:
definitions.json,然后将策略分成两半以对抗 500 限制,但出现错误。 New-AzPolicySetDefinition:InvalidPolicySetDefinitionGroups:策略集定义“CustomNIST1”请求无效。引用了以下组名,但策略集中不存在:'NIST_SP_800-53_R4_IA-2(1),NIST_SP_800-53_R4_IA-2(2),NIST_SP_800-53_R4_SI-2,NIST_SP_800-53_R4_AC-4,....