Bảo mật khóa API
Dùng một khóa cho mỗi ứng dụng và môi trường, ví dụ local-development, production-backend, cc-switch và codex-cli. Cách này tách biệt nhật ký, hạn mức và việc thu hồi.
Các biện pháp kiểm soát
| Biện pháp | Cách dùng đề xuất |
|---|---|
| Ngày hết hạn | Kiểm tra tạm thời và dự án ngắn hạn |
| Hạn mức khóa | Giới hạn thiệt hại tối đa từ một khóa |
| Giới hạn mô hình | Chỉ cho phép mô hình mà ứng dụng cần |
| Danh sách IP cho phép | Giới hạn khóa máy chủ bằng IP đầu ra công khai ổn định |
| Nhóm | Kiểm soát tuyến mô hình và hệ số |
Không đặt khóa trong mã frontend, gói ứng dụng di động, kho mã công khai, trình theo dõi lỗi, URL, ảnh chụp màn hình hoặc nhật ký chưa che. Ứng dụng trình duyệt phải gọi backend đã xác thực của bạn; backend lưu khóa và thực thi giới hạn theo người dùng.
Khi khóa bị lộ
- Vô hiệu hóa hoặc xóa ngay tại Khóa API.
- Kiểm tra nhật ký sử dụng để tìm thời gian, mô hình và khoản phí bất thường.
- Tạo khóa thay thế với hạn mức, mô hình và IP chặt chẽ hơn.
- Cập nhật bí mật triển khai và khởi động lại ứng dụng.
- Xóa giá trị cũ khỏi lịch sử Git, nhật ký, artifact và tệp đính kèm.
Xóa một tệp công khai không làm khóa đã lộ mất hiệu lực. Bắt buộc phải luân chuyển khóa.
Khi luân chuyển theo kế hoạch, hãy tạo và xác minh khóa mới trước, chuyển ứng dụng sang khóa mới, xác nhận lưu lượng của khóa mới rồi mới thu hồi khóa cũ. Nhật ký có thể chứa một đoạn đuôi ngắn của khóa để nhận dạng nhưng tuyệt đối không được chứa toàn bộ giá trị.
