Khóa API là gì?
Khóa API là một chuỗi gồm chữ và số được nhà phát triển API sử dụng để kiểm soát quyền truy cập vào API. API là cơ chế giao tiếp cho phép hai mô-đun phần mềm trao đổi dữ liệu. Khi bạn tạo API cho mô-đun của mình, các nhà phát triển ứng dụng khác có thể gọi API đó để tích hợp chức năng của bạn vào mã của họ. Ví dụ: bạn phát triển mô-đun có đầu vào là danh sách mặt hàng và trả về danh sách cửa hàng có thể mua các mặt hàng đó với giá thấp nhất. Sau đó, một ứng dụng thương mại điện tử có thể sử dụng API của bạn để tạo danh sách giao dịch hàng tạp phẩm hàng ngày cho khách hàng của họ. Là người tạo API, bạn sử dụng khóa API để hạn chế và giám sát quyền truy cập vào API. Khóa API xác định hoạt động sử dụng API được ủy quyền để bạn duy trì, quản lý và kiếm tiền từ API hiệu quả hơn.
Khóa API có những trường hợp sử dụng nào?
Các nhà phát triển phần mềm sử dụng khóa API để quản lý cách truy cập vào các API mà họ tạo ra. Khóa API đóng góp vào sự phát triển của các ứng dụng đám mây hiện đại theo nhiều cách.
Giám sát mức sử dụng API
Các nhà cung cấp API sử dụng khóa API để theo dõi mức sử dụng và quản lý mức tiêu thụ API, đặc biệt là đối với các ứng dụng thương mại. Họ tính phí người dùng cho các tài nguyên điện toán mà API tiêu thụ.
Là nhà cung cấp API, bạn có thể giới hạn quyền truy cập vào các dịch vụ của API bằng các khóa API duy nhất. Bằng cách chỉ cho phép lưu lượng truy cập hợp lệ đi qua, bạn có thể tối ưu hóa mức khai thác tài nguyên và khả năng băng thông của API. Bạn cũng có thể phân tích số liệu thống kê mức sử dụng của từng khóa để điều chỉnh hạn mức của các gói khác nhau.
Khắc phục sự cố tích hợp API
Các ứng dụng đám mây có thể gặp vấn đề kỹ thuật do các API mà ứng dụng sử dụng. Các nhà phát triển phần mềm sử dụng khóa API để phát hiện các mẫu dữ liệu bất thường và khớp lưu lượng truy cập API với các nhà cung cấp tương ứng. Bằng cách này, họ có thể xác định và cô lập API cụ thể ngăn ứng dụng hoạt động đúng cách.
Xác định dự án
Các ứng dụng phần mềm trao đổi dữ liệu nhạy cảm với các dịch vụ bên ngoài thông qua API. Khóa API đóng vai trò như một cơ chế cấp phép dự án để điều chỉnh mức sử dụng của các dự án được cho phép. Để sử dụng API, dự án phải đưa ra thông tin chứng thực API chính xác để truy cập các chức năng phần mềm được trừu tượng. Điều quan trọng cần lưu ý là các khóa API không xác thực người dùng cụ thể. Thay vào đó, chúng xác định rộng rãi tổ chức được liên kết với một khóa cụ thể.
Khóa API hoạt động như thế nào?
Khóa API bao gồm các ký tự chữ cái và số được tạo ngẫu nhiên. Bạn liên kết một khóa API cụ thể với một ứng dụng khách API cụ thể. Vì việc sử dụng API về cơ bản là một mô-đun phần mềm giao tiếp với một mô-đun phần mềm khác, các khóa được liên kết với các mô-đun hoặc ứng dụng phần mềm khác nhau muốn giao tiếp với API của bạn.
Khi một ứng dụng gửi yêu cầu API, quy trình hoạt động như sau:
- Máy chủ API xác nhận tính xác thực của người yêu cầu bằng khóa API duy nhất
- Nếu khóa API không khớp với bất kỳ yêu cầu nào được cho phép, máy chủ sẽ từ chối lệnh gọi API và gửi thông báo từ chối
- Nếu khóa API khớp, máy chủ đáp ứng yêu cầu và trả về phản hồi mong muốn
Bằng cách này, các khóa API cho phép máy chủ API xác định nguồn gốc của mỗi lệnh gọi API. Sau đó, máy chủ có thể thực hiện các xác thực tiếp theo để cho phép truy cập vào dữ liệu và dịch vụ của API.
Giới hạn lệnh gọi API
Các nhà cung cấp API có thể sử dụng khóa API để điều chỉnh các mức độ truy cập khác nhau vào các dịch vụ API của họ. Sau khi xác thực một yêu cầu, máy chủ API có thể kiểm tra một số tham số trước khi cho phép truy cập thêm vào các dịch vụ của máy chủ.
Mức độ dịch vụ
Máy chủ xác định mức độ dịch vụ mà nó có thể cấp cho ứng dụng yêu cầu. Ví dụ: một số khóa API cho phép người yêu cầu thêm, xóa và đọc thông tin từ kho lưu trữ dữ liệu của API. Những khóa API khác có thể giới hạn lệnh gọi API để chỉ đọc thông tin.
Lựa chọn chức năng
Máy chủ xác định và áp đặt phạm vi của lệnh gọi API để tùy chỉnh các dịch vụ API của mình. Ví dụ: bạn có thể sử dụng khóa API để giới hạn một ứng dụng thương mại điện tử tìm kiếm dữ liệu sản phẩm ở các quốc gia cụ thể. Bạn cũng có thể liên kết các khóa API cụ thể với các bộ lọc tham số cơ sở dữ liệu nhất định, chẳng hạn như sách và trang phục.
Số lệnh gọi
Các nhà cung cấp API cũng sử dụng khóa API để điều chỉnh chặt chẽ quyền truy cập API. Một số nhà cung cấp áp dụng giới hạn thời gian hoặc yêu cầu đối với API của mình. Trong những trường hợp như vậy, ứng dụng máy khách chỉ có thể sử dụng API trong thời lượng quy định hoặc tối đa số lượng giới hạn mỗi ngày. Khi vượt quá giới hạn, máy chủ sẽ từ chối mọi yêu cầu từ các khóa API được liên kết.
Điểm khác biệt giữa khóa API và mã thông báo API là gì?
Khóa API là một chuỗi các mã định danh duy nhất được thiết kế chủ yếu nhằm xác định lưu lượng truy cập ứng dụng từ các máy khách API. Các khóa API thường được liên kết với các máy chủ cụ thể mà ứng dụng gọi được triển khai trên đó. Khi ứng dụng đưa ra yêu cầu API, máy chủ sẽ xác định ứng dụng gọi bằng khóa API.
Ngược lại, mã thông báo API là một chuỗi mã mang dữ liệu toàn diện xác định một người dùng cụ thể. Mã thông báo API cũng chứa phạm vi truy cập được cấp cho một người dùng cụ thể. Điều này cho phép máy chủ vừa xác thực các yêu cầu của người dùng thực hiện lệnh gọi vừa xác thực mức độ sử dụng API. Ví dụ: người dùng có thể sử dụng mã thông báo đăng nhập đơn để truy cập một nhóm API.
Tạo khóa API đơn giản hơn vì nó có vai trò hạn chế trong việc cấp phép người dùng. Ngược lại, khi bạn cấp mã thông báo API, sẽ có nhiều hạn chế và quy trình hơn vì chúng mang dữ liệu nhận dạng và xác thực.
Trên Amazon Web Services (AWS), mã thông báo API còn được gọi là mã thông báo xác thực hoặc mã thông báo bảo mật. Nhà phát triển sử dụng quyền IAM, trình phê duyệt Lambda hoặc thư mục người dùng riêng trên Amazon Cognito để tạo mã thông báo API và quản lý quyền truy cập vào API của bạn.
Các phương pháp tốt nhất cho việc sử dụng khóa API là gì?
Có một số phương pháp tốt nhất cần lưu ý khi bạn sử dụng khóa API.
Tránh sử dụng khóa API để xác thực người dùng. Khóa API không được thiết kế nhằm điều chỉnh quyền truy cập của người dùng. Tương tự như vậy, không bao gồm thông tin bảo mật trong các khóa API vì thông tin này có thể hiển thị trong quá trình truyền.
Không nhúng trực tiếp khóa API vào mã nguồn hoặc kho lưu trữ của bạn. Nếu bạn quên xóa khóa API, chúng có thể được hiển thị công khai khi bạn xuất bản ứng dụng của mình.
Xóa khóa API khi chúng không còn được sử dụng. Cân nhắc việc thêm thời hạn vào khóa để bảo mật API mạnh mẽ hơn.
AWS có thể hỗ trợ quản lý khóa API của bạn như thế nào?
Amazon Web Services (AWS) cung cấp Cổng API Amazon để đáp ứng nhu cầu quản lý khóa API của bạn.
Bạn có thể sử dụng Cổng API để tạo, xuất bản, duy trì, giám sát và bảo mật các API REST, HTTP và WebSocket ở mọi quy mô. Các nhà phát triển API có thể tạo các API truy cập AWS hoặc các dịch vụ web khác cũng như dữ liệu được lưu trữ trong Đám mây AWS.
Sau khi tạo, kiểm thử và triển khai API của mình, bạn có thể sử dụng các gói mức sử dụng Cổng API để biến chúng thành sản phẩm dịch vụ có sẵn cho khách hàng của bạn. Bạn có thể cấu hình các gói mức sử dụng và khóa API để cho phép khách hàng của bạn truy cập các API đã chọn. Và bạn có thể bắt đầu tiết lưu các yêu cầu đến các API đó dựa trên các giới hạn và hạn mức đã xác định.
Bắt đầu sử dụng dịch vụ quản lý khóa API trên AWS bằng cách tạo tài khoản ngay hôm nay