Mental model 4 tầng: Client, Identity, Policy, Resource

Khung tư duy cho mọi tính năng Cloudflare One: mỗi request đi qua 4 tầng sinh tín hiệu, policy đánh giá rồi đi tới 1 trong 5 kết quả. Triển khai và truy nguyên dễ hơn nhiều.

· 17 phút đọc · Read in English
Mental model 4 tầng của Cloudflare One — Client → Identity → Policy → Resource — mỗi tầng sinh tín hiệu, policy tổng hợp rồi đi tới 5 kết quả: allow, block, conditional, step-up MFA, RBI

TL;DR

Mọi request đi qua Cloudflare One đều trải qua 4 tầng theo thứ tự cố định: Client → Identity → Policy → Resource.

  • Tầng 1 (Client) sinh ra tín hiệu về device, browser, posture, network context.
  • Tầng 2 (Identity) trả lời “who are you”: user, group, role, MFA method, lifecycle state.
  • Tầng 3 (Policy) đánh giá tín hiệu từ hai tầng trên, ra một trong 5 kết quả: allow, block, allow-with-conditions, step-up MFA, isolate (RBI).
  • Tầng 4 (Resource) là đích: ứng dụng nội bộ qua Tunnel, SaaS, Internet, hoặc browser render từ xa (RBI).

Luận điểm chính:

Khi bạn đang cấu hình một tính năng Cloudflare One hoặc truy nguyên một sự cố, việc đầu tiên cần hỏi là: tầng nào? Câu trả lời sẽ chỉ thẳng bạn tới đúng dashboard, đúng log, đúng người phụ trách, đúng cách sửa.

Bài này là Part 3 của Cloudflare One Handbook, và là mô hình tư duy bạn sẽ gặp lại trong mọi bài sau.


Dành cho ai

  • Kỹ sư bảo mật và kỹ sư nền tảng chuẩn bị cấu hình Access, Gateway, Tunnel, WARP.
  • Trưởng nhóm IT cần khung chung để thảo luận với nhà cung cấp/tư vấn/nhóm nội bộ.
  • Bất kỳ ai đã đọc Part 1-2 nhưng chưa biết bắt đầu từ đâu khi nhìn dashboard Cloudflare Zero Trust.

Bạn nên đã đọc:

Sau bài này, bạn sẽ có:

  • Danh mục tín hiệu cụ thể sinh ra ở mỗi tầng: không phải khái niệm chung, mà tên field thật.
  • Hiểu 5 kết quả khả dĩ khi đánh giá chính sách.
  • Bảng ánh xạ “triệu chứng → tầng nào → kiểm tra đâu” để truy nguyên nhanh.
  • Nguyên tắc thiết kế khi chính sách phải kết hợp tín hiệu từ nhiều tầng.
  • Cách quyết định tầng nào phụ trách cái gì khi nhóm lớn.

Bài này không nói về gì

Bài này chưa đi sâu vào từng sản phẩm cụ thể (thiết lập Access, cú pháp chính sách Gateway, cấu hình Tunnel). Những phần đó ở Part 4 trở đi.

Bài này cũng không phải NIST SP 800-207 dịch ra tiếng Việt. NIST có lớp trừu tượng khác (PE, PA, PEP), tốt cho tài liệu tuân thủ, không tiện khi cấu hình thực tế trên dashboard Cloudflare. Mô hình tư duy 4 tầng ở đây đơn giản hơn và ánh xạ trực tiếp với cách Cloudflare tổ chức UI + API.


Vì sao cần một mô hình tư duy?

Dashboard Cloudflare Zero Trust có hơn 30 mục menu khác nhau. Nếu bạn tiếp cận theo kiểu “thử hết” hoặc “cài cái này trước vì thấy tên hay”, rất dễ:

  • Bật WARP trước khi có IdP rõ ràng: chính sách sau này phải viết dựa trên IP thay vì nhóm.
  • Tạo Access application trước khi bật device posture: chính sách không xác minh được thiết bị.
  • Viết chính sách Gateway HTTP trước khi xác định identity provider: rule chỉ lọc theo URL, không theo nhóm người dùng.
  • Truy nguyên lỗi “người dùng không vào được ứng dụng” nhưng không biết log nào cần kiểm tra: đi một vòng giữa log WARP, log IdP, Access audit, log Tunnel, log origin.

