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

Waypoint L7 và chống bypass

Chính sách HTTP chỉ có ích nếu không thể đi vòng proxy.

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

Nắm bản chất

Ambient L7 AuthorizationPolicy cho waypoint sử dụng targetRefs gắn với Service/Resource thích hợp. Cho phép GET /public, POST /pay, từ chối GET /admin là ví dụ điển hình.

Khi waypoint kết nối tới destination ztunnel, identity ở L4 phía đích là waypoint, không phải Web. Do đó L4 policy cũ chỉ cho web-sa có thể chặn traffic hợp lệ. Một require-waypoint L4 policy cho phép waypoint identity sẽ giúp ngăn direct Pod-IP bypass; chính sách L7 vẫn kiểm tra source workload principal bên trong waypoint.

Luồng hoạt động

Web→waypoint L7→ztunnel→Payments

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-l7, namespace: shop}
spec:
  targetRefs:
  - {group: '', kind: Service, name: payments}
  action: ALLOW
  rules:
  - from:
    - source: {principals: [cluster.local/ns/shop/sa/web-sa]}
    to:
    - operation: {methods: [GET], paths: [/public]}

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 script chuyển policy 05_waypoint_l7.sh của Buổi 16. Xác minh Web GET /public 200, GET /admin 403 và direct bypass bị chặn.

Lỗi dễ mắc

!

L4 policy và L7 policy cần migrate theo đúng trình tự; cập nhật một phần có thể gây gián đoạn. Kiểm tra Gateway Programmed trước khi chuyển.

Tự kiểm tra

Vì sao giữ L4 policy chỉ web-sa sau khi thêm waypoint có thể làm lỗi dịch vụ?Xem đáp án ↗

Vì destination ztunnel nhìn thấy identity của waypoint trên chặng cuối, không còn trực tiếp web-sa.

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 ↗