Các thành phần của dịch vụ API Gateway

Một phần của tài liệu Phát triển api gateway Đảm bảo an toàn hệ thống microservices (Trang 25 - 31)

Chương II Phân tích, thiết kế API Gateway

2.1. Các thành phần của dịch vụ API Gateway

Dịch vụ API Gateway sẽ bao gồm một nhóm bao gồm hai ứng dụng. Trong đó có ứng dụng cổng trung gian (API Gateway), ứng dụng quản lý API trên cổng trung gian (API Management). API Gateway sẽ kết nối trực tiếp với các dịch vụ hiện có (Existing Services) bên trong môi trường Runtime Backend. Dưới đây là hình ảnh minh họa cho các thành phần của dịch vụ API Gateway

Hình 2. 1. Các thành phần cơ bản của API Gateway

API Management: Đây là phần để ta tạo các API, chia sẻ tài liệu, cung

cấp khóa và thu thập phản hổi các tính năng.

API Gateway: Bảo vệ, quản lý và cân bằng các cuộc gọi API. Đây là một

proxy API đơn giản chặn các yêu cầu API và áp dụng các chính sách như kiểm soát ngăn chặn và đảm bảo an toàn. Điều chỉnh lượng truy cập vào API, bảo đảm cho API trước các cuộc tấn công. Xử lý tất cả các hoạt động liên quan bảo mật và phát hành khóa. Kiểm tra tính hợp lệ của các đăng

ký. Nó cũng là công cụ thu thập số liệu thống kê sử dụng API

Dưới đây là các mô hình luồng dữ liệu sau khi vào API Gateway:

Request BLACK LIST YES SYSTEM YES API

YES

APPLICATION

YES NO

RESPONSE ERROR

ENDPOINT

YES

RESPONSE NO

NO

MÔ HÌNH TỔNG THỂ

Hình 2. 2. Mô hình tổng thể luồng dữ liệu

MÔ HÌNH CHI TIẾT

BLACK LIST SYSTEM API APPLICATION END-POINT

Giai đoạn

REQUEST IP Block

IP YES

Blocked

NO Request

Count Rate Limit NO

error

YES

Bandwidth Rate Limit NO

error YES

Exist URI Not NO

Found

YES

API public NO

ApiBlocked YES

Token key NO

TokenKey

Not

Found

YES

Token is valid TokenKey NO

Invalid YES

Endpoint Error Backend NO

Error

YES Response

Hình 2. 3. Mô hình chi tiết luồng dữ liệu

Mô tả tổng quan các tính năng của API Gateway:

Kiểm tra Black List

Mục đích của kiểm tra Black list:

o Không cho phép một IP hoặc một dải IP được quyền truy cập vào hệ thống.

o Không cho phép một IP hoặc một dải IP truy cập vào 1 hoặc nhiều API của hệ thống.

o Không cho phép một IP hoặc một dải IP truy cập vào 1 hoặc nhiều Application của hệ thống.

Kiểm tra điều kiện mức System

Sau khi kiểm tra IP request lên không nằm trong danh sách Black list hệ thống tiếp tục kiểm tra điều kiện Mức System.

Mục đich của điều kiện mức System, điều kiện này được đặt ra cho toàn bộ hệ thống:

o Check số lượng request vào hệ thống.

o Check số lượng Bandwidth request vào hệ thống.

Kiểm tra điều kiện Request Bandwidth:

 Khi 1 request được gọi vào hệ thống, hệ thống sẽ tính toán dung lượng request (a)gửi lên cộng với tổng số dung lượng request đã thực hiện gọi lên thành công trước đó(b). Nếu số (a+b) <= QUOTA thì hệ thống chuyển sang kiểm tra điều kiện tiếp theo. Ngược lại hệ thống sẽ dừng lại không tính toán mà gửi lại cho Client thông báo: Số lượng dung lượng request vượt quá ngưỡng giới hạn.

 Sau mỗi lần request lên hệ thống thành công, hệ thống sẽ tính toán dung lượng request gọi vào hệ thống và sẽ cộng dồn các dung lượng lại.

Kiểm tra điều kiện Request Count:

 Khi 1 request được gọi vào hệ thống, hệ thống sẽ tính toán request (a)gửi lên cộng với tổng số request đã thực hiện gọi lên thành công trước đó(b). Nếu số (a+b) <= QUOTA thì hệ thống chuyển sang kiểm tra điều kiện tiếp theo. Ngược lại hệ thống sẽ dừng lại không tính toán

mà gửi lại cho Client thông báo: Số lượng request vượt quá ngưỡng giới hạn.

Sau mỗi lần request lên hệ thống thành công, hệ thống sẽ tính toán request gọi vào hệ thống và sẽ cộng dồn các request lại.

Kiểm tra điều kiện mức API:

Sau khi kiểm tra và pass qua mức System hệ thống kiểm tra mức API.

Mục đich của điều kiện mức API:

o Kiểm tra xem URL của Api request lên có tồn tại hay không.

o Kiểm tra xem API trạng thái có đươc Published hay không.

Kiểm tra URL: hệ thống sẽ đọc URL để lấy thông tin: {context},

{version},{parttern} có trong bảng API version hay không? Nếu có chuyển sang kiểm tra điều kiện tiếp theo, nếu không có dừng lại và trả kết quả về cho Client với nội dung URL không tồn tại.

Kiểm tra xem API có ở trạng thái Published: hệ thống sẽ đọc

URL để lấy thông tin: {context},{version} có trong bảng API version để lấy trạng thái CURRENT_STATE = 1. Nếu đúng hệ thống chuyển sang kiểm tra điều kiện tiếp theo. Nếu không đúng hệ thống dừng lại và trả kết quả về cho Client nội dung API hiện đang không được Public.

Kiểm tra điều kiện mức Application

Sau khi pass qua các điều kiện API hệ thống chuyển sang mức kiểm tra Application.

Mục đich của điều kiện mức Application:

o Check xem Token gửi lên có đúng hay không.

o Check xem API này có đúng là được gán cho Application với Token truyền lên hay không.

o Check API được gán cho Application có Unlocked hay không.

o Kiểm tra điều kiện Request Bandwidth Application

o Kiểm tra điều kiện Request Count Application

Định tuyến và kiểm tra với End-Point

Sau khi pass qua các điều kiện hệ thống chuyển sang mức kiểm tra End-Point,

Mục đích: Kiểm tra thực hiện lấy dữ liệu từ End-Point.

Request sẽ được gửi sang End-Point, Nếu End-Point lỗi hệ thống trả dừng lại và trả về kết quả cho client là End-point hiện đang bị lỗi. Nếu việc gọi sang End-Point không bị lỗi hệ thống trả về cho client các kết quả nhận được từ End-point.

Một phần của tài liệu Phát triển api gateway Đảm bảo an toàn hệ thống microservices (Trang 25 - 31)

Tải bản đầy đủ (DOCX)

(86 trang)
w