Mô hình tư duy 4 tầng giải quyết cả hai bài toán:

  1. Triển khai theo thứ tự, xây từ tầng dưới lên: identity sạch trước, chính sách sau.
  2. Truy nguyên theo tầng, triệu chứng nào gần tầng nào, kiểm tra dashboard tương ứng.

Bốn tầng: nhìn tổng quan

Nhắc lại mô hình tư duy ở Part 1 (đây là anchor của toàn series, sẽ gặp lại nhiều lần):

Request path qua 4 tầng Cloudflare One, Client, Identity, Policy, Resource

Mỗi tầng có 3 thuộc tính quan trọng:

Thuộc tínhÝ nghĩa
Tín hiệuDữ liệu mà tầng này sinh ra / cung cấp cho tầng sau
Quyết địnhQuyết định nào xảy ra tại tầng này (nếu có)
Người phụ tráchNhóm nào chịu trách nhiệm cấu hình / vận hành tầng này

Ba thuộc tính này khác nhau ở mỗi tầng, đó là lý do tầng 2 không thể chồng chéo với tầng 3, và người phụ trách tầng 4 thường không trùng với người phụ trách tầng 2.


Tầng 1: Client

Tín hiệu sinh ra: mọi thứ về thiết bị, browser, và trạng thái kết nối tại thời điểm request.

Tầng 1, Client: Device identity, Posture signals, Network context, Session state

Những tín hiệu đáng chú ý

  • Danh tính thiết bị: serial number, UUID, phiên bản OS, đã join domain, client certificate. WARP gửi lên khi thiết bị đã enroll; cloudflared gửi lên khi connector bắt đầu.
  • Tín hiệu posture: mã hóa ổ đĩa, firewall, EDR (CrowdStrike/SentinelOne/Defender), bản vá OS, khóa màn hình, tuân thủ MDM. Đây là điểm khác biệt của ZTNA so với VPN: VPN không hỏi những câu này.
  • Network context: source IP, quốc gia, ASN, WARP được bật, trạng thái split tunnel. Dùng cho rule “chỉ allow từ managed network” hoặc “chặn traffic từ quốc gia rủi ro cao”.
  • Trạng thái session: user agent, TLS fingerprint (JA3/JA4), client certificate, cookies. Quan trọng cho chống bot và phát hiện lạm dụng API.

Sản phẩm Cloudflare ở tầng này

  • WARP client (Cloudflare One Client): agent trên laptop, điện thoại. Thu thập posture + định tuyến traffic vào edge.
  • cloudflared: daemon cho tunnel phía server. Tự định danh bằng tunnel token.
  • Browser: khi người dùng truy cập yourapp.example.com từ browser thường, không qua WARP. Access vẫn chạy nhưng tín hiệu giới hạn (không có posture).

Quyết định nào xảy ra?

Không có quyết định tại đây. Tầng 1 chỉ gửi tín hiệu lên. Thực thi chính sách hoàn toàn ở tầng 3. Điều này quan trọng: đừng kỳ vọng WARP client “chặn” thứ gì, nó chỉ thu thập và chuyển tiếp. Nếu bạn muốn áp dụng (ví dụ “chặn nếu ổ đĩa chưa mã hóa”), rule phải ở chính sách Gateway/Access (tầng 3).

Người phụ trách

Thường là nhóm IT/Endpoint, họ quản managed device, triển khai MDM, định nghĩa baseline posture. Không phải nhóm bảo mật thuần túy, không phải nhóm network.

Khi nào tầng 1 là nút thắt cổ chai?

  • Chưa có thiết bị managed: ví dụ nhân sự thuê ngoài dùng laptop cá nhân. Không có posture → chính sách Access không verify được → phải dùng phương án dự phòng là device cert hoặc yêu cầu MFA bổ sung.
  • WARP chưa triển khai xong: traffic đi ngoài WARP không có tín hiệu tầng 1. Chính sách Gateway không lọc được.
  • Tình huống BYOD: chỉ truy cập qua browser, không có client. Chỉ có tín hiệu session, không có thiết bị.

Tầng 2: Identity

Tín hiệu sinh ra: mọi thứ về user, đến từ IdP qua OIDC/SAML/SCIM.

Tầng 2, Identity: User attributes, Group membership, Auth method, Lifecycle state

