16.3. 关于 Pod 安全准入警报


当 Kubernetes API 服务器报告 pod 安全准入控制器的审计级别时,会触发 PodSecurityViolation 警报。此警报持续一天。

查看 Kubernetes API 服务器审计日志,以调查触发的警报。例如,如果将全局执行设置为 restricted pod 安全级别,工作负载可能会出现故障。

如需有关识别 Pod 安全准入违反审计事件的帮助,请参阅 Kubernetes 文档中的 Audit 注解

16.3.1. 识别 pod 安全违反情况

PodSecurityViolation 警报不会提供导致 pod 安全漏洞的工作负载的详情。您可以通过查看 Kubernetes API 服务器审计日志来识别受影响的工作负载。此流程使用 must-gather 工具来收集审计日志,然后搜索 pod-security.kubernetes.io/audit-violations 注解。

先决条件

  • 您已安装了 jq
  • 您可以使用具有 cluster-admin 角色的用户访问集群。

流程

  1. 要收集审计日志,请输入以下命令:

    $ oc adm must-gather -- /usr/bin/gather_audit_logs
  2. 要输出受影响的工作负载详情,请输入以下命令:

    $ zgrep -h pod-security.kubernetes.io/audit-violations must-gather.local.<archive_id>/quay*/audit_logs/kube-apiserver/*log.gz \
      | jq -r 'select((.annotations["pod-security.kubernetes.io/audit-violations"] != null) and (.objectRef.resource=="pods")) | .objectRef.namespace + " " + .objectRef.name + " " + .objectRef.resource' \
      | sort | uniq -c

    must-gather.local.<archive_id> 替换为实际目录名称。

    输出示例

    15 ci namespace-ttl-controller deployments
     1 ci-op-k5whzrsh rpm-repo-546f98d8b replicasets
     1 ci-op-k5whzrsh rpm-repo deployments

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.