CHƯƠNG 16 · Istio Ambient & Zero Trust•BÀI 62 / 80

SPIFFE identity, STRICT mTLS và L4 policy

Identity xác thực thành công không có nghĩa có đủ quyền.

Mạng nâng cao◷ 4 phút đọc2/4 trong chương

Nắm bản chất

Istio có thể biểu diễn workload identity dạng spiffe://cluster.local/ns/shop/sa/web-sa. PeerAuthentication STRICT dùng để yêu cầu mTLS-compatible incoming traffic cho những workloads phù hợp. AuthorizationPolicy L4 kiểm tra source principals/ports tại ztunnel.

Bài lab đưa cả Web và Intruder vào mesh; sau đó chỉ cho identity Web gọi Payments. Nhờ vậy bài kiểm tra chứng minh authorization thay vì đơn thuần chặn mọi client không có mTLS.

Luồng hoạt động

ServiceAccount→SPIFFE→mTLS→policy

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: security.istio.io/v1
kind: AuthorizationPolicy
metadata:
  name: payments-only-web
  namespace: shop
spec:
  selector:
    matchLabels: {app: payments}
  action: ALLOW
  rules:
  - from:
    - source:
        principals: [cluster.local/ns/shop/sa/web-sa]
    to:
    - operation:
        ports: ['8080']

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

✳

Thực hành policy L4 Buổi 16: so sánh Web→Payments và Intruder→Payments sau khi enroll. Dùng istioctl ztunnel-config workloads để xác minh HBONE.

Lỗi dễ mắc

!

Đừng dùng workload labels thay thế identity-based authorization nếu một user có quyền tự đặt labels tùy ý.

Tự kiểm tra

mTLS xác thực được web-sa rồi có tự cho phép gọi mọi đường dẫn Payments không?Xem đáp án ↗

Không. AuthorizationPolicy phải kiểm soát quyền; L4 không phân biệt HTTP methods/paths.

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 16
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 ↗