Những tín hiệu đáng chú ý

  • Thuộc tính người dùng: email, username, loại nhân viên, manager, cost center. Claim từ IdP (Okta/Entra/Google). Chính sách có thể neo trên bất kỳ claim nào Cloudflare nhận được.
  • Thành viên nhóm: nhóm bảo mật, dept, role. Đây là neo chính cho 80% chính sách. Chất lượng nhóm quyết định chất lượng chính sách.
  • Phương thức xác thực: password, loại MFA (TOTP/SMS/FIDO2), kết quả Conditional Access, tuổi session MFA. Chính sách có thể yêu cầu “phải có FIDO2 trong 24h qua” cho ứng dụng nhạy cảm.
  • Trạng thái vòng đời: active/disabled, điểm rủi ro từ IdP (Entra ID trả về), các lần đăng nhập thất bại gần đây, trạng thái offboarding. SCIM sync đưa trạng thái này lên thời gian thực (< 1 phút) nếu cấu hình đúng.

Sản phẩm Cloudflare ở tầng này

  • Tích hợp IdP: Cloudflare Access connector với Okta, Entra ID, Google Workspace, SAML chung, OIDC chung, GitHub, AD, one-time PIN.
  • Cấp phát SCIM: đồng bộ thành viên nhóm tự động khi user đổi nhóm ở IdP.
  • Tương quan device posture: không phải tín hiệu tầng 2 nhưng Cloudflare Access cho phép kết hợp với identity trong cùng rule.

Quyết định nào xảy ra?

Xác thực (authentication) xảy ra ở đây, IdP verify password/MFA và trả assertion về Cloudflare. Nhưng cấp quyền (authorization) thì ở tầng 3. Phân biệt rõ:

  • Tầng 2: “Bạn có phải alice@example.com không?” → IdP trả lời.
  • Tầng 3: “Alice có được vào gitlab.internal không?” → chính sách Access trả lời.

Người phụ trách

Thường là nhóm IAM hoặc nhóm Identity engineering. Không phải nhóm bảo mật chung. Ở tổ chức nhỏ hơn, đây có thể là IT manager kiêm nhiệm.

Khi nào tầng 2 là nút thắt cổ chai?

  • Nhóm bẩn: nhóm Engineering có 200 người nhưng 30 người không còn ở engineering. Chính sách dựa vào nhóm này sẽ fail open.
  • Trễ SCIM: người dùng thôi việc ở IdP 9h sáng nhưng Cloudflare chưa sync tới 12h trưa. Trong 3h đó, token cũ vẫn hiệu lực. Bài Part 7 sẽ đi sâu vấn đề này.
  • Ánh xạ claim sai: IdP gửi claim department nhưng rule Cloudflare dùng dept. Rule tưởng chừng đúng mà không khớp ai.

Tầng 3: Policy

Đây là bộ não của Cloudflare One. Mọi tín hiệu từ tầng 1+2 đổ về đây, rule chính sách đánh giá, ra quyết định.

Tầng 3, Policy: central hub đưa ra 5 outcome khả dĩ, Allow, Block, Allow with conditions, Step-up MFA, Isolate

5 kết quả khả dĩ

Đa số nhóm nghĩ chính sách chỉ có 2 kết quả (allow/block). Thực tế Cloudflare One có 5, và dùng đúng kết quả cho đúng mức rủi ro giúp chính sách thực dụng hơn:

Kết quảKhi nào dùngVí dụ
AllowKhớp hoàn toàn rule, đường dẫn tin cậy đầy đủNhân viên + thiết bị managed + FIDO → Jira
BlockFail-closed, không đủ điều kiện, hoặc từ chối tường minhNgười dùng chưa MFA → từ chối ứng dụng Access nhạy cảm
Allow with conditionsCho vào nhưng hạn chế hành viSaaS chỉ đọc, không cho tải, không cho paste
Step-up MFARủi ro trung bình, xác thực lại với phương thức mạnh hơnTruy cập database production → hỏi FIDO dù đã đăng nhập Password+TOTP
Isolate (RBI)Truy cập được nhưng qua browser render từ xaNhân sự thuê ngoài vào admin panel nội bộ, browser cô lập, không có session local

Sản phẩm Cloudflare ở tầng này

  • Cloudflare Access: chính sách cho ứng dụng nội bộ. Tạo Access application, định nghĩa rule kết hợp identity + posture + network context.
  • Cloudflare Gateway: lọc DNS, firewall mạng, chính sách inspect HTTP cho traffic ra Internet/SaaS.
  • DLP: chính sách dựa trên nội dung, inspect dữ liệu trong body/response của request.
  • CASB: chính sách cho SaaS API (quét cấu hình sai, exfiltration).

