Keycloak là gì và nó cung cấp các gì?

Bảo mật ứng dụng ngày càng trở thành một chủ đề quan trọng hơn. Truy cập trái phép vào tài liệu được bảo vệ có năng lực gây thiệt hại hàng triệu đô la dưới các hình thức phạt kinh tế tài chính khác nhau. Hầu hết mọi ứng dụng đều cần 1 số ít công cụ đáng an toàn và đáng tin cậy để quản trị danh tính và quyền truy vấn của người sử dụng .Có một loạt các Phương pháp trên thị trường – cả không lấy phí và trả phí – hứa hẹn phân phối các tính năng như vậy. Trong bài viết thời điểm ngày hôm nay, tôi sẽ cố gắng nỗ lực ra mắt cho bạn một trong các công cụ này, hoàn toàn có thể bạn đoán từ tiêu đề, sẽ là Keycloak .Tôi kỳ vọng rằng bài viết này sẽ phân phối cho bạn hiểu rõ hơn về các điều cơ bản của nó và tại sao nó hoàn toàn có thể mang lại doanh thu để bạn làm quen với nó. Như thường lệ, tôi sẽ mở màn với một diễn đạt ngắn về Keycloak đúng mực là gì .

Trước khi chúng tôi bắt đầu – tuyên bố từ chối trách nhiệm nhanh

Keycloak là gì và nó cung cấp các gì?

Bài viết này sẽ chỉ nói về Máy chủ Keycloak. Các công cụ như Keycloak Gatekeeper hoặc Adapters sẽ không được đề cập ở đây. Mỗi khi tôi sử dụng từ ” Keycloak ” thì nó có nghĩa là Máy chủ Keycloak .

Bạn đang đọc: Keycloak là gì và nó cung cấp các gì?

Keycloak là gì?

Về cơ bản, nó là một công cụ mã nguồn mở hiện được cấp phép với Apache License 2.0. Đây cũng là một dự án Bất Động Sản ngược dòng cho Red Hat SSO, thế cho nên nếu bạn đang tìm kiếm thứ gì đó tập trung chuyên sâu vào doanh nghiệp hơn, bạn hoàn toàn có thể kiểm tra nó. Mục đích chính của Keycloak là phân phối “ Phương pháp quản trị danh tính và quyền truy vấn cho các ứng dụng văn minh ”, như được viết trên trang dự án Bất Động Sản của họ trên GitHub .

Hiện tại, Keycloak hỗ trợ ba giao thức xác thực. Danh sách đầy đủ các nền tảng được hỗ trợ phụ thuộc vào giao thức bạn quyết định sử dụng và có thể được xem trong tài liệu Keycloak (liên kết được cung cấp ở cuối bài viết). Bản phát hành đầu tiên của Keycloak diễn ra vào tháng 9 năm 2014; phiên bản hiện tại là 12.0.2(2021-02-04). Nó được phát triển và duy trì bởi những người từ Red Hat. Họ mở cửa cho những người đóng góp mới nếu bất kỳ ai quan tâm.

Tính năng của Keycloak

Sau phần trình làng ngắn gọn ở đoạn trước, tôi nghĩ đã đến lúc nói với bạn nhiều hơn về các gì Keycloak hoàn toàn có thể làm được .

Hỗ trợ nhiều giao thức

Hiện tại, Keycloak hỗ trợ ba giao thức khác nhau, đó là – OpenID Connect, OAuth 2.0 và SAML 2.0.

SSO

Keycloak có hỗ trợ đầy đủ cho Đăng nhập một lần và Đăng xuất một lần.

Bảng điều khiển dành cho quản trị viên

Keycloak cung cấp GUI dựa trên web, nơi bạn có thể “nhấp ra” tất cả các cấu hình mà phiên bản của bạn yêu cầu để hoạt động như bạn mong muốn.

Danh tính Người sử dụng và Quyền truy cập

