Key Authentication (Key Auth)
Tổng Quan
Chính sách Key Authentication (key-auth) thực thi bảo mật API bằng cách yêu cầu người tiêu dùng API phải bao gồm một API Key hợp lệ trong tiêu đề yêu cầu của họ. Cơ chế này đảm bảo rằng chỉ những người dùng hoặc ứng dụng được ủy quyền mới có thể truy cập API.
Cách Hoạt Động của Xác Thực Khóa
- Người tiêu dùng API phải cung cấp một valid API Key trong tiêu đề yêu cầu.
- Cổng API xác minh Khóa API trước khi xử lý yêu cầu.
- Nếu Khóa API là missing hoặc invalid, yêu cầu sẽ bị từ chối với lỗi xác thực.
Khi Nào Sử Dụng Xác Thực Khóa
- Để hạn chế quyền truy cập API đến authorized clients.
- Khi cần một cơ chế API consumer identification.
- Khi combining multiple authentication methods (ví dụ: key-auth + JWT).
Note: Nếu cả key-auth và JWT authentication đều được kích hoạt, các phương thức xác thực both phải được truyền để yêu cầu thành công.
Chi Tiết Cấu Hình
Tạo Khóa API
Trước khi áp dụng chính sách Key Authentication, một Khóa API phải được tạo ra. Thực hiện theo các bước sau:
Step 1: Open the API Key Management Page- Điều hướng đến menu APIM Management trong Bảng điều khiển APIM
- Chọn dự án mà bạn muốn tạo một Khóa API.
- Nhấp vào nút Create API Key.
- Nhập một description cho Khóa API (ví dụ: "Khóa cho Truy cập Ứng dụng Di động").
- Hệ thống sẽ automatically generate a unique API Key.
- Khi được tạo, Khóa API sẽ được hiển thị trên màn hình quản lý Khóa API.
- Người dùng có thể tìm kiếm Khóa API và sao chép lại nếu cần.
Các Trường Cấu Hình
Chính sách Key Authentication bao gồm các cài đặt sau:
Field Name | Description | Data Input |
---|---|---|
Tên Tiêu Đề | HTTP header nơi Khóa API nên được bao gồm trong yêu cầu. Tên tiêu đề mặc định là x-apim-key. Trong triển khai Kubernetes 'apim-dff', bạn có thể thay đổi tên tiêu đề thông qua các biến môi trường. Việc thay đổi các biến này sẽ khởi động lại Bảng điều khiển APIM và có thể gây ra một sự gián đoạn dịch vụ ngắn. | Có thể được cấu hình thông qua các biến môi trường (chỉ K8s). |
Xác Thực Khóa API | Hệ thống xác minh xem Khóa API được cung cấp có được đăng ký và hợp lệ trước khi cho phép truy cập API. Lưu ý: Các Khóa API thường là chuỗi ký tự alphanumeric dài 32 ký tự. | Xác thực tự động |
Xử Lý Lỗi | Nếu không có Khóa API hợp lệ nào được cung cấp, yêu cầu sẽ bị từ chối với phản hồi HTTP 401 Unauthorized. | Phản hồi tự động |
Ví Dụ Gọi API với Xác Thực Khóa
Để thực hiện một yêu cầu API đã xác thực, hãy bao gồm API Key trong tiêu đề yêu cầu:
GET /api/resource HTTP/1.1
Host: api.example.com
headers: { "x-apim-key": "202cb962ac59075b964b07152d234b70" }
Nếu Khóa API hợp lệ, yêu cầu sẽ được xử lý thành công. Nếu không, phản hồi sẽ trả về:
{
"message": "Thông tin xác thực xác thực không hợp lệ",
"status": 401
}