Quyết định nào xảy ra?

Toàn bộ cấp quyền xảy ra ở đây. Đây là lớp mà nhóm bảo mật đổ công sức vào.

Một điểm dễ bỏ sót: thứ tự rule quan trọng. Cloudflare Gateway và Access đánh giá rule theo thứ tự, khớp đầu tiên thắng. Viết rule sai thứ tự (allow rộng trước block hẹp) có thể vô hiệu hóa rule hẹp.

Người phụ trách

Nhóm bảo mật, họ phụ trách logic chính sách. Nhưng chính sách phụ thuộc vào chất lượng của tầng 2 (nhóm), tầng 1 (posture). Nếu nhóm bảo mật viết chính sách dựa trên nhóm bẩn từ nhóm IAM, lỗi xuất hiện ở tầng 3 nhưng nguyên nhân gốc ở tầng 2. Đây là lý do quyền sở hữu phải rõ ràng, không thể “bảo mật lo hết”.

Khi nào tầng 3 là nút thắt cổ chai?

  • Quá nhiều chính sách, trùng nhau: 400 Access application, 200 rule Gateway, không ai biết cái nào đang ảnh hưởng cái nào. Kiểm toán rất khó.
  • Xung đột thứ tự rule: Allow “Engineering đi đâu cũng được” ở trên, Block “không ai được vào admin panel” ở dưới → Engineering vẫn vào admin panel.
  • Chính sách drift: bấm tay trong dashboard thay vì IaC. Ai sửa gì không có log, lùi phiên bản khó. Bài Part 4 sẽ nói về policy-as-code cho Access.

Tầng 4: Resource

Đích của request. Khi quyết định chính sách = Allow, Cloudflare forward hoặc proxy tới đây.

Tầng 4, Resource: 4 loại đích khác nhau, ứng dụng nội bộ, SaaS, Internet, Isolated (RBI)

4 loại tài nguyên

LoạiSản phẩm Cloudflare liên quanPattern truy cập
Ứng dụng nội bộCloudflare TunnelChỉ outbound từ hạ tầng, không cần IP public
Ứng dụng SaaSCASB, DLPTrực tiếp tới SaaS với traffic qua Gateway + chính sách
InternetGateway (SWG)Traffic qua Cloudflare edge + inspect
Browser cô lậpBrowser Isolation (RBI)Render từ xa, truyền pixel, không có code chạy local

Sản phẩm Cloudflare ở tầng này

  • Cloudflare Tunnel (cloudflared): chỉ outbound, đưa ứng dụng nội bộ vào phạm vi Cloudflare edge.
  • WARP connector / Magic WAN: đưa cả network segment vào phạm vi (thay vì từng ứng dụng).
  • Browser Isolation: render browser ở edge, trả pixel về người dùng.
  • Gateway egress: proxy traffic ra Internet/SaaS.

Quyết định nào xảy ra?

Không có quyết định chính sách ở tầng 4. Nhưng có quyết định nghiệp vụ quan trọng ở thiết kế:

  • Ứng dụng nội bộ có đưa lên Cloudflare Tunnel không? Hay vẫn để VPN?
  • Traffic Internet có inspect HTTPS không? Đánh đổi giữa quyền riêng tư và DLP.
  • RBI cho ai, cho đích nào? Đánh đổi chi phí.

Người phụ trách

  • Ứng dụng nội bộ → Nhóm ứng dụng phụ trách origin, Nhóm nền tảng phụ trách tunnel connector.
  • SaaS → Nhóm IT/Admin quản lý tenant.
  • Internet → chia sẻ giữa Nhóm bảo mật (chính sách) và Nhóm network (đường egress).
  • RBI → Nhóm bảo mật quyết định chính sách, nhưng trải nghiệm người dùng tác động tới toàn nhóm.

Khi nào tầng 4 là nút thắt cổ chai?

  • Tunnel chập chờn: connector mất kết nối, replicas không health. Chính sách pass nhưng ứng dụng 502.
  • Ứng dụng origin fail: Cloudflare đã cho request đi qua, nhưng backend đang có vấn đề. Log ở Cloudflare sạch, phải đi vào log ứng dụng.
  • Cấu hình SaaS tenant sai: CASB phát hiện file public, nhưng người phụ trách không biết ai public.

Tổng hợp: nguyên tắc thiết kế chính sách