Keycloak có thể được sử dụng làm trình quản lý truy cập và nhận dạng người sử dụng độc lập bằng cách cho phép chúng tôi tạo cơ sở dữ liệu người sử dụng với các vai trò và nhóm tùy chỉnh. Thông tin này có thể được sử dụng thêm để xác thực người sử dụng trong ứng dụng của chúng tôi và bảo mật các phần của nó dựa trên các vai trò được xác định trước.

Đồng bộ hóa nguồn nhận dạng bên ngoài

Trong trường hợp khách hàng của bạn hiện có một vài loại cơ sở dữ liệu người sử dụng, Keycloak cho phép chúng tôi đồng bộ hóa với cơ sở dữ liệu đó. Theo mặc định, nó hỗ trợ LDAPvà Active Directorynhưng bạn có thể tạo tiện ích mở rộng tùy chỉnh cho bất kỳ cơ sở dữ liệu người sử dụng nào bằng cách sử dụng API lưu trữ người sử dụng Keycloak. Hãy nhớ rằng một Phương pháp như vậy có thể không có tất cả dữ liệu cần thiết để Keycloak hoạt động đầy đủ, vì vậy hãy nhớ kiểm tra xem chức năng mong muốn của bạn có hoạt động hay không.

Môi giới nhận dạng

Keycloak cũng có thể hoạt động như một proxy giữa người sử dụng của bạn và một vài nhà cung cấp hoặc nhà cung cấp danh tính bên ngoài. Danh sách của họ có thể được chỉnh sửa từ Keycloak Admin Panel.

Nhà cung cấp danh tính xã hội

Ngoài ra, Keycloak cho phép chúng tôi sử dụng Nhà cung cấp nhận dạng xã hội. Nó có hỗ trợ tích hợp Google, Twitter, Facebook, Stack Overflow nhưng cuối cùng, bạn phải cấu hình tất cả chúng theo cách thủ công từ bảng quản trị. Danh sách đầy đủ các nhà cung cấp nhận dạng xã hội được hỗ trợ và hướng dẫn cấu hình của họ có thể được tìm thấy trong tài liệu Keycloak.

Tùy chỉnh trang

Keycloak cho phép bạn tùy chỉnh tất cả các trang được nó hiển thị cho người sử dụng của bạn. Các trang đó có .ftlđịnh dạng để bạn có thể sử dụng các HTML đánh dấu và CSSkiểu cổ điển để làm cho trang phù hợp với kiểu ứng dụng và thương hiệu công ty của bạn. Bạn thậm chí có thể đặt các JStập lệnh tùy chỉnh như một phần của tùy chỉnh trang để khả năng xảy ra là vô hạn.

Đây là toàn bộ các tính năng của Keycloak mà tôi muốn diễn đạt ngày hôm nay. Tất nhiên, công cụ này phân phối nhiều năng lực hơn, được miêu tả một cách chi tiết cụ thể hơn trong tài liệu .

Phân phối của Keycloak

Hiện tại, Keycloak có ba bản phân phối chính .

Người phục vụ

Ứng dụng độc lập có thể tải xuống từ trang Keycloak dưới dạng tệp lưu trữ tar hoặc zip với tất cả các tập lệnh, tài liệu và nội dung cần thiết để hoạt động bình thường. Hiện tại, có hai phiên bản chính của bản phân phối này: một phiên bản được cung cấp bởi máy chủ WildFly trong khi phiên bản còn lại được cung cấp bởi Quarkus. Hiện nó đang ở giai đoạn xem trước nên có thể xảy ra một vài lỗi không mong muốn.

Hình ảnh Docker

Phân phối thích hợp cho Docker, Podman, Kubernetes và OpenShift. Có hai hình ảnh docker chính thức cho Keycloak: một hình ảnh được tổ chức tại Quay Container Registry – quay.io/keycloak/keycloak, hình ảnh thứ hai được tổ chức trong Docker Hub – jboss/keycloak. Bạn có thể tải xuống cả hai bằng một docker pulllệnh đơn giản .

Nhà điều hành

Phân phối cho Kubernetes và OpenShift dựa trên SDK của nhà điều hành.

