如何审核 Azure 应用服务中使用的最低 Python 版本?

问题描述 投票:0回答:1

Microsoft 提供内置 Azure 策略来审核不符合给定 Python 版本的 Azure 应用服务应用程序:

https://www.azadvertizer.net/azpolicyadvertizer/7008174a-fd10-4ef0-817e-fc820a951d73.html

但是,此策略会审核此字段的值以等于某个版本,并使用连接字符串,例如导致“PYTHON | 3.9”。

Microsoft.Web/sites/config/web.linuxFxVersion

但是,我希望策略能够审核低于低于指定版本的实例。
所以政策要求至少使用3.9或更高版本。低于 3.9 的值应触发策略进行审核/拒绝。

我尝试在存在条件中使用以下逻辑,但是没有运气(空值)。
我希望根据管道 ( | ) 上的分割,数组 ( [1] ) 的第二项将产生版本(即“3.9”)。

  {
    "value": "[split(field('Microsoft.Web/sites/config/web.linuxFxVersion'),'|')[1]]",
    "greaterOrEquals": "[parameters('LinuxPythonVersion')]"
  }
azure-policy
1个回答
0
投票

经过一些测试,这个存在条件似乎运行良好:

"existenceCondition": {
  "anyOf": [
    {
      "field": "Microsoft.Web/sites/config/web.linuxFxVersion",
      "notContains": "PYTHON"
    },
    {
      "allOf": [
        {
          "field": "Microsoft.Web/sites/config/web.linuxFxVersion",
          "greaterOrEquals": "[concat('PYTHON|', parameters('LinuxPythonMajorVersion'), '.', parameters('LinuxPythonMinorVersion'))]"
        }
      ]
    }
  ]
}

© www.soinside.com 2019 - 2024. All rights reserved.