linux Azure策略错误:找到区分大小写的部署参数名称

cx6n0qe3  于 2023-01-20  发布在  Linux
关注(0)|答案(1)|浏览(86)

我使用以下策略定义为我的订阅资源组中的所有Linux虚拟机运行脚本。我有4台Linux虚拟机:OpenSuse、Ubuntu 18.04、Ubuntu-server 22.04和OracleLinux8.6。我部分复制了Microsoft在Linux VM上部署脚本的方法,并进行了修改以安装名为www.example.com的脚本bac.sh。为了进行测试,我在Linux VM上安装了该脚本,它可以正常工作。我确保它不会提示用户输入任何值,除非该脚本需要在Linux VM上以“sudo bash bac.sh”的形式运行。“执行命令”:“bashrac.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任务中检查“deployment error”(部署错误)后,我发现了以下错误消息
代码CaseSensitiveDeploymentParameterNamesFound消息部署参数使用了区分大小写的名称。错误参数名称:vmName。有关用法的详细信息,请参见https://aka.ms/arm-keyvault
注意:“vname”出现了两次,我删除了它几次,但不知道为什么Azure一直添加它。
任何意见/帮助将不胜感激!
我希望脚本在所有Linux虚拟机上运行,但我看到部署错误为
详细信息代码CaseSensitiveDeploymentParameterNamesFound消息部署参数使用了区分大小写的名称。错误参数名称:vmName。有关用法的详细信息,请参见https://aka.ms/arm-keyvault

pqwbnv8z

pqwbnv8z1#

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

相关问题