leduanSt1 / CCVMTPTPM_NHOM6

0 stars 0 forks source link

Tìm hiểu về Kong authentication #3

Closed leduanSt1 closed 1 year ago

leduanSt1 commented 1 year ago
tranngobichdu commented 1 year ago

API Gateway là gì? API Gateway là một phần mềm trung gian (middleware) giúp quản lý và bảo vệ các API (Application Programming Interface) trong hệ thống. Nó là một thành phần quan trọng của kiến trúc dịch vụ hướng tới (service-oriented architecture - SOA) và kiến trúc dịch vụ mịn (microservices architecture) trong các hệ thống phần mềm lớn. API Gateway thường được sử dụng để kiểm soát và quản lý các yêu cầu và phản hồi của các API, từ việc định tuyến yêu cầu đến việc bảo mật và ủy quyền truy cập. Nó có thể cung cấp các tính năng như chuyển tiếp yêu cầu, kiểm soát lưu lượng, bảo vệ chống tấn công, giám sát và phân tích dữ liệu về lưu lượng API. Sử dụng API Gateway giúp cho các nhà phát triển và quản trị viên có thể tập trung vào việc phát triển và triển khai các dịch vụ API mà không phải quan tâm đến các vấn đề quản lý và bảo mật. Nó cũng giúp tăng tính khả dụng và linh hoạt của các hệ thống phần mềm, bằng cách cho phép các API được quản lý và bảo vệ một cách chuyên nghiệp.

tranngobichdu commented 1 year ago

API Gateway Authetication API Gateway Authentication là quá trình xác thực (authentication) người dùng và phân quyền truy cập (authorization) vào các API (Application Programming Interface) được quản lý bởi API Gateway. API Gateway Authentication là một tính năng quan trọng trong việc quản lý và bảo vệ API, đảm bảo rằng chỉ có người dùng có quyền truy cập mới được phép truy cập vào các API. Các phương thức xác thực thông thường bao gồm:

  1. API Key: Sử dụng API Key (khóa API) là phương pháp đơn giản để xác thực các yêu cầu API. Mỗi API Key được gán cho một người dùng hoặc ứng dụng cụ thể và được sử dụng để xác định người dùng hoặc ứng dụng đó trong các yêu cầu API.
  2. OAuth 2.0: OAuth 2.0 là một giao thức xác thực tiêu chuẩn cho các ứng dụng web và di động. Nó cho phép người dùng cấp quyền cho các ứng dụng của mình để truy cập vào các tài nguyên được bảo vệ bởi các API. OAuth 2.0 sử dụng các mã thông báo để xác thực người dùng và cấp quyền truy cập.
  3. SSO (Single Sign-On): SSO là một phương pháp xác thực trong đó người dùng chỉ cần đăng nhập một lần và sau đó được phép truy cập vào nhiều ứng dụng hoặc dịch vụ khác nhau mà không cần phải đăng nhập lại. SSO cũng cho phép quản lý phân quyền truy cập của người dùng vào các API. API Gateway Authentication cũng có thể tích hợp với các dịch vụ quản lý danh tính (identity management services) như LDAP, Active Directory hoặc các dịch vụ như Okta, Auth0 để quản lý người dùng và phân quyền truy cập vào các API.
tranngobichdu commented 1 year ago

