你正在查看的文档所针对的是 Kubernetes 版本: v1.31

Kubernetes v1.31 版本的文档已不再维护。你现在看到的版本来自于一份静态的快照。如需查阅最新文档,请点击 最新版本。

审计注解

该页面作为 kubernetes.io 名字空间的审计注解的参考。这些注解适用于 API 组 audit.k8s.io 中的 Event 对象。

k8s.io/deprecated

例子:k8s.io/deprecated: "true"

必须为 "true" 或 "false"。值为 "true" 时表示该请求使用了已弃用的 API 版本。

k8s.io/removed-release

例子:k8s.io/removed-release: "1.22"

必须为 "." 的格式。当请求使用了已弃用的 API 版本时, 该值会被设置为目标移除的版本。

pod-security.kubernetes.io/exempt

例子:pod-security.kubernetes.io/exempt: namespace

必须是对应于 Pod 安全豁免维度的 usernamespaceruntimeClass 之一。 此注解指示 PodSecurity 基于哪个维度的强制豁免执行。

pod-security.kubernetes.io/enforce-policy

例子:pod-security.kubernetes.io/enforce-policy: restricted:latest

必须是对应于 Pod 安全标准级别的 privileged:<版本>baseline:<版本>restricted:<版本>, 关联的版本必须latest 或格式为 v<MAJOR>.<MINOR> 的有效 Kubernetes 版本。 此注解通知有关在 PodSecurity 准入期间允许或拒绝 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 安全标准级别以及 PodSecurity 执行中违反的特定策略及对应字段。

有关详细信息,请参阅 Pod 安全标准

authorization.k8s.io/decision

例子:authorization.k8s.io/decision: "forbid"

值必须是 forbid 或者 allow。 此注解在 Kubernetes 审计日志中表示请求是否获得授权。

有关详细信息,请参阅审计

authorization.k8s.io/reason

例子:authorization.k8s.io/reason: "Human-readable reason for the decision"

此注解给出了 Kubernetes 审计日志中 decision 的原因。

有关详细信息,请参阅审计

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 中的 policybindingexpressionIndex 分别标识了 ValidatingAdmissionPolicy 的名称、 ValidatingAdmissionPolicyBinding 的名称以及失败的 CEL 表达式在策略 validations 中的索引。

validationActions 显示针对此验证失败采取的操作。 有关 validationActions 的更多详细信息, 请参阅验证准入策略

最后修改 October 05, 2024 at 11:44 AM PST: [zh-cn] sync reference/audit-annotations.md (910578d81c)