繁体   English   中英

Azure 策略错误:CaseSensitiveDeploymentParameterNamesFound

[英]Azure policy error: CaseSensitiveDeploymentParameterNamesFound

我有以下策略定义来为我的订阅资源组中的所有 Linux 虚拟机运行脚本。 我有4个Linux虚拟机,OpenSuse,Ubuntu18.04,Ubuntu-server22.04,OracleLinux8.6。 我部分复制了 Microsoft 在 Linux 台虚拟机上部署脚本的操作,并进行了修改以安装名为 bac.sh 的脚本。 为了进行测试,我在 Linux VM 上安装了脚本并且它可以运行。 我确保它不会提示用户输入任何值,除了脚本需要在 Linux VM 上作为“sudo bash bac.sh”运行。 Microsoft 使用以下命令:“commandToExecute”:“bash rac.sh”; 在 Linux 台虚拟机上运行脚本

{
  "mode": "All",
  "policyRule": {
    "if": {
      "allOf": [
        {
          "field": "type",
          "equals": "Microsoft.Compute/virtualMachines"
        },
        {
          "anyOf": [
            {
              "allOf": [
                {
                  "field": "Microsoft.Compute/imagePublisher",
                  "equals": "RedHat"
                },
                {
                  "field": "Microsoft.Compute/imageOffer",
                  "in": [
                    "RHEL",
                    "RHEL-SAP-HANA",
                    "RHEL-ARM64",
                    "RHEL-BYOS",
                    "RHEL-HA",
                    "RHEL-SAP",
                    "RHEL-SAP-APPS",
                    "RHEL-SAP-HA"
                  ]
                },
                {
                  "anyOf": [
                    {
                      "field": "Microsoft.Compute/imageSku",
                      "like": "7*"
                    },
                    {
                      "field": "Microsoft.Compute/imageSku",
                      "like": "8*"
                    },
                    {
                      "field": "Microsoft.Compute/imageSku",
                      "like": "rhel-lvm7*"
                    },
                    {
                      "field": "Microsoft.Compute/imageSku",
                      "like": "rhel-lvm8*"
                    }
                  ]
                }
              ]
            },
            {
              "allOf": [
                {
                  "field": "Microsoft.Compute/imagePublisher",
                  "equals": "SUSE"
                },
                {
                  "field": "Microsoft.Compute/imageOffer",
                  "in": [
                    "SLES",
                    "SLES-HPC",
                    "SLES-HPC-Priority",
                    "SLES-SAP",
                    "SLES-SAP-BYOS",
                    "SLES-Priority",
                    "SLES-BYOS",
                    "SLES-SAPCAL",
                    "SLES-Standard",
                    "SLES-12-SP5",
                    "SLES-15-SP2"
                  ]
                },
                {
                  "anyOf": [
                    {
                      "field": "Microsoft.Compute/imageSku",
                      "like": "12*"
                    },
                    {
                      "field": "Microsoft.Compute/imageSku",
                      "like": "15*"
                    },
                    {
                      "field": "Microsoft.Compute/imageSku",
                      "like": "gen*"
                    }
                  ]
                }
              ]
            },
            {
              "allOf": [
                {
                  "field": "Microsoft.Compute/imagePublisher",
                  "equals": "Canonical"
                },
                {
                  "anyOf": [
                    {
                      "field": "Microsoft.Compute/imageOffer",
                      "equals": "UbuntuServer"
                    },
                    {
                      "field": "Microsoft.Compute/imageOffer",
                      "like": "0001-com-ubuntu-server-*"
                    },
                    {
                      "field": "Microsoft.Compute/imageOffer",
                      "like": "0001-com-ubuntu-pro-*"
                    }
                  ]
                },
                {
                  "anyOf": [
                    {
                      "field": "Microsoft.Compute/imageSku",
                      "like": "18_04-lts*"
                    },
                    {
                      "field": "Microsoft.Compute/imageSku",
                      "like": "18.04-lts*"
                    },
                    {
                      "field": "Microsoft.Compute/imageSku",
                      "like": "20_04-lts*"
                    },
                    {
                      "field": "Microsoft.Compute/imageSku",
                      "like": "22_04-lts*"
                    },
                    {
                      "field": "Microsoft.Compute/imageSku",
                      "like": "pro-18_04-lts*"
                    },
                    {
                      "field": "Microsoft.Compute/imageSku",
                      "like": "pro-20_04-lts*"
                    },
                    {
                      "field": "Microsoft.Compute/imageSku",
                      "like": "pro-22_04-lts*"
                    }
                  ]
                }
              ]
            },
            {
              "allOf": [
                {
                  "field": "Microsoft.Compute/imagePublisher",
                  "equals": "Oracle"
                },
                {
                  "field": "Microsoft.Compute/imageOffer",
                  "equals": "Oracle-Linux"
                },
                {
                  "anyOf": [
                    {
                      "field": "Microsoft.Compute/imageSku",
                      "like": "7*"
                    },
                    {
                      "field": "Microsoft.Compute/imageSku",
                      "like": "8*"
                    }
                  ]
                }
              ]
            },
            {
              "allOf": [
                {
                  "field": "Microsoft.Compute/imagePublisher",
                  "equals": "OpenLogic"
                },
                {
                  "field": "Microsoft.Compute/imageOffer",
                  "in": [
                    "CentOS",
                    "Centos-LVM",
                    "CentOS-SRIOV"
                  ]
                },
                {
                  "anyOf": [
                    {
                      "field": "Microsoft.Compute/imageSku",
                      "like": "6.*"
                    },
                    {
                      "field": "Microsoft.Compute/imageSku",
                      "like": "7*"
                    },
                    {
                      "field": "Microsoft.Compute/imageSku",
                      "like": "8*"
                    }
                  ]
                }
              ]
            },
            {
              "allOf": [
                {
                  "field": "Microsoft.Compute/imagePublisher",
                  "equals": "cloudera"
                },
                {
                  "field": "Microsoft.Compute/imageOffer",
                  "equals": "cloudera-centos-os"
                },
                {
                  "field": "Microsoft.Compute/imageSku",
                  "like": "7*"
                }
              ]
            },
            {
              "allOf": [
                {
                  "field": "Microsoft.Compute/imagePublisher",
                  "equals": "almalinux"
                },
                {
                  "field": "Microsoft.Compute/imageOffer",
                  "like": "almalinux*"
                },
                {
                  "field": "Microsoft.Compute/imageSku",
                  "like": "8*"
                }
              ]
            },
            {
              "allOf": [
                {
                  "field": "Microsoft.Compute/imagePublisher",
                  "equals": "ctrliqinc1648673227698"
                },
                {
                  "field": "Microsoft.Compute/imageOffer",
                  "like": "rocky-8*"
                },
                {
                  "field": "Microsoft.Compute/imageSku",
                  "like": "rocky-8*"
                }
              ]
            },
            {
              "allOf": [
                {
                  "field": "Microsoft.Compute/imagePublisher",
                  "equals": "credativ"
                },
                {
                  "field": "Microsoft.Compute/imageOffer",
                  "in": [
                    "debian"
                  ]
                },
                {
                  "field": "Microsoft.Compute/imageSku",
                  "equals": "9"
                }
              ]
            },
            {
              "allOf": [
                {
                  "field": "Microsoft.Compute/imagePublisher",
                  "equals": "Debian"
                },
                {
                  "field": "Microsoft.Compute/imageOffer",
                  "in": [
                    "debian-10",
                    "debian-11"
                  ]
                },
                {
                  "anyOf": [
                    {
                      "field": "Microsoft.Compute/imageSku",
                      "like": "10*"
                    },
                    {
                      "field": "Microsoft.Compute/imageSku",
                      "like": "11*"
                    }
                  ]
                }
              ]
            },
            {
              "allOf": [
                {
                  "field": "Microsoft.Compute/imagePublisher",
                  "equals": "microsoftcblmariner"
                },
                {
                  "field": "Microsoft.Compute/imageOffer",
                  "equals": "cbl-mariner"
                }
              ]
            }
          ]
        }
      ]
    },
    "then": {
      "effect": "deployIfNotExists",
      "details": {
        "type": "Microsoft.Compute/virtualMachines/extensions",
        "name": "CBCSE",
        "deployment": {
          "properties": {
            "mode": "incremental",
            "template": {
              "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
              "contentVersion": "1.0.0.0",
              "parameters": {
                "location": {
                  "type": "string"
                },
                "vmname": {
                  "type": "string"
                },
>                 "vmName": {
>                   "type": "string"
>                 }
              },
              "resources": [
                {
                  "apiVersion": "2020-06-01",
                  "name": "[concat(parameters('vmName'), '/CBCSE')]",
                  "type": "Microsoft.Compute/virtualMachines/extensions",
                  "location": "[parameters('location')]",
                  "properties": {
                    "publisher": "Microsoft.Compute",
                    "type": "CustomScriptExtension",
                    "autoUpgradeMinorVersion": true,
                    "typeHandlerVersion": "1.0",
                    "settings": {
                      "timestamp": 123456789,
                      "commandToExecute": "bash bac.sh",
                      "fileUris": [
                        "https://mystorage.blob.core.windows.net/hbs/bac.sh"
                      ]
                    },
                    "protectedSettings": {}
                  }
                }
              ]
            },
            "parameters": {
              "location": {
                "value": "[field('location')]"
              },
              "vmname": {
                "value": "[field('name')]"
              },
>               "vmName": {
>                 "value": "[field('name')]"
>               }
            }
          }
        },
        "roleDefinitionIds": [
          "/providers/microsoft.authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c"
        ],
        "existenceCondition": {
          "allOf": [
            {
              "field": "Microsoft.Compute/virtualMachines/extensions/type",
              "equals": "CBCSE"
            },
            {
              "field": "Microsoft.Compute/virtualMachines/extensions/provisioningState",
              "equals": "Succeeded"
            }
          ]
        }
      }
    }
  },
  "parameters": {}
}

在Remediation任务中查看“部署错误”后,发现如下错误信息

代码 CaseSensitiveDeploymentParameterNamesFound 消息部署参数使用区分大小写的名称。 错误参数名称:vmName。 有关使用详情,请参阅https://aka.ms/arm-keyvault

注意:“vname”出现了两次,我删除了几次,但不是为什么 Azure 一直添加它。

任何评论/帮助将不胜感激!

我期待脚本在所有 Linux VM 上运行,但我看到部署错误为

详细信息代码 CaseSensitiveDeploymentParameterNamesFound 消息部署参数使用区分大小写的名称。 错误参数名称:vmName。 有关使用详情,请参阅https://aka.ms/arm-keyvault

我认为 Azure 资源管理器实际上遇到了删除重复的vmName/vmname属性的问题,因为原始错误中存在区分大小写的问题。 我最想尝试的事情是确保您将策略 JSON 作为文件备份在您的计算机上。 删除重复的 vmname 条目并保存文件。 然后删除Azure中原来的Policy,从编辑好的本地文件重新创建。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM