使用 Azure Policy 审核 Azure 事件中心命名空间的最低 TLS 版本的合规性

如果你有大量 Azure 事件中心命名空间,则可能需要执行审核,以确保为所有命名空间配置组织所需的最低 TLS 版本。 若要审核一组事件中心命名空间的合规性,请使用 Azure Policy。 Azure Policy 是一项服务,可用于创建、分配和管理将规则应用于 Azure 资源的策略。 Azure Policy 可帮助你确保这些资源始终符合公司标准和服务级别协议。 有关详细信息,请参阅 Azure Policy 概述

创建具有审核效果的策略

Azure Policy 支持的效果决定了针对资源评估某个策略规则时会发生什么情况。 当资源不合规时,审核效果会创建一个警告,但不会停止请求。 有关效果的详细信息,请参阅了解 Azure Policy 效果

若要通过 Azure 门户针对最低 TLS 版本创建具有审核效果的策略,请执行以下步骤:

  1. 在 Azure 门户中,导航到 Azure Policy 服务。

  2. 在“创作”部分下,选择“定义”。

  3. 选择“添加策略定义”以创建新的策略定义。

  4. 对于“定义位置”字段,选择“更多”按钮以指定审核策略资源所在的位置。

  5. 指定策略的名称。 还可以指定说明和类别。

  6. 在“策略规则”下,将以下策略定义添加到“policyRule”部分。

    {
      "policyRule": {
        "if": {
          "allOf": [
            {
              "field": "type",
              "equals": "Microsoft.EventHub/namespaces"
            },
            {
              "not": {
                "field": " Microsoft.EventHub/namespaces/minimumTlsVersion",
                "equals": "1.2"
              }
            }
          ]
        },
        "then": {
          "effect": "audit"
        }
      }
    }
    
  7. 保存策略。

分配策略

接下来,将策略分配给资源。 策略的作用域对应于该资源及其下的所有资源。 有关策略分配的详细信息,请参阅 Azure Policy 分配结构

若要在 Azure 门户中分配策略,请执行下列步骤:

  1. 在 Azure 门户中,导航到 Azure Policy 服务。
  2. 在“创作”部分下,选择“分配”。
  3. 选择“分配策略”以创建新的策略分配。
  4. 对于“作用域”字段,请选择策略分配的作用域。
  5. 对于“策略定义”字段,请选择“更多”按钮,然后从列表中选择你在上一部分定义的策略。
  6. 提供策略分配的名称。 说明是可选的。
  7. 让“策略强制实施”设置为“启用”状态。 此设置对审核策略没有影响。
  8. 选择“查看 + 创建”以创建分配。

查看合规性报告

分配策略后,你可以查看合规性报告。 审核策略的合规性报告会指出哪些事件中心命名空间不符合策略。 有关详细信息,请参阅获取策略合规性数据

创建策略分配后,合规性报告可能需要几分钟时间才会变得可用。

若要在 Azure 门户中查看合规性报告,请执行以下步骤:

  1. 在 Azure 门户中,导航到 Azure Policy 服务。
  2. 选择“合规性”。
  3. 筛选你在上一步创建的策略分配名称的结果。 该报告显示有多少资源不符合策略。
  4. 你可以在报告中向下钻取以获取更多详细信息,包括不合规的事件中心命名空间的列表。

使用 Azure Policy 强制实施最低 TLS 版本

Azure Policy 可以确保 Azure 资源符合要求和标准,从而为云治理提供支持。 若要为你的组织中的事件中心命名空间强制实施最低 TLS 版本要求,你可以创建一个策略,用于阻止创建具有以下特点的新事件中心命名空间:该帐户将最低 TLS 要求设置为比该策略规定的版本更旧的 TLS。 如果该命名空间的最低 TLS 版本设置不符合策略,则此策略还会阻止对现有命名空间进行所有配置更改。

强制实施策略会使用拒绝效果来阻止具有如下特点的请求:将创建或修改事件中心命名空间,导致最低 TLS 版本不再符合组织标准。 有关效果的详细信息,请参阅了解 Azure Policy 效果

若要针对低于 TLS 1.2 的最低 TLS 版本创建具有拒绝效果的策略,请在策略定义的“policyRule”部分提供以下 JSON:

{
  "policyRule": {
    "if": {
      "allOf": [
        {
          "field": "type",
          "equals": " Microsoft.EventHub/namespaces"
        },
        {
          "not": {
            "field": " Microsoft.EventHub/namespaces/minimumTlsVersion",
            "equals": "1.2"
          }
        }
      ]
    },
    "then": {
      "effect": "deny"
    }
  }
}

创建具有拒绝效果的策略并将其分配给作用域后,用户无法创建最低 TLS 版本低于 1.2 的事件中心命名空间。 用户也不能对当前需要的最低 TLS 版本低于 1.2 的现有事件中心命名空间进行任何配置更改。 如果尝试这样做,将会导致错误。 必须将事件中心命名空间的必需最低 TLS 版本设置为 1.2,然后才能继续创建或配置命名空间。

当具有拒绝效果的策略要求将最低 TLS 版本设置为 TLS 1.2 时,你尝试创建最低 TLS 版本设置为 TLS 1.0 的事件中心命名空间,此时将显示错误。

后续步骤

有关详细信息,请参阅以下文档。