Như bạn hoàn toàn có thể thấy, mọi người đều hoàn toàn có thể tìm thấy một phân phối thích hợp. Nếu bạn sử dụng Docker hoặc Kubernetes, bạn có hình ảnh và toán tử Keycloak. Mặt khác, nếu bạn thích kiểu triển khai thông thường hơn, bạn cũng sẽ tìm thấy bản phân phối cho mình. Ngay cả khi đó hình ảnh Keycloak Docker hoàn toàn có thể cực kỳ có ích để tăng trưởng và thử nghiệm .Bạn hoàn toàn có thể thiết lập sever Keycloak thử nghiệm của mình sau đó triển khai các biến hóa và kiểm tra chúng. Sau khi kiểm tra, bạn hoàn toàn có thể khởi động lại hình ảnh Docker của mình và tổng thể các biến hóa được thực thi so với Keycloak của bạn sẽ được hoàn nguyên và bạn sẽ có được một thiên nhiên và môi trường rõ ràng để kiểm tra thêm .

Tích hợp Keycloak

Vì vậy, giờ đây bạn đã biết cơ bản về Keycloak và các tính năng của nó. Câu hỏi sau cuối còn lại là – làm thế nào để tích hợp nó vào ứng dụng của bạn ?

Ở đây tôi sẽ nói chủ yếu từ quan điểm của Java eco-systemnhưng tôi cũng sẽ đề cập đến một vài ngôn ngữ và khuôn khổ khác. Trong Java hiện tại, các khung công tác phổ biến nhất như Spring Boot, Quarkus và Micronaut có một vài loại bộ điều hợp giúp tích hợp với Keycloak thực sự dễ dàng.

Trong trường hợp Khởi động mùa xuân, đó là spring-boot-keycloak-startertrong trường hợp Quarkus quarks-keycloak-authorization.

Mặt khác, trong gói Python python-keycloakcó vẻ khá hữu ích. 

Đối với thư viện ứng dụng dựa trên Scala, keycloak4scũng có vẻ tốt. 

Đối với ứng dụng dựa trên C # Keycloak.Nettrông giống như một lib tiện dụng. 

Tất cả các thư viện đều là mã nguồn mở, được tăng trưởng và duy trì bởi hội đồng được thiết kế xây dựng xung quanh Keycloak. Tôi sẽ đặt các link tương ứng ở cuối bài viết .Trong trường hợp của Spring Boot và Quarkus, nhờ sự trừu tượng của khuôn khổ được phân phối, hàng loạt tích hợp chỉ cần một vài dòng mã và điền vào một vài ít thuộc tính thông số kỹ thuật. Trong các trường hợp khác, thư viện chỉ phân phối ứng dụng khách API Keycloak nên việc tích hợp hoàn toàn có thể phức tạp hơn .

Tại sao bạn nên biết Keycloak

Trước hết, nó là không lấy phí. Bạn hoàn toàn có thể nghĩ rằng điều đó thật buồn cười nhưng trên trong thực tiễn, hầu hết các công cụ có tính năng như AuthO hay Okta đều được trả phí .Thứ hai, nó tương hỗ ba giao thức xác nhận khác nhau mang đến cho bạn năng lực bao trùm nhiều ứng dụng với các nhu yếu bảo mật thông tin khác nhau bằng một công cụ duy nhất .Ngoài ra, bạn hoàn toàn có thể chọn một giao thức xác nhận dựa trên các gì bạn cần hoặc các gì bạn nghĩ sẽ tốt hơn cho ứng dụng của mình và bạn không bị số lượng giới hạn bởi công cụ bạn đang sử dụng. Keycloak cũng là một dự án Bất Động Sản ngược dòng cho loại sản phẩm Red Hat SSO nên bạn hoàn toàn có thể chắc như đinh rằng đó là một mạng lưới hệ thống được viết tốt và được phong cách thiết kế tốt .Hơn nữa, nó có sự tương hỗ của hội đồng lớn, bảo vệ rằng có rất nhiều thí dụ về cách làm điều gì đó và bạn hoàn toàn có thể tin yêu vào những người khác để giúp bạn xử lý các yếu tố của bạn. Keycloak hoàn toàn có thể rất hữu dụng khi máy khách của bạn có 1 số ít cơ sở tài liệu người sử dụng hiện có như LDAP hoặc Active Directory vì nó có chính sách tích hợp để đồng điệu hóa với các nhà sản xuất danh tính như vậy .Ngoài ra, Keycloak tương hỗ các nhà sản xuất danh tính xã hội như Google hoặc Facebook ngay lập tức, vì thế nếu bạn muốn sử dụng Đăng nhập xã hội, Keycloak hoàn toàn có thể rất có ích cho bạn và nhóm của bạn .Hơn nữa, nó cung ứng GUI dựa trên web giúp biến hóa thông số kỹ thuật thuận tiện hơn. Cuối cùng, nhờ sự tương hỗ của Keycloak SSO, bạn hoàn toàn có thể tạo điều kiện kèm theo cho người sử dụng truy vấn vào nhiều dịch vụ do công ty của bạn quản lý .

