审计注释
此页面用作 kubernetes.io 命名空间的审计注释的参考。这些注释适用于来自 API 组 audit.k8s.io
的 Event
对象。
注意
以下注释未在 Kubernetes API 中使用。当您在集群中 启用审计 时,审计事件数据使用来自 API 组audit.k8s.io
的 Event
进行写入。这些注释适用于审计事件。审计事件不同于 事件 API (API 组 events.k8s.io
) 中的对象。pod-security.kubernetes.io/exempt
示例:pod-security.kubernetes.io/exempt: namespace
值**必须**是 user
、namespace
或 runtimeClass
之一,它们对应于 Pod 安全豁免 维度。此注释指示 Pod 安全强制执行的豁免基于哪个维度。
pod-security.kubernetes.io/enforce-policy
示例:pod-security.kubernetes.io/enforce-policy: restricted:latest
值**必须**是 privileged:<version>
、baseline:<version>
、restricted:<version>
,它们对应于 Pod 安全标准 级别,并附带一个版本,该版本**必须**是 latest
或格式为 v<MAJOR>.<MINOR>
的有效 Kubernetes 版本。此注释通知在 Pod 安全准入期间允许或拒绝 Pod 的强制执行级别。
有关更多信息,请参阅 Pod 安全标准。
pod-security.kubernetes.io/audit-violations
示例:pod-security.kubernetes.io/audit-violations: would violate PodSecurity "restricted:latest": allowPrivilegeEscalation != false (container "example" must set securityContext.allowPrivilegeEscalation=false), ...
值详细说明了审计策略违规,它包含了被违反的 Pod 安全标准 级别,以及从 Pod 安全强制执行中违反的字段上的特定策略。
有关更多信息,请参阅 Pod 安全标准。
authorization.k8s.io/decision
示例:authorization.k8s.io/decision: "forbid"
此注释指示 Kubernetes 审计日志中请求是否已授权。
有关更多信息,请参阅 审计。
authorization.k8s.io/reason
示例:authorization.k8s.io/reason: "Human-readable reason for the decision"
此注释在 Kubernetes 审计日志中提供 决策 的原因。
有关更多信息,请参阅 审计。
missing-san.invalid-cert.kubernetes.io/$hostname
示例:missing-san.invalid-cert.kubernetes.io/example-svc.example-namespace.svc: "relies on a legacy Common Name field instead of the SAN extension for subject validation"
由 Kubernetes 版本 v1.24 及更高版本使用
此注释指示 webhook 或聚合 API 服务器正在使用缺少 subjectAltNames
的无效证书。对这些证书的支持在 Kubernetes 1.19 中默认情况下被禁用,并在 Kubernetes 1.23 中被删除。
对使用这些证书的端点的请求将失败。使用这些证书的服务应尽快替换它们,以避免在 Kubernetes 1.23+ 环境中运行时出现中断。
有关此方面的更多信息,请参阅 Go 文档:X.509 CommonName 弃用。
insecure-sha1.invalid-cert.kubernetes.io/$hostname
示例:insecure-sha1.invalid-cert.kubernetes.io/example-svc.example-namespace.svc: "uses an insecure SHA-1 signature"
由 Kubernetes 版本 v1.24 及更高版本使用
此注释指示 webhook 或聚合 API 服务器正在使用使用 SHA-1 哈希签名的不安全证书。对这些不安全证书的支持在 Kubernetes 1.24 中默认情况下被禁用,并将从将来的版本中删除。
使用这些证书的服务应尽快替换它们,以确保连接得到正确保护,并避免在将来的版本中出现中断。
有关此方面的更多信息,请参阅 Go 文档:拒绝 SHA-1 证书。
validation.policy.admission.k8s.io/validation_failure
示例:validation.policy.admission.k8s.io/validation_failure: '[{"message": "Invalid value", {"policy": "policy.example.com", {"binding": "policybinding.example.com", {"expressionIndex": "1", {"validationActions": ["Audit"]}]'
由 Kubernetes 版本 v1.27 及更高版本使用。
此注释指示准入策略验证对 API 请求的评估结果为 false,或者验证在策略配置为 failurePolicy: Fail
时导致错误。
注释的值是一个 JSON 对象。JSON 中的 message
提供有关验证失败的消息。
JSON 中的 policy
、binding
和 expressionIndex
分别标识 ValidatingAdmissionPolicy
的名称、ValidatingAdmissionPolicyBinding
的名称以及策略 validations
中失败的 CEL 表达式的索引。
validationActions
显示对该验证失败采取了哪些操作。有关 validationActions
的更多详细信息,请参阅 验证准入策略。