Mọi ứng dụng rồi cũng sẽ đối mặt với cùng một vấn đề: người dùng cần đăng nhập. Nghe thì đơn giản, nhưng thực tế không phải vậy. Đằng sau một nút đăng nhập là hàng loạt quyết định bảo mật: băm mật khẩu, quản lý phiên, bảo vệ CSRF, chống tấn công brute-force, xác thực đa yếu tố, khôi phục mật khẩu, xác minh email, thời hạn token, và hàng tá vấn đề khác chẳng liên quan gì đến chức năng chính của ứng dụng.
Hầu hết các đội nhóm xử lý việc này theo một trong ba cách: tự xây dựng và mất hàng tháng trời vá các trường hợp ngoại lệ; dùng dịch vụ quản lý như Auth0 và cuối cùng vấp phải rào cản về giá; hoặc gắn một thư viện vào và cuối cùng vẫn phải tự lo phần lớn logic bảo mật.
Ory là lựa chọn thứ tư, và đối với các nhà phát triển cũng như kỹ sư hạ tầng coi trọng khả năng kiểm soát, đây là thứ đáng để hiểu một cách tử tế.
Ory là gì?
Ory là một bộ công cụ quản lý danh tính và truy cập (IAM) mã nguồn mở dành cho các ứng dụng cloud-native. Nó cung cấp xác thực, phân quyền và quản lý danh tính dưới dạng năm dịch vụ có thể triển khai độc lập:
- Ory Kratos: Đăng ký người dùng, đăng nhập, phiên, MFA và khôi phục mật khẩu
- Ory Hydra: Máy chủ OAuth 2.0 và OpenID Connect để cấp phát token
- Ory Keto: Phân quyền chi tiết sử dụng mô hình Zanzibar của Google
- Ory Oathkeeper: Proxy ngược nhận biết danh tính cho mạng Zero Trust
- Ory Polis: Cầu nối SSO doanh nghiệp cho tích hợp SAML và SCIM
Tất cả các thành phần đều được cấp phép Apache 2.0, viết bằng Go và có thể tự lưu trữ.
Nó không phải là một sản phẩm SaaS khiến bạn bị khóa. Nó cũng không phải là một thư viện bạn tích hợp vào ứng dụng. Nó là một tập hợp các dịch vụ đã được kiểm chứng trong sản xuất mà bạn chạy song song với ứng dụng của mình — tự lưu trữ, quản lý, hoặc cả hai.
Vấn đề mà Ory giải quyết
Ory giúp bạn thuê ngoài nhiệm vụ phức tạp và quan trọng về bảo mật là phát triển và duy trì hệ thống xác thực và phân quyền nội bộ. Điều này bao gồm tuân thủ các tiêu chuẩn bảo mật hiện hành như OAuth 2.0 và OIDC, bảo vệ chống lại các cuộc tấn công, và cung cấp một lớp danh tính thống nhất giúp tránh các silo dữ liệu giữa các ứng dụng khác nhau.
Nói cách khác: Ory cho phép đội của bạn ngừng viết mã xác thực và bắt đầu tung ra các tính năng sản phẩm.
Giải pháp thay thế — tự xây dựng xác thực — đồng nghĩa với việc bạn phải tự chịu trách nhiệm vĩnh viễn cho mọi quyết định bảo mật. Cấu hình Argon2. So sánh an toàn về thời gian. Vòng đời token CSRF. Thời hạn token khôi phục. Xoay vòng phiên sau khi leo thang đặc quyền. Đây là những vấn đề có thể giải quyết được, nhưng chúng không phải là vấn đề của bạn. Chúng là vấn đề của Ory.
Hệ sinh thái Ory: Năm thành phần cốt lõi
Ory là một bộ các thành phần IAM cloud-native được xây dựng trên kiến trúc microservices. Nó tách biệt danh tính, xác thực và phân quyền thành các dịch vụ chuyên dụng có thể sử dụng độc lập hoặc kết hợp với nhau.
Ory Kratos – Quản lý danh tính
Kratos xử lý mọi thứ liên quan đến người dùng là ai và họ chứng minh điều đó như thế nào:
- Đăng ký và đăng nhập người dùng
- Quản lý phiên
- Khôi phục mật khẩu và xác minh email
- Xác thực đa yếu tố (TOTP, WebAuthn, passkeys)
- Đăng nhập mạng xã hội (Google, GitHub, Apple qua OIDC)
- Cài đặt tài khoản
Kratos là headless. Nó không có giao diện người dùng tích hợp sẵn. Nó cung cấp một REST API mà ứng dụng của bạn gọi để điều khiển các luồng xác thực. Trang đăng nhập của bạn là một trang bình thường trong ứng dụng; Kratos xử lý logic bảo mật đằng sau nó. Điều này cho bạn toàn quyền kiểm soát thương hiệu và trải nghiệm người dùng mà không ảnh hưởng đến bảo mật.
Ory Hydra – OAuth2 và OpenID Connect
Hydra là một máy chủ OAuth 2.0 và OpenID Connect đã được chứng nhận. Nó xử lý:
- Cấp phát access token, refresh token và ID token
- Các luồng authorization code, client credentials và device authorization
- Token introspection và thu hồi
- Xác thực machine-to-machine và service-to-service
Nếu bạn cần ứng dụng của mình hoạt động như một nhà cung cấp OAuth2, cho phép người dùng cấp quyền truy cập dữ liệu của họ cho ứng dụng bên thứ ba, hoặc kích hoạt xác thực service-to-service, Hydra là thành phần bạn cần. Nó được viết bằng Go và được thiết kế để mở rộng theo chiều ngang một cách phi trạng thái.
Ory Keto – Phân quyền chi tiết
Keto triển khai mô hình phân quyền Zanzibar của Google, cùng một hệ thống cung cấp năng lượng cho quyền chia sẻ của Google Drive. Nó xử lý:
- Kiểm soát truy cập dựa trên mối quan hệ (ReBAC)
- Đánh giá chính sách ở quy mô lớn
- Kế thừa và lan truyền quyền ("Alice có thể chỉnh sửa tài liệu này không?")
Hầu hết các ứng dụng bắt đầu với kiểm soát truy cập dựa trên vai trò đơn giản và cuối cùng cần một thứ gì đó tinh tế hơn. Keto cung cấp cho bạn một lộ trình để đạt được điều đó mà không cần viết lại lớp xác thực của bạn.
Ory Oathkeeper – Proxy nhận biết danh tính
Oathkeeper là một proxy ngược và API quyết định kiểm soát truy cập xác thực danh tính trên mọi yêu cầu HTTP đến trước khi nó đến được các dịch vụ của bạn:
- Xác thực token OAuth2, cookie phiên, API key và mTLS
- Viết lại header yêu cầu với các xác nhận danh tính (ví dụ:
X-User-Id) - Kích hoạt mạng Zero Trust cho các dịch vụ HTTP
- Hoạt động với Nginx, Traefik và Kubernetes ingress controllers
Hãy nghĩ về nó như một mô-đun PAM cho lưu lượng HTTP: mọi yêu cầu đều được xác thực và phân quyền tại cổng, trước khi mã ứng dụng của bạn nhìn thấy nó.
Ory Polis – Cầu nối SSO doanh nghiệp
Polis kết nối khoảng cách giữa các giao thức danh tính doanh nghiệp cũ và OAuth2/OIDC hiện đại:
- Dịch luồng SAML 2.0 ↔ OpenID Connect
- Hỗ trợ SCIM 2.0 để cung cấp và hủy cung cấp người dùng tự động
- Cho phép khách hàng doanh nghiệp sử dụng IdP hiện có của họ (Okta, ADFS, Ping) với các ứng dụng do Ory cung cấp
Xin lưu ý rằng Polis là một phần của Ory Enterprise License, không có sẵn trong gói mã nguồn mở miễn phí.
Các thành phần hoạt động cùng nhau như thế nào
Bạn không cần phải sử dụng tất cả chúng. Đó là điểm của thiết kế mô-đun.
Một stack khởi đầu điển hình:
Browser
│
▼
Your App (Node.js / Go / Python / anything)
│
├── Calls Kratos for login, registration, sessions
│
└── Calls Hydra for OAuth2 tokens (if needed)
│
└── Oathkeeper validates tokens at the API gateway
│
└── Keto checks fine-grained permissions
Một đội nhỏ xây dựng ứng dụng SaaS có thể bắt đầu chỉ với Kratos. Một đội nền tảng xây dựng công cụ nội bộ có thể thêm Hydra cho xác thực machine-to-machine. Một công ty có quyền multi-tenant phức tạp cuối cùng sẽ thêm Keto. Một doanh nghiệp đưa khách hàng doanh nghiệp lên với SAML IdP sẽ thêm Polis.
Mỗi dịch vụ đều có thể chạy độc lập, mở rộng độc lập và thay thế độc lập.
Ai đang sử dụng Ory trong sản xuất?
Ví dụ nổi bật nhất: OpenAI.
"OpenAI đã thay thế hệ thống đăng nhập cũ của mình bằng Ory Hydra để mở rộng danh tính cho 900 triệu người dùng hoạt động hàng tuần, với thời gian chết bằng không và toàn quyền kiểm soát IAM", theo báo cáo của ấn phẩm trực tuyến Newstack.
Ban đầu, sự tăng trưởng người dùng nhanh chóng của OpenAI đã làm quá tải giải pháp CIAM trước đây của họ. Họ đã chuyển sang một Ory Hydra tự lưu trữ, được hỗ trợ bởi một cơ sở dữ liệu có thể mở rộng để cấp phát và quản lý token cho người dùng ChatGPT.
Theo nghiên cứu điển hình chính thức, Ory đã cung cấp khả năng quan sát và khả năng phục hồi sâu sắc cho "số lần đăng nhập mỗi giây chưa từng có", và quan trọng là đã trao cho OpenAI quyền sở hữu các quy trình danh tính của họ mà không bị khóa nhà cung cấp.
Ngoài OpenAI, Ory phục vụ hàng chục nghìn dự án đang hoạt động trên các môi trường mã nguồn mở, tự quản lý và đám mây quản lý của mình — bao gồm hàng tỷ danh tính và hàng nghìn tỷ giao dịch.
Ba cách triển khai Ory
1. Mã nguồn mở (Tự lưu trữ, Miễn phí)
Tất cả bốn thành phần mã nguồn mở cốt lõi (Kratos, Hydra, Keto, Oathkeeper) đều được cấp phép Apache 2.0 và có sẵn trên GitHub. Bạn chạy chúng trên cơ sở hạ tầng của riêng mình (bare metal, VM, Docker, Kubernetes) với toàn quyền kiểm soát dữ liệu, cấu hình và nhịp độ nâng cấp.
Phù hợp nhất cho: Các đội có năng lực DevOps, yêu cầu tuân thủ hoặc nhạy cảm về chi phí ở quy mô lớn.
2. Ory Enterprise License (OEL)
Tự lưu trữ, với hỗ trợ thương mại: SLA, đảm bảo bản vá bảo mật, một Docker registry riêng với các bản build đã được kiểm định và quyền truy cập trực tiếp vào các kỹ sư của Ory. Thêm các thành phần chỉ dành cho doanh nghiệp bao gồm Ory Polis (SAML, SCIM) và liên kết B2B nâng cao.
Phù hợp nhất cho: Các đội doanh nghiệp cần tự lưu trữ vì chủ quyền dữ liệu nhưng muốn có hợp đồng hỗ trợ cấp sản xuất.
3. Ory Network (Đám mây quản lý)
Một phiên bản SaaS được quản lý hoàn toàn, phân phối toàn cầu của stack Ory.
Lưu ý về giá: Xác minh giá hiện tại tại ory.com/pricing trước khi đưa ra quyết định, vì giá thay đổi thường xuyên.
Phù hợp nhất cho: Các đội muốn di chuyển nhanh mà không cần quản lý cơ sở hạ tầng, hoặc những người mới bắt đầu trước khi quyết định có tự lưu trữ hay không.
Lợi thế chính của Ory Network: việc chuyển sang tự lưu trữ sau này chỉ yêu cầu thay đổi URL trong cấu hình của bạn. Mã ứng dụng của bạn không thay đổi.
So sánh Ory với Auth0, Keycloak và Firebase
Ai nên (và không nên) sử dụng Ory
Ory là lựa chọn phù hợp nếu bạn:
- Đang xây dựng một ứng dụng hướng tới khách hàng cần mở rộng quy mô vượt quá hàng chục nghìn người dùng
- Muốn toàn quyền sở hữu dữ liệu người dùng và cơ sở hạ tầng danh tính của mình
- Có năng lực kỹ thuật để tích hợp các dịch vụ API-first
- Cần tự lưu trữ vì tuân thủ, cư trú dữ liệu hoặc yêu cầu GDPR
- Mệt mỏi với việc giá Auth0 tăng theo số lượng người dùng của bạn
- Đang xây dựng các tác nhân AI hoặc quy trình machine-to-machine cần danh tính
Ory có thể không phải là lựa chọn phù hợp nếu bạn:
- Cần một thứ hoạt động trong vòng chưa đầy một giờ mà không cần cấu hình (Auth0 hoặc Firebase nhanh hơn để bắt đầu)
- Có các nhà vận hành phi kỹ thuật cần quản lý danh tính qua giao diện người dùng (Keycloak có bảng điều khiển quản trị tốt hơn)
- Cần SAML 2.0 ở gói miễn phí (Keycloak hỗ trợ điều này; Ory yêu cầu Enterprise License)
- Đang chạy một dự án cá nhân nhỏ mà quy mô không phải là mối quan tâm
Bước tiếp theo?
Auth0 đã là một trong những nền tảng danh tính phổ biến nhất trong nhiều năm. Nó trau chuốt, có tài liệu tốt và có thể đưa hầu hết các ứng dụng từ con số không đến một luồng đăng nhập hoạt động trong thời gian rất ngắn.
Nhưng khi các ứng dụng phát triển, nhiều đội bắt đầu tìm kiếm các giải pháp thay thế cung cấp chi phí dài hạn thấp hơn, tùy chọn tự lưu trữ, các thành phần mã nguồn mở và kiểm soát tốt hơn đối với dữ liệu người dùng.
Nếu bạn muốn dùng thử Ory, bạn thật may mắn. Hãy đọc hướng dẫn sau để di chuyển từ Auth0 sang Ory:
Kết luận
Ory tồn tại bởi vì xác thực là một vấn đề đã được giải quyết mà hầu hết các đội cứ tiếp tục giải lại, một cách tồi tệ, dưới áp lực thời gian. Nó cung cấp cho bạn một stack danh tính đã được kiểm chứng trong sản xuất, chạy ở quy mô OpenAI, được xây dựng trên các tiêu chuẩn mở, không bị khóa nhà cung cấp và bạn có thể kiểm tra từng dòng mã.
Tất nhiên, Ory có một đường cong học tập dốc. Nhưng phần thưởng xứng đáng với công sức bỏ ra.


