CHƯƠNG 17 · Kubernetes Supply Chain Security•BÀI 67 / 80

Pod Security & Kyverno Admission

Chặn Pod nguy hiểm trước khi scheduler tạo workload.

Bảo mật◷ 4 phút đọc3/4 trong chương

Nắm bản chất

Pod Security Admission dùng namespace labels enforce/audit/warn theo mức privileged, baseline hoặc restricted. Kyverno bổ sung Policy-as-Code; với Kyverno 1.19, ValidatingPolicy/NamespacedValidatingPolicy và ImageValidatingPolicy APIs mới được ưu tiên so với legacy policies.

Admission chỉ kiểm tra request tạo/cập nhật; không tự xóa mọi Pods đã tồn tại. Triển khai policy từ Audit trước Deny để đo ảnh hưởng. Enforcement phụ thuộc đúng namespace, match constraints và admission controller health.

Luồng hoạt động

API request→PSA/Kyverno→accept/reject

Hãy tự giải thích mỗi mũi tên: dữ liệu, quyền hoặc tín hiệu nào được truyền qua bước này?

Lệnh & cấu hình mẫu

apiVersion: v1
kind: Namespace
metadata:
  name: security17
  labels:
    pod-security.kubernetes.io/enforce: restricted
    pod-security.kubernetes.io/audit: restricted
    pod-security.kubernetes.io/warn: restricted
kubectl create --dry-run=server -f k8s/negative/01-privileged-pod.yaml

Lệnh có placeholder hoặc phụ thuộc môi trường thì cần thay thông tin thực tế, kiểm tra quyền và chỉ thực hiện trên tài nguyên được phép.

Bài tập 10–20 phút

✳

Chạy Kind security lab Buổi 17: privileged Pod phải bị PSA từ chối; :latest và thiếu owner label bị Kyverno từ chối.

Lỗi dễ mắc

!

Kyverno ImageValidatingPolicy ví dụ cần signer identities, registry permissions và match rules thật; không áp dụng Deny lên production khi còn placeholders.

Tự kiểm tra

Kubernetes Pod Security Admission có kiểm tra image Cosign signature không?Xem đáp án ↗

Không. Cần image verification mechanism như Kyverno ImageValidatingPolicy.

TÀI NGUYÊN ĐI KÈM

Học thêm qua lab

Có project thực hành đúng với chương này, kèm README và những giới hạn môi trường cần lưu ý.

↓ Tải mã nguồn thực hành chương 17
NGUỒN CHÍNH THỨC

Đối chiếu tài liệu gốc

Cú pháp và khả năng hỗ trợ có thể thay đổi theo phiên bản. Trước khi dùng Production, hãy kiểm tra tài liệu tương ứng.

Mở tài liệu chính thức ↗