本页面是已启用 Azure Arc 的 Kubernetes 的 Azure Policy 内置策略定义的索引。 有关其他服务的其他 Azure Policy 内置定义,请参阅 Azure Policy 内置定义。
每个内置策略定义链接(指向 Azure 门户中的策略定义)的名称。 使用“版本”列中的链接查看 Azure Policy GitHub 存储库上的源。
已启用 Azure Arc 的 Kubernetes
名称 (Azure 门户) |
说明 | 效果 | 版本 (GitHub) |
---|---|---|---|
[预览版]:Kubernetes 群集应限制创建给定资源类型 | 给定的 Kubernetes 资源类型不应部署在特定命名空间中。 | Audit、Deny、Disabled | 2.2.0-preview |
确保群集容器已配置就绪情况或运行情况探测 | 此策略强制所有 Pod 配置就绪情况和/或运行情况探测。 探测类型可以是 tcpSocket、httpGet 和 exec 的任何一种。 此策略通常适用于 Kubernetes 服务 (AKS) 以及已启用 Azure Arc 的 Kubernetes 的预览版。 有关使用此策略的说明,请访问 https://aka.ms/kubepolicydoc。 | Audit、Deny、Disabled | 3.1.0 |
Kubernetes 群集容器 CPU 和内存资源限制不得超过指定的限制 | 强制实施容器 CPU 和内存资源限制,以防止 Kubernetes 群集中发生资源耗尽攻击。 此策略通常适用于 Kubernetes 服务 (AKS) 以及已启用 Azure Arc 的 Kubernetes 的预览版。 有关详细信息,请参阅 https://aka.ms/kubepolicydoc。 | audit、Audit、deny、Deny、disabled、Disabled | 9.1.0 |
Kubernetes 群集容器不得共享主机进程 ID 命名空间或主机 IPC 命名空间 | 阻止 Pod 容器在 Kubernetes 群集中共享主机进程 ID 命名空间和主机 IPC 命名空间。 此建议是旨在提高 Kubernetes 环境安全性的 CIS 5.2.2 和 CIS 5.2.3 的一部分。 此策略通常适用于 Kubernetes 服务 (AKS) 以及已启用 Azure Arc 的 Kubernetes 的预览版。 有关详细信息,请参阅 https://aka.ms/kubepolicydoc。 | audit、Audit、deny、Deny、disabled、Disabled | 5.1.0 |
Kubernetes 群集容器不应使用禁止的 sysctl 接口 | 容器不应使用 Kubernetes 群集中禁止的 sysctl 接口。 此策略通常适用于 Kubernetes 服务 (AKS) 以及已启用 Azure Arc 的 Kubernetes 的预览版。 有关详细信息,请参阅 https://aka.ms/kubepolicydoc。 | audit、Audit、deny、Deny、disabled、Disabled | 7.1.1 |
Kubernetes 群集容器只应使用允许的 AppArmor 配置文件 | 容器只应使用 Kubernetes 群集中允许的 AppArmor 配置文件。 此策略通常适用于 Kubernetes 服务 (AKS) 以及已启用 Azure Arc 的 Kubernetes 的预览版。 有关详细信息,请参阅 https://aka.ms/kubepolicydoc。 | audit、Audit、deny、Deny、disabled、Disabled | 6.1.1 |
Kubernetes 群集容器只应使用允许的功能 | 限制功能以减小 Kubernetes 群集中容器的受攻击面。 此建议是旨在提高 Kubernetes 环境安全性的 CIS 5.2.8 和 CIS 5.2.9 的一部分。 此策略通常适用于 Kubernetes 服务 (AKS) 以及已启用 Azure Arc 的 Kubernetes 的预览版。 有关详细信息,请参阅 https://aka.ms/kubepolicydoc。 | audit、Audit、deny、Deny、disabled、Disabled | 6.1.0 |
Kubernetes 群集容器应只使用允许的映像 | 使用受信任注册表中的映像,以降低 Kubernetes 群集暴露于未知漏洞、安全问题和恶意映像的风险。 此策略通常适用于 Kubernetes 服务 (AKS) 以及已启用 Azure Arc 的 Kubernetes 的预览版。 有关详细信息,请参阅 https://aka.ms/kubepolicydoc。 | audit、Audit、deny、Deny、disabled、Disabled | 9.1.0 |
Kubernetes 群集容器只应使用允许的 ProcMountType | Pod 容器只能使用 Kubernetes 群集中允许的 ProcMountType。 此策略通常适用于 Kubernetes 服务 (AKS) 以及已启用 Azure Arc 的 Kubernetes 的预览版。 有关详细信息,请参阅 https://aka.ms/kubepolicydoc。 | audit、Audit、deny、Deny、disabled、Disabled | 8.1.1 |
Kubernetes 群集容器应仅使用允许的拉取策略 | 限制容器的拉取策略,以强制容器仅在部署上使用允许的映像 | Audit、Deny、Disabled | 3.1.0 |
Kubernetes 群集容器只应使用允许的 seccomp 配置文件 | Pod 容器只能使用 Kubernetes 群集中允许的 seccomp 配置文件。 此策略通常适用于 Kubernetes 服务 (AKS) 以及已启用 Azure Arc 的 Kubernetes 的预览版。 有关详细信息,请参阅 https://aka.ms/kubepolicydoc。 | audit、Audit、deny、Deny、disabled、Disabled | 7.1.1 |
Kubernetes 群集容器应使用只读根文件系统运行 | 运行使用只读根文件系统的容器,以防止在运行时发生更改而导致恶意二进制文件添加到 Kubernetes 群集中的 PATH。 此策略通常适用于 Kubernetes 服务 (AKS) 以及已启用 Azure Arc 的 Kubernetes 的预览版。 有关详细信息,请参阅 https://aka.ms/kubepolicydoc。 | audit、Audit、deny、Deny、disabled、Disabled | 6.1.0 |
Kubernetes 群集 Pod FlexVolume 卷只应使用允许的驱动程序 | Pod FlexVolume 卷只应使用 Kubernetes 群集中允许的驱动程序。 此策略通常适用于 Kubernetes 服务 (AKS) 以及已启用 Azure Arc 的 Kubernetes 的预览版。 有关详细信息,请参阅 https://aka.ms/kubepolicydoc。 | audit、Audit、deny、Deny、disabled、Disabled | 5.1.1 |
Kubernetes 群集 Pod hostPath 卷只应使用允许的主机路径 | 仅限将 Pod HostPath 卷装载到 Kubernetes 群集中允许的主机路径。 此策略通常适用于 Kubernetes 服务 (AKS) 以及已启用 Azure Arc 的 Kubernetes。 有关详细信息,请参阅 https://aka.ms/kubepolicydoc。 | audit、Audit、deny、Deny、disabled、Disabled | 6.1.1 |
Kubernetes 群集 Pod 和容器只应使用批准的用户 ID 和组 ID 运行 | 控制 Pod 和容器可以使用哪些用户、主要组、补充组和文件系统组 ID 在 Kubernetes 群集中运行。 此策略通常适用于 Kubernetes 服务 (AKS) 以及已启用 Azure Arc 的 Kubernetes 的预览版。 有关详细信息,请参阅 https://aka.ms/kubepolicydoc。 | audit、Audit、deny、Deny、disabled、Disabled | 6.1.1 |
Kubernetes 群集 Pod 和容器只应使用允许的 SELinux 选项 | Pod 和容器只应使用 Kubernetes 群集中允许的 SELinux 选项。 此策略通常适用于 Kubernetes 服务 (AKS) 以及已启用 Azure Arc 的 Kubernetes 的预览版。 有关详细信息,请参阅 https://aka.ms/kubepolicydoc。 | audit、Audit、deny、Deny、disabled、Disabled | 7.1.1 |
Kubernetes 群集 Pod 只应使用允许的卷类型 | Pod 只能使用 Kubernetes 群集中允许的卷类型。 此策略通常适用于 Kubernetes 服务 (AKS) 以及已启用 Azure Arc 的 Kubernetes 的预览版。 有关详细信息,请参阅 https://aka.ms/kubepolicydoc。 | audit、Audit、deny、Deny、disabled、Disabled | 5.1.1 |
Kubernetes 群集 Pod 只应使用批准的主机网络和端口范围 | 限制 Pod 在 Kubernetes 群集中对主机网络和允许的主机端口范围的访问。 此建议是旨在提高 Kubernetes 环境安全性的 CIS 5.2.4 的一部分。 此策略通常适用于 Kubernetes 服务 (AKS) 以及已启用 Azure Arc 的 Kubernetes 的预览版。 有关详细信息,请参阅 https://aka.ms/kubepolicydoc。 | audit、Audit、deny、Deny、disabled、Disabled | 6.1.0 |
Kubernetes 群集 Pod 应使用指定的标签 | 使用指定的标签来标识 Kubernetes 群集中的 Pod。 此策略通常适用于 Kubernetes 服务 (AKS) 以及已启用 Azure Arc 的 Kubernetes 的预览版。 有关详细信息,请参阅 https://aka.ms/kubepolicydoc。 | audit、Audit、deny、Deny、disabled、Disabled | 7.1.0 |
Kubernetes 群集服务应只侦听允许的端口 | 将服务限制为只侦听允许的端口,以确保对 Kubernetes 群集进行的访问安全。 此策略通常适用于 Kubernetes 服务 (AKS) 以及已启用 Azure Arc 的 Kubernetes 的预览版。 有关详细信息,请参阅 https://aka.ms/kubepolicydoc。 | audit、Audit、deny、Deny、disabled、Disabled | 8.1.0 |
Kubernetes 群集服务只应使用允许的外部 IP | 使用允许的外部 IP 避免 Kubernetes 群集中的潜在攻击 (CVE-2020-8554)。 有关详细信息,请参阅 https://aka.ms/kubepolicydoc。 | audit、Audit、deny、Deny、disabled、Disabled | 5.1.0 |
Kubernetes 群集不应允许特权容器 | 不允许在 Kubernetes 群集中创建特权容器。 此建议是旨在提高 Kubernetes 环境安全性的 CIS 5.2.1 的一部分。 此策略通常适用于 Kubernetes 服务 (AKS) 以及已启用 Azure Arc 的 Kubernetes 的预览版。 有关详细信息,请参阅 https://aka.ms/kubepolicydoc。 | audit、Audit、deny、Deny、disabled、Disabled | 9.1.0 |
Kubernetes 群集不应使用裸 Pod | 阻止使用裸 Pod。 如果节点发生故障,将不会重新计划裸 Pod。 Pod 应由 Deployment、Replicset、Daemonset 或 Jobs 进行管理 | Audit、Deny、Disabled | 2.1.0 |
Kubernetes 群集 Windows 容器不应过度使用 CPU 和内存 | Windows 容器资源请求应小于或等于资源限制,或者不指定以避免过度提交。 如果过度预配了 Windows 内存,则会在磁盘中处理页面(这会降低性能),而不会因内存不足而终止容器 | Audit、Deny、Disabled | 2.1.0 |
Kubernetes 群集 Windows 容器不应按 ContainerAdministrator 运行 | 防止使用 ContainerAdministrator 作为用户来执行 Windows Pod 或容器的容器进程。 此建议旨在提高 Windows 节点的安全性。 有关更多信息,请参见https://kubernetes.io/docs/concepts/windows/intro/。 | Audit、Deny、Disabled | 1.1.0 |
Kubernetes 群集 Windows 容器应仅使用已批准的用户和域用户组运行 | 控制 Windows Pod 和容器可用于在 Kubernetes 群集中运行的用户。 此建议是 Windows 节点上 Pod 安全策略的一部分,旨在提高 Kubernetes 环境的安全性。 | Audit、Deny、Disabled | 2.1.0 |
Kubernetes 群集应只可通过 HTTPS 进行访问 | 使用 HTTPS 可确保执行身份验证,并保护传输中的数据不受网络层窃听攻击威胁。 此功能目前已面向 Kubernetes 服务 (AKS) 正式发布,并面向已启用 Azure Arc 的 Kubernetes 提供预览版。 有关详细信息,请访问 https://aka.ms/kubepolicydoc | audit、Audit、deny、Deny、disabled、Disabled | 8.1.0 |
Kubernetes 群集应禁用自动装载 API 凭据 | 禁用自动装载 API 凭据,以防止可能泄露的 Pod 资源对 Kubernetes 群集运行 API 命令。 有关详细信息,请参阅 https://aka.ms/kubepolicydoc。 | audit、Audit、deny、Deny、disabled、Disabled | 4.1.0 |
Kubernetes 群集不得允许容器特权提升 | 不允许容器使用特权提升运行,从而进入 Kubernetes 群集的根。 此建议是旨在提高 Kubernetes 环境安全性的 CIS 5.2.5 的一部分。 此策略通常适用于 Kubernetes 服务 (AKS) 以及已启用 Azure Arc 的 Kubernetes 的预览版。 有关详细信息,请参阅 https://aka.ms/kubepolicydoc。 | audit、Audit、deny、Deny、disabled、Disabled | 7.1.0 |
Kubernetes 群集不应允许终结点编辑 ClusterRole/system:aggregate-to-edit 的权限 | 由于“CVE-2021-25740:终结点和 EndpointSlice 权限允许跨命名空间转发 https://github.com/kubernetes/kubernetes/issues/103675”问题,ClusterRole/system:aggregate-to-edit 不应允许终结点编辑权限。 此策略通常适用于 Kubernetes 服务 (AKS) 以及已启用 Azure Arc 的 Kubernetes 的预览版。 有关详细信息,请参阅 https://aka.ms/kubepolicydoc。 | Audit、Disabled | 3.1.0 |
Kubernetes 群集不应授予 CAP_SYS_ADMIN 安全功能 | 为了减小容器的受攻击面,请限制 CAP_SYS_ADMIN Linux 功能。 有关详细信息,请参阅 https://aka.ms/kubepolicydoc。 | audit、Audit、deny、Deny、disabled、Disabled | 5.1.0 |
Kubernetes 群集不应使用特定的安全功能 | 阻止 Kubernetes 群集中特定的安全功能,以防止 Pod 资源上未授予的权限。 有关详细信息,请参阅 https://aka.ms/kubepolicydoc。 | audit、Audit、deny、Deny、disabled、Disabled | 5.1.0 |
Kubernetes 群集不应使用默认命名空间 | 防止在 Kubernetes 群集中使用默认命名空间,以防止对 ConfigMap、Pod、Secret、Service 和 ServiceAccount 资源类型进行的未经授权的访问。 有关详细信息,请参阅 https://aka.ms/kubepolicydoc。 | audit、Audit、deny、Deny、disabled、Disabled | 4.1.0 |
Kubernetes 群集应使用容器存储接口 (CSI) 驱动程序 StorageClass | 容器存储接口 (CSI) 是有关在 Kubernetes 上的容器化工作负载中公开任意块和文件存储系统的一套标准。 自 AKS 版本 1.21 起,应弃用树内预配器 StorageClass。 若要了解详细信息,请访问以下链接:https://aka.ms/aks-csi-driver | Audit、Deny、Disabled | 2.1.0 |
Kubernetes 资源应具有所需的注释 | 确保对给定的 Kubernetes 资源类型附加所需的注释,以改进 Kubernetes 资源的资源管理。 此策略通常适用于 Kubernetes 服务 (AKS) 以及已启用 Azure Arc 的 Kubernetes 的预览版。 有关详细信息,请参阅 https://aka.ms/kubepolicydoc。 | Audit、Deny、Disabled | 3.1.0 |
后续步骤
- 在 Azure Policy GitHub 存储库中查看这些内置项。
- 查看 Azure Policy 定义结构。
- 了解 Azure Policy 定义效果。