Khi đó có thể không phải là lựa chọn tốt nhất

Tôi đã nói tại sao bạn nên sử dụng Keycloak như vậy, để giữ khách quan, tôi sẽ nói điều gì đó về thời gian nó hoàn toàn có thể không phải là lựa chọn tốt nhất cho bạn .

Ứng dụng duy nhất với chỉ một người mua trong nghành nghề dịch vụ Keycloak – mất tổng thể quyền lợi của SSOKhông tích hợp với AD hoặc bất kể nhà phân phối tài liệu người sử dụng nào khácKhông có đăng nhập xã hộiCơ sở tài liệu người sử dụng thuần túy – Keycloak hoàn toàn có thể được sử dụng theo cách này nhưng cơ sở tài liệu với các bảng đơn cử cũng vậy và hoàn toàn có thể thuận tiện định thông số kỹ thuật hơn nhiều nếu bạn đã cómột vài loại bảo vệ cấp doanh nghiệp – Keycloak vẫn là một dự án Bất Động Sản mã nguồn mở, thế cho nên bạn không có bất kể bảo vệ nào do nhà phân phối cung ứng về hoạt động giải trí hoặc lộ trình của nó và các thứ như tương hỗ người mua sẽ được Stack Overflow tiếp đón và chắc như đinh là không khó thời hạn vấn đáp

Hãy nhớ rằng việc cung ứng bất kể hoặc thậm chí còn tổng thể các điều kiện kèm theo này so với ứng dụng của bạn không ngay lập tức cho thấy rằng bạn không nên sử dụng Keycloak. Nó chỉ có nghĩa là bạn hoàn toàn có thể có lợi khi xem xét lại ưu và điểm yếu kém của việc bảo mật thông tin ứng dụng của mình bằng Keycloak. Có lẽ có một công cụ hoặc Phương pháp ít phức tạp hơn hoàn toàn có thể được sử dụng .

Tổng hợp

Tôi đã trình diễn 1 số ít thông tin cơ bản về Keycloak là gì, các tính năng mà nó cung ứng và thêm một vài ít từ về các bản phân phối khác nhau của nó. Tôi đã Tóm lại bằng một lời lý giải ngắn gọn khi nó hoàn toàn có thể là sự lựa chọn tốt hơn các công cụ khác và khi nó hoàn toàn có thể không. Tôi kỳ vọng rằng bài viết của tôi đã cung ứng cho bạn 1 số ít kiến ​ ​ thức chung hơn về chính Keycloak, các gì nó phân phối và khi nào nó hoàn toàn có thể giúp ích cho bạn. Quyết định sau cuối về việc đi sâu hơn vào Keycloak, tôi để lại cho bạn .

Liên kết

Trang chínhTài liệu về Keycloak

Tải xuống Keycloak

https://github.com/fullfacing/keycloak4shttps://github.com/lvermeulen/Keycloak.Net

https://github.com/marcospereirampj/python-keycloak

Giới thiệu: Quang Sơn

Quang Sơn là giám đốc hocdauthau.com - Kênh thông tin học đấu thầu, kiến thức tổng hợp, công nghệ, đời sống.

0 Shares
Share
Tweet
Pin