【问题标题】:Azure policy - prevent the creation of app services without authenticationAzure 策略 - 防止在没有身份验证的情况下创建应用服务
【发布时间】:2021-05-20 13:28:11
【问题描述】:

我希望创建一个策略来防止在未启用身份验证的情况下创建应用服务(仅审核它们是不够的)。

以下策略可以正确识别未启用身份验证的现有资源:

{
  "mode": "All",
  "policyRule": {
    "if": {
      "allOf": [
        {
          "field": "Microsoft.Web/sites/config/siteAuthEnabled",
          "equals": "false"
        }
      ]
    },
    "then": {
      "effect": "deny"
    }
  }
}

但它不会阻止它们首先被创建(通过 ARM 模板或通过门户)。

我怀疑这是因为 Microsoft.Web/sites/config 资源没有被显式创建。

有谁知道这是否可行?

【问题讨论】:

    标签: azure azure-policy


    【解决方案1】:

    显然,目前 Azure Policy 不支持 Microsoft.Web/sites/config/* 资源类型(Microsoft.Web/sites/config/web 除外)。

    引用@camillemarie from this 类似的 GitHub 问题:

    authSettings 目前无法通过策略进行管理。为了向默认读者角色的用户隐藏秘密,此资源提供程序不会通过 GET 调用公开秘密(因此 /config/web 中的 null,并且缺乏对 /config 的 GET 支持/authSettings)。

    这意味着现有的 Microsoft.Web/sites/config/siteAuthSettings.* 别名无效。我们会考虑删除这些,但目前我们没有一个好的弃用故事。

    参考:

    【讨论】:

      【解决方案2】:

      您可以尝试使用 Microsoft.Web/sites/siteConfig 别名。

      【讨论】:

      • siteConfig 下没有有效的站点身份验证别名。唯一有效的别名/字段是 Microsoft.Web/sites/config/siteAuthSettings 和 Microsoft.Web/sites/config/siteAuthEnabled
      猜你喜欢
      • 2020-04-17
      • 2014-08-09
      • 2022-01-11
      • 2020-12-08
      • 2023-03-13
      • 2019-05-22
      • 1970-01-01
      • 2022-01-03
      • 2017-02-03
      相关资源
      最近更新 更多