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 API Key trước khi xử lý yêu cầu.
- Nếu API Key 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 Một API Key
Trước khi áp dụng chính sách Key Authentication, một API Key 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 API Key.
- Nhấp vào nút Create API Key.
- Nhập một description cho API Key (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, API Key sẽ được hiển thị trên màn hình quản lý API Key.
- Người dùng có thể tìm kiếm API Key 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 Header | HTTP header nơi API Key nên được bao gồm trong yêu cầu. Tên header mặc định là x-apim-key. Trong triển khai Kubernetes 'apim-dff', bạn có thể thay đổi tên header 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 APIM Console 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 API Key | Hệ thống xác minh xem API Key được cung cấp có được đăng ký và hợp lệ trước khi cho phép truy cập API. Lưu ý: API Keys 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ó API Key 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 Key
Để thực hiện một yêu cầu API đã xác thực, hãy bao gồm API Key trong các header yêu cầu:
GET /api/resource HTTP/1.1
Host: api.example.com
headers: { "x-apim-key": "202cb962ac59075b964b07152d234b70" }
Nếu API Key hợp lệ, yêu cầu sẽ được xử lý thành công. Ngược lại, phản hồi sẽ trả về:
{
"message": "Invalid authentication credentials",
"status": 401
}