Kong API Gateway là gì? Kong API là một nền tảng API Gateway mã nguồn mở, được thiết kế để quản lý và bảo mật các API. Nó cung cấp một tập hợp các tính năng như chuyển tiếp API, kiểm soát truy cập, giám sát và phân tích dữ liệu. Kong được xây dựng trên nền tảng nginx, cho phép nó hoạt động hiệu quả và có khả năng mở rộng tốt. Với Kong, người dùng có thể dễ dàng quản lý các API của họ, từ việc xác thực người dùng đến quản lý tốc độ truy cập và phân tích lưu lượng. Một số tính năng của Kong bao gồm: • Cơ chế bảo mật API: Kong cung cấp các tính năng bảo mật API như xác thực và ủy quyền người dùng, quản lý token truy cập và giám sát lưu lượng. • Chuyển tiếp API: Kong cho phép người dùng chuyển tiếp các yêu cầu API từ các khách hàng đến các dịch vụ bên dưới và trả về phản hồi tương ứng cho khách hàng. • Quản lý và giám sát API: Kong cung cấp các tính năng giám sát và phân tích dữ liệu, cho phép người dùng quản lý và giám sát lưu lượng API của họ để phát hiện sự cố và tối ưu hóa hiệu suất. Kong là một giải pháp tốt cho các tổ chức và doanh nghiệp có nhu cầu quản lý và bảo mật các API của họ. Với tính linh hoạt và khả năng mở rộng, Kong cung cấp các tính năng quan trọng để quản lý và bảo vệ các API và giúp cải thiện hiệu suất của chúng.

tranngobichdu commented 1 year ago

Kong Authetication Kong Authentication là một plugin cho API Gateway Kong, cung cấp các tính năng xác thực và phân quyền truy cập cho các API được quản lý bởi Kong. Plugin này hỗ trợ các phương thức xác thực phổ biến như Basic Auth, API Key, OAuth 2.0 và JWT (JSON Web Token). Các tính năng chính của Kong Authentication bao gồm:

  1. Xác thực người dùng: Plugin này cho phép xác thực người dùng bằng cách sử dụng các phương thức xác thực như Basic Auth, OAuth 2.0 hoặc JWT.
  2. Phân quyền truy cập: Kong Authentication cung cấp khả năng phân quyền truy cập cho các API, đảm bảo rằng chỉ có người dùng có quyền truy cập mới được phép truy cập vào các API.
  3. Quản lý người dùng: Plugin này tích hợp với các dịch vụ quản lý danh tính như LDAP, Active Directory, hoặc các dịch vụ như Okta, Auth0 để quản lý người dùng và phân quyền truy cập vào các API.
  4. Quản lý API Key: Kong Authentication cung cấp khả năng tạo và quản lý các API Key để xác thực các yêu cầu API.
  5. Quản lý Access Token: Plugin này hỗ trợ việc tạo và quản lý các Access Token (mã thông báo truy cập) để xác thực và phân quyền truy cập vào các API. Kong Authentication cho phép các nhà phát triển và quản trị viên quản lý và bảo vệ các API một cách chuyên nghiệp và linh hoạt. Đồng thời, plugin này cũng giúp tăng tính bảo mật của các hệ thống phần mềm, đảm bảo rằng chỉ có người dùng có quyền truy cập mới được phép truy cập vào các API
tranngobichdu commented 1 year ago

Cài đặt Kong là một ứng dụng có thể cài đặt và sử dụng trên nhiều hệ điều hành khác nhau, bao gồm cả Windows. Dưới đây là hướng dẫn cài đặt và sử dụng Kong trên Windows:  Tải xuống phiên bản Kong cho Windows từ trang chủ của Kong: https://konghq.com/install/  Sau khi tải xuống, giải nén tệp zip.  Tạo một biến môi trường mới có tên KONG_HOME để trỏ đến thư mục Kong đã giải nén. Ví dụ: Nếu bạn giải nén Kong vào đường dẫn "C:\kong", hãy tạo biến môi trường KONG_HOME với giá trị là "C:\kong".  Thêm đường dẫn đến thư mục Kong đã giải nén vào biến môi trường Path của hệ thống.  Mở cửa sổ Command Prompt và chạy lệnh "kong start" để khởi động Kong.  Sử dụng lệnh "kong" để thao tác với Kong, ví dụ như "kong version" để kiểm tra phiên bản của Kong hoặc "kong health" để kiểm tra trạng thái của các services.  Lưu ý rằng Kong cần một cơ sở dữ liệu để lưu trữ thông tin cấu hình. Bạn có thể sử dụng PostgreSQL hoặc Cassandra để làm cơ sở dữ liệu cho Kong. Các bước cài đặt cơ sở dữ liệu này không được đề cập trong hướng dẫn này, tuy nhiên bạn có thể tìm thấy thông tin chi tiết về cách cài đặt PostgreSQL hoặc Cassandra cho Kong trên trang chủ của Kong.