Khi viết chính sách, kết hợp tín hiệu từ nhiều tầng. Đây là pattern phổ biến:

Pattern 1: Nhân viên + thiết bị managed → ứng dụng nội bộ

# Access application: gitlab.internal
policy:
  - include:
      emails_ending_in: ["@example.com"]           # Layer 2
      groups: ["Engineering", "DevOps"]             # Layer 2
  - require:
      device_posture:
        - disk_encrypted                            # Layer 1
        - firewall_enabled                          # Layer 1
        - os_version: ">= macOS 14 | Windows 11"   # Layer 1
  - exclude:
      country: ["KP", "RU"]                         # Layer 1 (network context)

Rule này kết hợp 3 tầng, 2 (nhóm identity), 1 (posture + network), với quyết định là Allow nếu include khớp AND require thỏa mãn AND không khớp exclude.

Pattern 2: Nhân sự thuê ngoài → SaaS chỉ đọc

# SaaS application: salesforce.com
policy:
  - include:
      groups: ["Contractors"]                       # Layer 2
  - require:
      session_mfa_age: "< 4h"                       # Layer 2
      warp_enabled: true                            # Layer 1
  - action: allow_with_conditions
    conditions:
      - disable_download
      - disable_paste
      - browser_isolation: required                 # → Layer 4 RBI

Kết hợp: identity (nhóm nhân sự thuê ngoài) + trạng thái session (MFA mới) + network (WARP bật) → kết quả là Allow with conditions, dẫn xuống RBI ở tầng 4.

Pattern 3: Step-up cho đường admin

# Access application: admin.internal
policy:
  - include:
      groups: ["Platform-Admin"]                    # Layer 2
  - require:
      mfa_method: ["FIDO2"]                         # Layer 2
      session_mfa_age: "< 30m"                      # Layer 2
      device_posture: [domain_joined, mdm_compliant] # Layer 1
  - action: step_up_if_stale

Bài học chính: chính sách mạnh nhất là khi tận dụng tất cả tầng. Chính sách yếu chỉ dựa vào 1 tầng (ví dụ chỉ domain email) → thiếu phòng thủ theo lớp.


Truy nguyên theo tầng

Khi có sự cố, câu hỏi đầu tiên là “Triệu chứng ở tầng nào?”. Đây là bảng tra nhanh:

Chế độ lỗi theo tầng, triệu chứng và nơi kiểm tra đầu tiên

Quy trình truy nguyên 4 bước

  1. Tái hiện, lấy đủ ngữ cảnh (người dùng, thiết bị, ứng dụng, thời điểm).
  2. Phân loại, triệu chứng gần nhất với tầng nào? (xem bảng).
  3. Kiểm tra log chính cho tầng đó:
    • Tầng 1: trang trạng thái WARP client, đầu ra posture checker
    • Tầng 2: log audit IdP, trạng thái SCIM sync
    • Tầng 3: Cloudflare Access audit, log Gateway
    • Tầng 4: sức khỏe Tunnel connector, log origin
  4. Nếu log tầng đó sạch, đi ngược lên tầng dưới (ví dụ log Access sạch → kiểm tra Identity → kiểm tra Client).

Nguyên tắc: truy nguyên đi từ tài nguyên (tầng 4) ngược về client (tầng 1) vì đó là chiều người dùng nhìn thấy lỗi cuối cùng. Khi triển khai thì ngược lại, xây từ tầng dưới (identity) lên.


Đánh đổi và quyết định thiết kế

Quyết địnhPhương án APhương án BKhuyến nghị
Mức chặt của chính sáchChặn mặc định, allowlist ngoại lệCho phép mặc định, blocklist mối đe dọaChặn mặc định cho ứng dụng nhạy cảm (admin, DB production). Cho phép mặc định cho Internet (SWG default-allow + chặn theo danh mục)
Nguồn device postureKiểm tra có sẵn của CloudflareTích hợp với EDR/MDM (CrowdStrike, Intune)Có sẵn cho nhóm < 100 người dùng. Tích hợp EDR/MDM khi có nhóm bảo mật + EDR/MDM đã chín
Kết hợp lớp chặt vs lỏngMọi rule đều kết hợp 4 tầngChỉ kết hợp khi cầnBắt đầu lỏng (email + nhóm), thêm lớp khi xác định rủi ro cụ thể. Đừng over-engineer sớm
Policy-as-code vs dashboardTất cả qua Terraform/APIBấm tay cho tất cảDashboard OK cho pilot/< 20 rule. Đổi sang IaC khi có 50+ rule hoặc 2+ admin. Bài Part 4 sẽ đi sâu
Chia quyền sở hữuNhóm bảo mật phụ trách toàn bộ chính sáchChia theo tầng: IT phụ trách 1, IAM phụ trách 2, Bảo mật phụ trách 3, Nhóm ứng dụng phụ trách 4Chia theo tầng khi nhóm > 10 người. Rà soát liên nhóm mỗi quý

