last sync: 2020-Sep-25 13:37:27 UTC

Azure Policy

Ensure that 'Python version' is the latest, if used as a part of the Api app

Policy DisplayName Ensure that 'Python version' is the latest, if used as a part of the Api app
Policy Id 74c3584d-afae-46f7-a20a-6f8adba71a16
Policy Category App Service
Policy Description Periodically, newer versions are released for Python software either due to security flaws or to include additional functionality. Using the latest Python version for Api apps is recommended in order to take advantage of security fixes, if any, and/or new functionalities of the latest version.
Policy Mode Indexed
Policy Type BuiltIn
Policy in Preview FALSE
Policy Deprecated FALSE
Policy Effect Default: AuditIfNotExists
Allowed: (AuditIfNotExists,Disabled)
Roles used none
Policy Changes
Date/Time (UTC ymd) (i) Change Change detail
2019-11-12 19:11:12 add: Policy 74c3584d-afae-46f7-a20a-6f8adba71a16
Used in Policy Initiative(s)
Initiative DisplayName Initiative Id
[Preview]: NIST SP 800-171 R2 03055927-78bd-4236-86c0-f36125a10dc9
CIS Microsoft Azure Foundations Benchmark 1.1.0 1a5bb27d-173f-493e-9568-eb56638dde4d
[Preview]: Azure Security Benchmark 42a694ed-f65e-42b2-aa9e-8052e9740a92
[Deprecated]: DOD Impact Level 4 8d792a84-723c-4d92-a3c3-e4ed16a2d133
Policy Rule
{
  "properties": {
    "displayName": "Ensure that 'Python version' is the latest, if used as a part of the Api app",
    "policyType": "BuiltIn",
    "mode": "Indexed",
    "description": "Periodically, newer versions are released for Python software either due to security flaws or to include additional functionality. Using the latest Python version for Api apps is recommended in order to take advantage of security fixes, if any, and/or new functionalities of the latest version.",
    "metadata": {
      "version": "1.0.0",
      "category": "App Service"
    },
    "parameters": {
      "effect": {
        "type": "String",
        "metadata": {
          "displayName": "Effect",
          "description": "Enable or disable the execution of the policy"
        },
        "allowedValues": [
          "AuditIfNotExists",
          "Disabled"
        ],
        "defaultValue": "AuditIfNotExists"
      },
      "WindowsPythonLatestVersion": {
        "type": "String",
        "metadata": {
          "displayName": "Windows Latest Python version",
          "description": "Latest supported Python version for App Services"
        },
        "defaultValue": "3.6"
      },
      "LinuxPythonLatestVersion": {
        "type": "String",
        "metadata": {
          "displayName": "Linux Latest Python version",
          "description": "Latest supported Python version for App Services"
        },
        "defaultValue": "3.8"
      }
    },
    "policyRule": {
      "if": {
        "allOf": [
          {
            "field": "type",
            "equals": "Microsoft.Web/sites"
          },
          {
            "field": "kind",
            "like": "*api"
          }
        ]
      },
      "then": {
      "effect": "[parameters('effect')]",
        "details": {
          "type": "Microsoft.Web/sites/config",
          "name": "web",
          "existenceCondition": {
            "anyOf": [
              {
                "allOf": [
                  {
                    "field": "Microsoft.Web/sites/config/web.linuxFxVersion",
                    "notContains": "PYTHON"
                  },
                  {
                    "field": "Microsoft.Web/sites/config/web.pythonVersion",
                    "equals": ""
                  }
                ]
              },
              {
                "allOf": [
                  {
                    "field": "Microsoft.Web/sites/config/web.linuxFxVersion",
                  "equals": "[concat('PYTHON|', parameters('LinuxPythonLatestVersion'))]"
                  },
                  {
                    "field": "Microsoft.Web/sites/config/web.pythonVersion",
                    "equals": ""
                  }
                ]
              },
              {
                "allOf": [
                  {
                    "field": "Microsoft.Web/sites/config/web.linuxFxVersion",
                    "equals": ""
                  },
                  {
                    "field": "Microsoft.Web/sites/config/web.pythonVersion",
                  "equals": "[parameters('WindowsPythonLatestVersion')]"
                  }
                ]
              }
            ]
          }
        }
      }
    }
  },
  "id": "/providers/Microsoft.Authorization/policyDefinitions/74c3584d-afae-46f7-a20a-6f8adba71a16",
  "type": "Microsoft.Authorization/policyDefinitions",
  "name": "74c3584d-afae-46f7-a20a-6f8adba71a16"
}