📌  相关文章
📜  Microsoft Azure – 使用 CSV 文件创建 JSON 片段以创建策略倡议(1)

📅  最后修改于: 2023-12-03 15:02:56.631000             🧑  作者: Mango

Microsoft Azure – 使用 CSV 文件创建 JSON 片段以创建策略倡议

简介

Azure Policy 可以帮助管理员在 Azure 订阅中强制实施策略和标准。其中之一的方法是创建自定义策略倡议。本文将介绍如何使用 CSV 文件创建 JSON 片段以创建策略倡议。

步骤
  1. 在本地计算机上创建一个 CSV 文件,其中包含以下列:
    • DisplayName:策略倡议的名称(必需)
    • PolicyDefinitionCategory:策略的类别(可选)
    • PolicyDefinitionDescription:策略的描述(可选)
    • PolicyDefinitionMode:策略的模式,可以是 IndexedAll(必须)
    • PolicyDefinitionMetadata:策略的元数据(可选)
    • PolicyDefinitionParameters:策略的参数(可选)
    • PolicyDefinitionRules:策略的规则(必须)
  2. 将 CSV 文件上传到 Azure Blob 存储或 Azure 文件共享中。确保 Blob 或文件共享的权限可以让 Azure Policy 服务能够读取 CSV 文件。
  3. 使用 Azure PowerShell 或 Azure CLI 创建一个 JSON 文件以定义策略倡议。以下是一个示例 JSON 文件:
{
  "properties": {
    "displayName": "My Policy Initiative",
    "policyDefinitionReferences": [
      {
        "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/<definition-id>",
        "parameters": {
          "<parameter-name>": {
            "value": "<parameter-value>"
          }
        }
      }
    ]
  }
}

policyDefinitionId 字段中,将 <definition-id> 替换为实际的策略定义 ID。在 parameters 字段中,将 <parameter-name> 替换为策略参数名称,将 <parameter-value> 替换为该参数的值。

  1. 使用 Azure PowerShell 或 Azure CLI 创建策略倡议。以下是 Azure PowerShell 的示例代码:
$initiative = ConvertTo-Json -Depth 100 -InputObject (Get-Content -Raw -Path "<path-to-json-file>")
New-AzPolicySetDefinition -Name "My Policy Initiative" -DisplayName "My Policy Initiative" -Description "My policy initiative description" -PolicyDefinition $initiative -ManagementGroupName "<management-group>" -SubscriptionId "<subscription-id>"

-ManagementGroupName 参数中,将 <management-group> 替换为要创建策略倡议的管理组名称。在 -SubscriptionId 参数中,将 <subscription-id> 替换为要使用的订阅 ID。

结论

使用 CSV 文件创建 JSON 片段可以简化 Azure Policy 策略倡议的创建过程,管理员可以更轻松地管理 Azure 订阅中的策略和标准。