Danh sách kiểm tra: dùng mô hình tư duy này khi làm gì?

Trước khi cấu hình:

  • Tính năng mình đang bật nằm ở tầng nào? (không phải “nó làm gì”, mà “nó kiểm soát tầng nào”)
  • Tín hiệu tầng đó có sẵn chưa? (ví dụ rule posture mà WARP chưa triển khai = không hoạt động)
  • Chính sách mình viết có kết hợp đủ tầng không? Hay chỉ dựa 1 tầng?
  • Ai phụ trách tầng này? Họ đã duyệt cấu hình chưa?

Trước khi truy nguyên:

  • Triệu chứng gần tầng nào nhất? (xem bảng chế độ lỗi)
  • Log chính cho tầng đó ở đâu?
  • Nếu log sạch, tầng dưới nào là nghi phạm tiếp theo?

Trước khi viết RCA:

  • Nguyên nhân gốc ở tầng nào? (khác với triệu chứng: triệu chứng có thể ở tầng 4 nhưng nguyên nhân gốc ở tầng 2)
  • Cách khắc phục nên chạm tầng nào? Có gây drift các tầng khác không?
  • Ai phụ trách khắc phục?

Bài học thực tế

  • Mô hình tư duy này không thay thế kiến thức về từng sản phẩm. Bạn vẫn cần biết cú pháp chính sách Access, thứ tự đánh giá rule Gateway, cấu hình Tunnel ingress. Mô hình tư duy giúp bạn tổ chức kiến thức đó, không thay thế nó.
  • Chất lượng nhóm là điểm đau phổ biến nhất. 90% sự cố “chính sách hoạt động sai” mình từng truy nguyên cuối cùng là nhóm ở tầng 2 bẩn (thành viên cũ, nhóm lồng không sync, trễ SCIM). Đầu tư vào identity hygiene trước khi viết chính sách phức tạp.
  • Đừng coi tầng 4 là hộp đen. Cloudflare dừng ở tầng 3: ra xong quyết định chính sách, chuyển tiếp request tới origin. Nếu origin chậm, origin sập, origin sai permission, Cloudflare không sửa được. Phải có chủ sở hữu ứng dụng phối hợp.
  • Truy nguyên ngược chiều với chiều triển khai. Triển khai đi từ tầng 2 lên (identity → chính sách → WARP → Gateway). Truy nguyên đi từ tầng 4 xuống (người dùng kêu lỗi ứng dụng → kiểm tra origin → kiểm tra tunnel → kiểm tra chính sách → kiểm tra identity → kiểm tra WARP).

Kết luận

Cloudflare One có nhiều sản phẩm, nhiều tính năng, nhiều checkbox. Nhưng nếu nhìn qua lăng kính 4 tầng, mọi thứ đơn giản hơn:

  • Tầng 1 (Client): tín hiệu về thiết bị.
  • Tầng 2 (Identity): xác thực + thuộc tính.
  • Tầng 3 (Policy): quyết định dựa trên tầng 1+2.
  • Tầng 4 (Resource): đích của request.

Khi bạn ngồi trước dashboard và không biết bắt đầu từ đâu, hỏi tầng nào trước. Khi người dùng báo lỗi, hỏi triệu chứng gần tầng nào. Khi nhóm tranh cãi về quyền sở hữu, hỏi tầng nào ai phụ trách.

Nếu phải nhớ một câu:

Triển khai xây từ dưới lên (identity hygiene → chính sách → WARP). Truy nguyên đào từ trên xuống (resource → chính sách → identity → client). Đừng đảo chiều.

Trong Part 4 mình sẽ đi vào Cloudflare Access, sản phẩm đầu tiên sẽ dùng mô hình tư duy này một cách cụ thể: tạo Access application, kết nối IdP (tầng 2), viết chính sách với tín hiệu từ tầng 1, test end-to-end.


Tài liệu tham khảo

Trong series này: