TL;DR
Part 5 dừng ở vấn đề: admin vô hiệu hóa người dùng ở IdP, nhưng người dùng vẫn vào được app Cloudflare tới 24 giờ sau (session cookie chưa hết hạn). Đây là cửa sổ nhân viên bất mãn, khoảng trống nguy hiểm nhất trong off-boarding.
SCIM (System for Cross-domain Identity Management) giải quyết triệt để: IdP đẩy cập nhật (thay đổi user/group) sang Cloudflare thời gian thực. Thay vì CF kéo claim khi người dùng đăng nhập, IdP gọi API CF ngay khi admin đổi gì.
Bài này đi qua:
- JIT claim (Part 5) vs SCIM: trigger khác nhau ở đâu.
- Luồng SCIM chi tiết: IdP là client, CF là server.
- Thiết lập SCIM cho Okta, Entra ID, Google Workspace.
- Vòng đời người dùng 3 giai đoạn (Join / Move / Leave) qua SCIM.
- So sánh độ trễ thu hồi quyền: thủ công → JIT → SCIM → SCIM + session ngắn.
- Giải quyết xung đột khi JIT và SCIM đưa ra kết quả khác nhau.
- Anti-pattern + danh sách kiểm tra rà soát.
Luận điểm chính:
JIT claim là Zero Trust tối thiểu khả dụng. SCIM là Zero Trust trưởng thành. Khác biệt giữa 2 cái là cửa sổ nhân viên bất mãn, và nó đáng 1 buổi thiết lập.
Bài này là Part 7 của Cloudflare One Handbook.
Dành cho ai
- Kỹ sư bảo mật đã thiết lập Access + IdP (Part 4-5), giờ muốn tự động hóa vòng đời.
- Kỹ sư IAM xử lý cấp quyền người dùng ở quy mô toàn tổ chức.
- Nhóm compliance cần chứng minh SLA off-boarding < 15 phút.
Bạn nên đã đọc:
- Part 4: Cloudflare Access
- Part 5: IdP integration, quan trọng nhất, đặc biệt section “Group sync timing”
Sau bài này bạn sẽ:
- Hiểu protocol SCIM ở mức đủ dùng.
- Thiết lập SCIM cho 3 IdP phổ biến.
- Biết cách kiểm thử/xác minh SCIM đang hoạt động.
- Có playbook cho 3 giai đoạn vòng đời (join/move/leave).
- Hiểu khi JIT và SCIM đưa ra kết quả khác nhau, CF sẽ dùng cái nào.
Bài này không nói về gì
- Nhà cung cấp SCIM tự dựng (bạn dựng endpoint SCIM riêng): chỉ bàn SCIM consumer của Cloudflare.
- SCIM cho non-human / tài khoản dịch vụ: service token (Part 6) là cách tiếp cận đúng, không phải SCIM.
- Cấp quyền tức thời khi người dùng đăng nhập lần đầu: Part 5 đã bàn trong “JIT claim”.
- Group lồng / thành viên bắc cầu: hỗ trợ phụ thuộc IdP, đề cập nhưng không đi sâu.
Khái niệm
- SCIM: System for Cross-domain Identity Management, IETF RFC 7643/7644. Protocol để đẩy thay đổi user/group từ IdP sang SaaS/hệ thống đích.
- Cấp quyền (provisioning): tạo user/group ở hệ thống đích khi IdP thay đổi.
- Thu hồi quyền (deprovisioning): xóa/vô hiệu hóa user/group ở hệ thống đích.
- Mô hình Pull vs Push: JIT claim là kéo (CF kéo khi người dùng đăng nhập). SCIM là đẩy (IdP đẩy khi thay đổi).
- Server SCIM (đích): Cloudflare trong ngữ cảnh này.
- Client SCIM (nguồn): Okta, Entra ID, Google Workspace.
- Tenant URL: endpoint URL CF cung cấp cho IdP gọi vào. Duy nhất cho mỗi account Cloudflare.
- Bearer token: token IdP dùng để xác thực request SCIM tới CF.
JIT vs SCIM: khác nhau ở trigger
JIT claim: mặc định khi bật IdP
Khi người dùng đăng nhập, CF gọi endpoint userinfo của IdP → lấy claim mới nhất. Thành viên group refresh chỉ tại thời điểm này.
Vấn đề: giữa hai lần đăng nhập, CF dựa vào claim cũ trong cookie CF_Authorization. Nếu admin xóa user khỏi group 3 phút sau khi đăng nhập, CF không biết cho tới khi session hết hạn.
Mặc định session duration = 24h. Tệ nhất: 24 giờ lỗi thời.
SCIM: đẩy thời gian thực
IdP có API listener: khi admin thay đổi ở IdP, IdP tự động gọi API vào endpoint CF. CF cập nhật trạng thái nội bộ.
Kết quả: Đánh giá lại ở request sau dùng trạng thái mới. Độ trễ điển hình 1-5 phút (phụ thuộc queue IdP).
Kết hợp cả hai
SCIM và JIT không loại trừ nhau. Cloudflare dùng cả hai:
- Người dùng đăng nhập lần đầu → JIT kéo claim → cache.
- Admin thay đổi → SCIM đẩy cập nhật → CF cập nhật cache.
- Request tiếp theo của người dùng → đọc cache (đã mới nhờ SCIM).
- Session hết hạn → JIT kéo lại (kiểm tra kép).
Nên bật cả hai. SCIM là cơ chế chính cho vòng đời, JIT là phương án dự phòng + đăng nhập lần đầu.
Luồng SCIM chi tiết
Các bên tham gia
- Admin (nhân sự HR/IT thao tác ở IdP).
- IdP: có engine cấp quyền (Okta Lifecycle Management, Entra Provisioning Service, Google Admin SDK).
- Endpoint SCIM Cloudflare: URL + token CF cung cấp.
- Chính sách Access: đối tượng hưởng lợi khi trạng thái cập nhật.
Gọi HTTP IdP gửi vào CF
Mẫu request SCIM (chuẩn RFC 7644):
Tạo người dùng mới:
POST /scim/v2/Users HTTP/1.1
Host: <team>.cloudflareaccess.com
Authorization: Bearer <scim-token>
Content-Type: application/scim+json
{
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"],
"userName": "alice@example.com",
"name": { "givenName": "Alice", "familyName": "Nguyen" },
"emails": [{ "value": "alice@example.com", "primary": true }],
"active": true
}
Thêm người dùng vào group:
PATCH /scim/v2/Groups/<group-id> HTTP/1.1
Authorization: Bearer <scim-token>
Content-Type: application/scim+json
{
"schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"],
"Operations": [{
"op": "add",
"path": "members",
"value": [{ "value": "<alice-user-id>", "display": "alice@example.com" }]
}]
}
Vô hiệu hóa người dùng (sự kiện leave):
PATCH /scim/v2/Users/<user-id> HTTP/1.1
{
"Operations": [{
"op": "replace",
"path": "active",
"value": false
}]
}
Bạn không viết các request này, engine cấp quyền của IdP tự làm. Nhưng biết định dạng giúp truy nguyên khi có vấn đề.
Thiết lập 1: SCIM với Okta
Bước 1: Sinh SCIM token ở Cloudflare
Zero Trust dashboard → Settings → Authentication → Login methods → chọn Okta IdP đã thiết lập (từ Part 5) → Edit → cuộn xuống SCIM.
- Bật SCIM.
- Click Regenerate token → copy Tenant URL và Bearer token.
Token chỉ hiện 1 lần. Lưu vào secret manager.
Bước 2: Cấu hình provisioning trong Okta
Okta admin → Applications → app Cloudflare Access (tạo từ Part 5) → tab Provisioning.
-
Bật SCIM provisioning: nhập:
- SCIM Base URL: Tenant URL từ Cloudflare
- Authentication Mode: HTTP Header →
Bearer <token> - Unique identifier:
userName - Supported operations: Create, Update, Deactivate, Group Push
-
Test connection → Okta gọi thử endpoint CF → phải trả 200.
Bước 3: Bật provisioning “To App”
Tab Provisioning → To App → Edit:
- Create Users: bật
- Update User Attributes: bật
- Deactivate Users: bật
Ánh xạ thuộc tính: mặc định đủ dùng cho email, displayName. Nếu cần tùy biến (department, costCenter), thêm trong Go to Profile Editor.
Bước 4: Gán người dùng và group
Tab Provisioning → Push Groups → + Push Groups → chọn các group Okta muốn đồng bộ:
cf-contractors
Okta sẽ đẩy các group này + thành viên tương ứng sang Cloudflare.
Bước 5: Xác minh
Trong vài phút, kiểm tra Zero Trust → My Team → Users. Người dùng từ Okta xuất hiện. Click người dùng → xem Groups, tên group phải khớp.
Kiểm thử đầu-cuối:
- Okta admin: tạo user mới
test-scim@example.com, thêm vàocf-engineering. - Sau 1-5 phút, CF dashboard → My Team → thấy user.
- User đăng nhập Access app có chính sách require
cf-engineering→ pass. - Okta admin: xóa user khỏi
cf-engineering. - Trong vài phút, request tiếp theo của user → chính sách từ chối.
Cạm bẫy Okta SCIM thường gặp
- Token không đúng định dạng → 401 ở Okta test. Dán lại token, đảm bảo không có khoảng trắng.
- Push Groups quên gán → group đồng bộ nhưng không có thành viên. Dashboard hiện group rỗng.
- Xung đột ánh xạ thuộc tính: Okta ánh xạ
departmentnhưng CF mong định dạng khác. Đơn giản hơn = ánh xạ tối thiểu (email + groups + name). - Supported operations không tick “Deactivate” → off-boarding không chạy. Kiểm tra lại cấu hình.
Thiết lập 2: SCIM với Entra ID (Azure AD)
Bước 1: Lấy SCIM endpoint + token từ CF
Giống Okta: Zero Trust → Authentication → Entra ID IdP → SCIM → bật + copy token.
Bước 2: Cấu hình Enterprise Application
Azure portal → Enterprise Applications → app Cloudflare Access (tạo từ Part 5) → Provisioning → Get started.
- Provisioning Mode: Automatic.
- Tenant URL: từ CF.
- Secret Token: bearer token từ CF.
- Test connection → 200 OK.
Lưu.
Bước 3: Gán người dùng/group
Enterprise Application → Users and groups → Add user/group. Thêm các group muốn đồng bộ.
Lưu ý Entra: chỉ user/group được gán vào Enterprise App mới được cấp quyền. Khác Okta dùng Push Groups riêng.
Bước 4: Bắt đầu provisioning
Provisioning → Start provisioning. Entra chạy chu kỳ đầu: đồng bộ tất cả đã gán. Mất vài phút đến vài giờ tùy số lượng người dùng.
Sau chu kỳ đầu, Entra đồng bộ tăng dần mỗi 40 phút mặc định.
Cạm bẫy Entra SCIM thường gặp
- Chu kỳ đầu chậm: 200+ người dùng có thể mất 1-2 giờ. Kiên nhẫn, theo dõi Provisioning Logs.
- 40 phút mặc định cho đồng bộ tăng dần: không phải “thời gian thực” như Okta. Chu kỳ này là cố định, không đổi được qua gói. Cần nhanh hơn? Dùng on-demand provisioning cho từng user hoặc kích hoạt qua Microsoft Graph API.
- Chế độ group object ID (cảnh báo ở Part 5): nếu Entra cấu hình claim là Group ID, SCIM sync vẫn truyền tên group, nhưng chính sách CF có thể đã viết theo GUID → không khớp. Quyết định dùng tên hoặc GUID, nhất quán xuyên suốt.
- Người dùng bị vô hiệu hóa không thu hồi quyền được: Entra cần cấu hình “Deactivate” tường minh, mặc định là “bỏ qua” cho người dùng bị vô hiệu hóa.
Thiết lập 3: SCIM với Google Workspace
Google Workspace có SCIM nhưng thiết lập phức tạp nhất.
Bước 1: Bật SCIM ở Cloudflare
Giống 2 bước trên: Authentication → Google Workspace IdP → SCIM → bật.
Bước 2: Google Workspace Admin Console
Google Workspace không có UI provisioning riêng như Okta/Entra. Thay vào đó:
- Provisioning cho Google Workspace → CF thông qua Automated provisioning trong Google Admin.
- Nhưng không phải app SaaS nào cũng trong danh sách: Cloudflare Access có thể chưa sẵn sàng trong Google Apps Marketplace cho SCIM.
Tại thời điểm viết, thiết lập chính thức nhất:
- Cách 1: Chỉ dựa vào JIT: chấp nhận cửa sổ lỗi thời cho tới khi Google/CF phát hành SCIM native.
- Cách 2: Okta trung gian: dùng Okta làm cầu nối. Google → Okta (qua Google SSO) → Okta → CF (qua SCIM Okta). Thêm nhà cung cấp nhưng có luồng SCIM chuẩn.
- Cách 3: Script polling tùy chỉnh: Google Admin SDK → script tùy chỉnh kéo group → đẩy SCIM CF. Tự xây, tự bảo trì.
Khuyến nghị
Nếu tổ chức đã dùng Okta cho phần vòng đời người dùng → định tuyến qua Okta (Cách 2). Nếu tổ chức nặng Google và chưa có Okta → chấp nhận JIT với session duration ngắn (Cách 1), cho tới khi tích hợp chính thức phát hành.
Vòng đời người dùng qua SCIM
JOIN
Trigger: HR tạo người dùng mới ở IdP.
Action SCIM: POST /scim/v2/Users → CF tạo user record. Sau đó PATCH /Groups để thêm vào group.
Timeline:
- T0: HR tạo người dùng.
- T0+1 phút: Okta phát hiện thay đổi → đẩy SCIM.
- T0+2 phút: CF user record có sẵn.
- Người dùng đăng nhập lần đầu → claim + tín hiệu posture đầy đủ.
Điểm quan trọng: người dùng sẵn sàng từ ngày 1. Không có ticket “thêm người dùng vào Cloudflare” cho helpdesk.
MOVE (đổi group, đổi vai trò)
Trigger: Manager đổi group của người dùng ở IdP (VD: DevOps → Security).
Action SCIM: PATCH /Groups/<old-group> xóa thành viên, PATCH /Groups/<new-group> thêm thành viên.
Timeline:
- T0: Manager đổi ở Okta.
- T0+1-5 phút: SCIM đẩy.
- T0+5 phút: Request của người dùng tới app mới → chính sách pass.
- Request của người dùng tới app cũ → chính sách từ chối (vì group cũ đã mất).
Lưu ý: user có thể cần đăng nhập lại nếu cookie CF_Authorization vẫn có claim cũ. Cloudflare đánh giá lại khi truy cập kế tiếp, nhưng đôi khi ép xác thực lại bằng cách xóa session: Dashboard → My Team → User → Revoke.
LEAVE (off-boarding)
Trigger: HR vô hiệu hóa người dùng (hoặc xóa, tùy chính sách).
Action SCIM: { active: false }.
Timeline:
- T0: HR vô hiệu hóa ở Okta.
- T0+1-5 phút: SCIM đẩy, CF user active=false.
- Request tiếp của người dùng: đánh giá chính sách → user vô hiệu hóa → từ chối.
- Session hiện tại (cookie
CF_Authorization): đánh giá lại tự động, từ chối.
Điểm quan trọng: không cần helpdesk thu hồi thủ công như trước. SCIM xử lý.
Độ trễ thu hồi quyền: 4 bậc
Bậc 1: Thủ công (không SSO, không SCIM)
Helpdesk nhận ticket từ HR. Thủ công vô hiệu hóa người dùng ở từng hệ thống. Độ trễ: giờ đến ngày.
Bậc 2: Chỉ JIT claim (thiết lập Part 5)
Người dùng đăng nhập refresh claim. Nhưng cookie hợp lệ 24h. Độ trễ: tới 24h.
Bậc 3: SCIM
IdP đẩy cập nhật thời gian thực. Độ trễ: 5-15 phút.
Bậc 4: SCIM + session duration ngắn
SCIM nhanh + session duration Access application 15 phút. Tệ nhất: người dùng request trong session cũ ngay sau khi admin vô hiệu hóa → ≤ 1 phút cho tới khi session đánh giá lại hoặc hết hạn. Độ trễ: ≤ 1 phút.
Khuyến nghị cho app nhạy cảm: Bậc 4. Admin panel, truy cập database, công cụ tài chính.
Khung rủi ro
Bậc 1 = “nhân viên bất mãn có vài ngày để lấy cắp dữ liệu”. Bậc 4 = ”≤ 1 phút, không kịp làm gì đáng kể”. Đánh đổi với trải nghiệm người dùng (session ngắn = phải đăng nhập lại thường).
Giải quyết xung đột: khi JIT và SCIM khác nhau
Tình huống: admin vô hiệu hóa người dùng trong Okta lúc 10:00. SCIM đẩy CF lúc 10:02. Người dùng đăng nhập lúc 10:05, JIT kéo claim từ Okta cũng thấy đã vô hiệu hóa.
Cả hai nguồn đều nói “đã vô hiệu hóa” → không xung đột.
Tình huống: admin thêm người dùng vào group mới 10:00. SCIM đẩy 10:02. Người dùng đăng nhập 10:05, JIT kéo claim thấy group mới.
Cả hai đều thấy group mới → CF dùng claim từ JIT (mới hơn khi đăng nhập).
Tình huống phức tạp: SCIM cập nhật lúc 10:02 (người dùng bị vô hiệu hóa), nhưng người dùng đang có session đang chạy từ 09:50 (claim cũ = đang chạy).
Cloudflare đánh giá lại request kế tiếp:
- Đọc lại trạng thái nội bộ (SCIM đã cập nhật) → user.active = false.
- Từ chối request kế tiếp.
Nguyên tắc: Trạng thái SCIM có thẩm quyền cho thành viên user/group. JIT claim chỉ ảnh hưởng lúc đăng nhập đầu, không ghi đè trạng thái SCIM.
Kiểm tra SCIM đang hoạt động
Kiểm thử 1: Cấp quyền (JOIN)
- Tạo user test trong IdP, thêm vào group
cf-test. - Đợi 5 phút.
- Zero Trust → My Team → Users → tìm email → user phải hiện.
Kiểm thử 2: Thu hồi quyền (LEAVE)
- Vô hiệu hóa người dùng test trong IdP.
- Đợi 5 phút.
- Zero Trust → My Team → Users → tìm email → trạng thái = Inactive.
Nếu trạng thái vẫn Active sau 15 phút → SCIM chưa hoạt động đúng. Kiểm tra log.
Kiểm thử 3: Đổi group (MOVE)
- Xóa user khỏi group
cf-test, thêm vàocf-prod-admin. - User đăng nhập Access app có chính sách require
cf-prod-admin→ pass. - User đăng nhập Access app chỉ cho
cf-test→ từ chối.
Gợi ý truy nguyên
- Okta: Applications → Cloudflare Access → Provisioning → Audit Log. Xem từng request SCIM + mã response.
- Entra: Enterprise Application → Provisioning → Provisioning logs. Tương tự.
- Cloudflare: không có log SCIM trực tiếp, nhưng có thể thấy timestamp cập nhật user/group.
Các anti-pattern
1. “Bật SCIM nhưng không tick Deactivate”
Lỗi phổ biến ở Okta. User tạo + cập nhật đồng bộ ổn, nhưng vô hiệu hóa người dùng ở Okta = không có tác dụng ở CF. Off-boarding thất bại hoàn toàn.
Khắc phục: Cấu hình Provisioning → tick tất cả 3 thao tác bắt buộc: Create, Update, Deactivate (thêm Delete nếu cần xóa hẳn sau một thời gian).
2. “Push Groups nhưng không gán users”
Riêng Okta. Push Groups thiết lập group ở CF nhưng người dùng đó phải ở Assignment của app để được bao gồm trong push. Dễ bỏ sót.
3. “Dựa vào SCIM mà session duration 30 ngày”
SCIM nhanh nhưng session cookie vẫn hợp lệ 30 ngày nếu cấu hình vậy. Thu hồi ở SCIM không tức thì vô hiệu hóa cookie hiện có.
Khắc phục: Session duration ngắn (≤ 1h) cho app nhạy cảm, hoặc thu hồi session tường minh khi off-board người dùng quan trọng.
4. “Group lồng không đồng bộ được”
Group lồng Okta có thể không bung qua SCIM tùy cấu hình. Ví dụ group All-Employees sang CF không tự bung.
Khắc phục: Đẩy group phẳng, hoặc cấu hình Okta bung lồng. Kiểm thử kỹ trước khi dựa vào.
5. “Hardcode token SCIM vào Terraform state”
Rotate bearer token = cập nhật Terraform state = commit = lộ token. Token nên ở secret manager riêng (Vault, AWS Secrets Manager), Terraform tham chiếu bằng data source.
6. “Không giám sát tỉ lệ thành công SCIM”
SCIM thỉnh thoảng thất bại (IdP có vấn đề, endpoint CF chớp). Không giám sát = 2 tuần sau mới phát hiện off-boarding không chạy.
Khắc phục: Cảnh báo nếu tỉ lệ lỗi SCIM > 1% trong 1 giờ. Cảnh báo nếu SCIM không chạy trong 24h (không có sự kiện nào = đáng ngờ).
Đánh đổi
| Quyết định | Option A | Option B | Khuyến nghị |
|---|---|---|---|
| Bật SCIM | Có | Không (chỉ JIT) | Có cho tổ chức > 50 người dùng. Chỉ JIT ổn cho nhóm nhỏ |
| Phạm vi đồng bộ | Tất cả group | Chỉ tiền tố cf-* | Tiền tố, giảm nhiễu, kiểm toán dễ |
| Thao tác xóa | Xóa người dùng ở CF | Chỉ vô hiệu hóa | Vô hiệu hóa, giữ log kiểm toán, hoàn tác được |
| Ghi đè thủ công | Không cho thủ công | Cho phép thu hồi khẩn cấp | Cho phép, SCIM có thể trễ/lỗi, cần đường thoát |
| Giám sát | Kiểm tra CF dashboard thủ công | Cảnh báo + dashboard | Cảnh báo, SCIM lỗi âm thầm là rủi ro ngầm |
Danh sách kiểm tra: trước khi dựa vào SCIM
Thiết lập:
- SCIM được bật ở cả phía IdP và phía CF.
- Tenant URL + bearer token lưu trong secret manager.
- Test connection thành công (200 OK).
- 3 thao tác bắt buộc (Create, Update, Deactivate) được bật.
- Group được gán/đẩy đúng phạm vi.
Kiểm thử:
- Kiểm thử 3 giai đoạn (Join, Move, Leave) đầu-cuối với người dùng thật.
- Độ trễ đo được < 15 phút.
- Vô hiệu hóa ở IdP → người dùng bị từ chối request tiếp theo ở CF.
Vận hành:
- Session duration khớp với mức rủi ro của app.
- Quy trình thu hồi thủ công đã tài liệu hóa (đường thoát).
- Cảnh báo khi tỉ lệ lỗi SCIM > 1%.
- Cảnh báo khi không có sự kiện SCIM trong 24h.
- Rà soát hàng quý: so sánh người dùng đang hoạt động ở IdP vs CF.
Tài liệu:
- Runbook cho helpdesk: cách xác minh SCIM đồng bộ đang hoạt động.
- Runbook cho IT: cách off-board khẩn cấp khi SCIM gián đoạn.
Bài học thực tế
- SCIM lỗi âm thầm là lớp lỗi đáng sợ nhất. Thiết lập hoạt động ban đầu, 6 tháng sau IdP cập nhật hoặc token hết hạn, SCIM lỗi âm thầm. Giám sát tỉ lệ thành công như chỉ số ưu tiên cao.
- Kiểm thử off-boarding hàng tháng. Bước 1: vô hiệu hóa người dùng test. Bước 2: xác nhận họ không vào được Access app. Nhiều nhóm thiết lập SCIM nhưng không kiểm thử off-boarding thực: tới khi có sự cố mới phát hiện hỏng.
- Entra ID 40 phút mặc định là cạm bẫy. Nhóm chuyển từ Okta (gần thời gian thực) sang Entra và ngạc nhiên. Tài liệu hóa kỳ vọng độ trễ.
- Tùy chọn SCIM của Google Workspace vẫn còn khoảng trống. Nếu tổ chức nặng Google, ngân sách cho cầu Okta hoặc chấp nhận chỉ JIT trong ngắn hạn.
- “SCIM sẽ giải quyết mọi vấn đề off-boarding”: không đúng. SCIM xử lý phía IdP. Nếu người dùng có token truy cập trực tiếp của CF (service token, cookie chuyển tiếp, browser đã cache), SCIM không thu hồi được. Thu hồi khẩn cấp ở CF dashboard vẫn cần.
Kết luận
SCIM là mảnh ghép còn thiếu để biến Cloudflare Access từ “ZTNA có chính sách” thành “ZTNA với tự động hóa vòng đời”. Không có SCIM, bạn sẽ chạm trần hiệu quả: chính sách đúng nhưng off-boarding chậm = khoảng trống bảo mật.
Chi phí: 1 buổi thiết lập cho mỗi IdP, giám sát thường xuyên. Lợi ích: cửa sổ nhân viên bất mãn giảm từ 24h xuống 5 phút (hoặc 1 phút với session ngắn).
Nếu phải nhớ một câu:
JIT claim là Zero Trust tối thiểu khả dụng. SCIM là Zero Trust trưởng thành. Khác biệt là cửa sổ nhân viên bất mãn, và nó đáng 1 buổi thiết lập.
Trong Part 8 mình chuyển sang tầng kết nối: Cloudflare Tunnel deep-dive. Cách cloudflared đưa origin nội bộ vào phạm vi Cloudflare mà không mở public IP, định tuyến ingress, replica, health check.
Tài liệu tham khảo
- Cloudflare SCIM overview
- SCIM RFC 7644, protocol
- Okta Provisioning setup
- Entra ID SCIM
- Google Workspace SCIM limitations
Trong series này:
- ← Part 6: Service tokens + mTLS
- Tiếp theo → Part 8: Cloudflare Tunnel deep-dive
- Xem toàn bộ: Series Cloudflare One Handbook