【问题标题】:How to clone a built-in Initiative definition policy in Azure?如何克隆 Azure 中的内置计划定义策略?
【发布时间】:2020-03-09 21:00:59
【问题描述】:

如何克隆 Azure 中的内置计划定义策略?

我希望能够从内置的“[预览]:审核 NIST SP 800-53 R4 控制并部署特定的 VM 扩展以支持审核要求”倡议策略中添加/删除策略。

我在 Azure 控制台或 PowerShell 中看不到执行此操作的任何选项。我想避免手动添加 798 个单独的策略。

【问题讨论】:

    标签: azure powershell azure-policy


    【解决方案1】:

    根据我的测试,您可以使用该命令将策略导出到 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,....
    • @leeman24 您无法删除其他策略中引用的策略,您需要将它们放在同一个 json 文件中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-09
    • 1970-01-01
    • 1970-01-01
    • 2021-01-08
    • 2020-11-16
    • 1970-01-01
    相关资源
    最近更新 更多