- Published on
DevSecOps: Sau khi ký Docker Image, bước CD làm gì tiếp theo?
- Authors
- Name
- Bạch Đăng Tuấn
- Occupation
- Kỹ sư công nghệ thông tin
- Zalo: 0934.01.07.04
🚀 Sau khi ký Docker image, bước CD làm gì tiếp theo?
Trong DevSecOps, sau khi bạn đã ký image bằng Cosign hoặc Sigstore, thì bước tiếp theo trong CD (Continuous Deployment) là:
✅ Xác minh chữ ký (verify signature) trước khi deploy.
📦 Vì sao phải verify signature?
- Đảm bảo chỉ image đã được ký hợp lệ mới được deploy.
- Tránh deploy nhầm image bị chỉnh sửa, gắn mã độc.
- Gắn thêm một lớp bảo mật cho pipeline CI/CD.
🔐 Giai đoạn CD sau khi ký image
Sơ đồ logic:
[Build & Sign image] ✅ đã ký bằng Cosign
↓
[Push image lên registry]
↓
[CD Pipeline chạy - ArgoCD / Flux / GitLab]
↓
🔍 **Verify chữ ký image**
↓
✅ Nếu OK → Deploy ra Kubernetes
❌ Nếu FAIL → Từ chối deploy
🔧 Cách verify chữ ký trước khi deploy
cosign verify
trong pipeline hoặc policy
✅ Dùng cosign verify --key cosign.pub myrepo/myapp:v1
- Nếu chữ ký hợp lệ → Trả về thông tin người ký.
- Nếu chữ ký sai hoặc không tồn tại → Báo lỗi, dừng pipeline.
🛡️ Kiểm soát bằng chính sách (Policy Enforcement)
Bạn có thể tự động từ chối image không hợp lệ bằng cách:
1. ✅ Dùng Kyverno (Kubernetes policy engine)
apiVersion: kyverno.io/v1
kind: ClusterPolicy
metadata:
name: verify-image-signature
spec:
validationFailureAction: enforce
rules:
- name: check-image-signed
match:
resources:
kinds:
- Pod
verifyImages:
- image: "myrepo/*"
key: "cosign.pub"
attestations:
- name: cosign
👉 Kyverno sẽ kiểm tra chữ ký khi bạn apply manifest (trước cả khi Pod chạy).
2. ✅ Dùng OPA/Gatekeeper
- Viết Rego rule kiểm tra field image hoặc annotation
- Block nếu không hợp lệ
🧠 Tổng kết
Việc cần làm sau khi ký image | Mục tiêu |
---|---|
Xác minh chữ ký bằng Cosign | Đảm bảo image chưa bị sửa đổi |
Áp dụng policy trong Kubernetes | Tự động chặn image không hợp lệ |
Dùng Kyverno / OPA | Chính sách kiểm soát CI/CD |
📚 Tài nguyên
- https://docs.sigstore.dev
- https://kyverno.io/policies
- https://www.openpolicyagent.org
- https://cosign.dev
Tóm lại:
🛡️ Ký image chưa đủ – bạn cần verify và chặn deploy nếu không đúng chuẩn.
Đó chính là cách DevSecOps giúp bạn xây dựng hệ thống an toàn, tự động, thông minh. 🚀