tranngobichdu commented 1 year ago

Ứng dụng Kong API Kong API Gateway là một giải pháp ứng dụng rộng rãi trong việc quản lý, bảo mật và mở rộng các API của doanh nghiệp. Một số ứng dụng của Kong API Gateway bao gồm:

Quản lý các API: Kong cung cấp một cách để quản lý và phân phối các API của bạn một cách hiệu quả. Nó cung cấp các tính năng như kiểm soát quyền truy cập, quản lý phiên, bảo mật API và theo dõi hoạt động API.

Phân phối API: Với Kong, bạn có thể phân phối các API của mình trên nhiều máy chủ, vùng địa lý và môi trường. Điều này giúp bạn nhanh chóng mở rộng và mở rộng các API của mình mà không bị giới hạn bởi một máy chủ duy nhất.

Bảo mật API: Kong cung cấp các tính năng bảo mật để bảo vệ các API của bạn khỏi các cuộc tấn công và lỗ hổng bảo mật. Điều này bao gồm xác thực, kiểm soát truy cập và mã hóa dữ liệu.

Phân quyền truy cập: Kong cho phép bạn quản lý các quyền truy cập của người dùng đối với các API của bạn. Điều này cho phép bạn giới hạn quyền truy cập của một người dùng vào các API cụ thể hoặc các tài nguyên cụ thể trong API.

Giám sát hoạt động API: Kong cung cấp các công cụ giám sát hoạt động API để giúp bạn theo dõi lưu lượng truy cập, hiệu suất và sức mạnh của các API của bạn. Bạn có thể sử dụng dữ liệu này để tối ưu hóa các API của mình và nâng cao trải nghiệm của người dùng.

Tích hợp các công nghệ khác: Kong hỗ trợ các giao thức và công nghệ khác nhau, cho phép bạn tích hợp các công nghệ khác vào hệ thống của mình. Điều này bao gồm các công nghệ như Kubernetes, Docker và các hệ thống cơ sở dữ liệu khác.

tranngobichdu commented 1 year ago

Ưu điểm: Hỗ trợ quản lý API dễ dàng: Kong API Gateway cung cấp một bộ công cụ quản lý API để quản lý và điều phối lưu lượng dữ liệu giữa các ứng dụng. Hỗ trợ cho nhiều loại API: Kong API Gateway hỗ trợ nhiều loại API như RESTful API, SOAP API, GraphQL, WebSockets và các loại API khác. Bảo mật và kiểm soát truy cập: Kong API Gateway cung cấp các tính năng bảo mật như xác thực người dùng, phân quyền truy cập và mã hóa dữ liệu để bảo vệ các ứng dụng khỏi các cuộc tấn công mạng. Tích hợp dễ dàng: Kong API Gateway có thể tích hợp dễ dàng với các công nghệ khác như Docker, Kubernetes và các dịch vụ đám mây khác.

Nhược điểm: Cấu hình phức tạp: Một số tính năng của Kong API Gateway có thể khó cấu hình và yêu cầu một số kiến thức kỹ thuật. Không hỗ trợ hoàn chỉnh cho một số loại API: Mặc dù Kong API Gateway hỗ trợ nhiều loại API, nhưng nó vẫn không hỗ trợ hoàn chỉnh cho một số loại API như gRPC API. Tốc độ truy cập chậm: Do các lớp trung gian được thêm vào quá trình truy cập API, điều này có thể làm tăng thời gian phản hồi và làm chậm tốc độ truy cập của ứng dụng.