稽核註解
此頁面作為 kubernetes.io 命名空間的稽核註解參考。這些註解適用於來自 API 群組 audit.k8s.io
的 Event
物件。
注意
以下註解未在 Kubernetes API 中使用。當您在叢集中啟用稽核時,稽核事件資料會使用來自 API 群組audit.k8s.io
的 Event
寫入。這些註解適用於稽核事件。稽核事件與 Event API(API 群組 events.k8s.io
)中的物件不同。k8s.io/deprecated
範例:k8s.io/deprecated: "true"
值必須為 "true" 或 "false"。值 "true" 表示請求使用了已棄用的 API 版本。
k8s.io/removed-release
範例:k8s.io/removed-release: "1.22"
值必須為 "
pod-security.kubernetes.io/exempt
範例:pod-security.kubernetes.io/exempt: namespace
值必須為 user
、namespace
或 runtimeClass
其中之一,這些值對應於 Pod 安全豁免 維度。此註解指示豁免 PodSecurity 強制執行所依據的維度。
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 版本。此註解告知關於在 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 稽核日誌中 決策 的原因。
有關更多資訊,請參閱 稽核。
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
的更多詳細資訊,請參閱驗證許可政策。