Nếu bạn đang phát triển hoặc sử dụng API, bạn có lẽ biết tầm quan trọng của việc bảo vệ chúng khỏi truy cập trái phép và lạm dụng. API là xương sống của nhiều ứng dụng hiện đại, và chúng cần được bảo mật bằng các cơ chế xác thực và ủy quyền thích hợp.
Nhưng làm thế nào để mô tả và tài liệu hóa các yêu cầu bảo mật của API của bạn? Làm thế nào để đảm bảo rằng người tiêu dùng API của bạn biết cách truy cập API của bạn một cách an toàn và chính xác? Làm thế nào để tránh sự mơ hồ và không nhất quán giữa các API và các sơ đồ bảo mật khác nhau?
Đây chính là lúc các sơ đồ bảo mật OpenAPI phát huy tác dụng. OpenAPI là một tiêu chuẩn được sử dụng rộng rãi để mô tả và tài liệu hóa các API theo định dạng có thể đọc được bởi máy và thân thiện với con người. Các sơ đồ bảo mật OpenAPI là một phần của thông số kỹ thuật OpenAPI cho phép bạn xác định và tham chiếu đến các cơ chế bảo mật bảo vệ API của bạn.
Trong bài viết blog này, chúng tôi sẽ giải thích về các sơ đồ bảo mật OpenAPI, cách chúng hoạt động và cách bạn có thể sử dụng chúng để bảo mật API của mình. Chúng tôi cũng sẽ cho bạn thấy một số ví dụ về các sơ đồ bảo mật OpenAPI và cách sử dụng chúng với Apidog, một công cụ mạnh mẽ cho việc thiết kế, thử nghiệm và tài liệu hóa các API.
Các Sơ Đồ Bảo Mật OpenAPI là gì?
Các sơ đồ bảo mật OpenAPI là một cách để mô tả các yêu cầu bảo mật của API của bạn bằng cách sử dụng thông số kỹ thuật OpenAPI. Chúng được xác định trong phần components/securitySchemes của tài liệu OpenAPI của bạn, và có thể được tham chiếu bằng từ khóa security ở cấp gốc hoặc ở cấp hoạt động của API của bạn.
Các sơ đồ bảo mật OpenAPI có thể mô tả nhiều loại cơ chế bảo mật khác nhau, chẳng hạn như:
- Khóa API
- Các sơ đồ xác thực HTTP (Basic, Bearer, v.v.)
- OAuth 2.0
- OpenID Connect
Mỗi sơ đồ bảo mật có thuộc tính type chỉ ra loại cơ chế bảo mật, và các thuộc tính khác phụ thuộc vào loại. Ví dụ, một sơ đồ bảo mật khóa API có thuộc tính name xác định tên của tiêu đề, tham số truy vấn, hoặc cookie chứa khóa API, và thuộc tính in xác định vị trí của khóa API.
Dưới đây là một ví dụ về sơ đồ bảo mật khóa API:
components:
securitySchemes:
ApiKeyAuth:
type: apiKey
name: X-API-Key
in: header
Để áp dụng một sơ đồ bảo mật cho API của bạn hoặc cho một hoạt động cụ thể, bạn cần sử dụng từ khóa security và cung cấp một mảng các đối tượng yêu cầu bảo mật. Một đối tượng yêu cầu bảo mật là một bản đồ từ tên sơ đồ bảo mật đến một mảng tên phạm vi (đối với OAuth 2.0 và OpenID Connect) hoặc một mảng trống (đối với các loại khác).
Ví dụ, để áp dụng sơ đồ bảo mật khóa API cho toàn bộ API, bạn có thể sử dụng cú pháp sau:
security:
- ApiKeyAuth: []
Để áp dụng sơ đồ bảo mật khóa API cho một hoạt động cụ thể, bạn có thể sử dụng cú pháp sau:
paths:
/pets:
get:
security:
- ApiKeyAuth: []
Bạn cũng có thể sử dụng nhiều sơ đồ bảo mật cho API của bạn hoặc cho một hoạt động cụ thể, dưới dạng lựa chọn (hoặc logic) hoặc dưới dạng kết hợp (và logic). Ví dụ, để yêu cầu một khóa API hoặc một token Bearer cho một hoạt động cụ thể, bạn có thể sử dụng cú pháp sau:
paths:
/pets:
get:
security:
- ApiKeyAuth: []
- BearerAuth: []
Để yêu cầu cả một khóa API và một token Bearer cho một hoạt động cụ thể, bạn có thể sử dụng cú pháp sau:
paths:
/pets:
get:
security:
- ApiKeyAuth: []
BearerAuth: []

Tại Sao Nên Sử Dụng Các Sơ Đồ Bảo Mật OpenAPI?
Các sơ đồ bảo mật OpenAPI có nhiều lợi ích cho cả nhà cung cấp và người tiêu dùng API, chẳng hạn như:
- Chúng cung cấp một cách rõ ràng và nhất quán để mô tả các yêu cầu bảo mật của API của bạn, điều này có thể giúp tránh sự mơ hồ và lỗi giữa các người tiêu dùng và nhà phát triển API khác nhau.
- Chúng cho phép tạo ra tài liệu tương tác và mẫu mã cho thấy cách truy cập API của bạn một cách an toàn và chính xác, điều này có thể cải thiện trải nghiệm người dùng và giảm độ khó trong việc học sử dụng API của bạn.
- Chúng tạo điều kiện cho việc tích hợp API của bạn với nhiều công cụ và nền tảng hỗ trợ thông số kỹ thuật OpenAPI, chẳng hạn như Apidog, điều này có thể giúp bạn thiết kế, thử nghiệm và tài liệu hóa API của mình dễ dàng và hiệu quả hơn.
Cách Sử Dụng Các Sơ Đồ Bảo Mật OpenAPI Với Apidog?
Apidog là một công cụ mạnh mẽ để thiết kế, thử nghiệm và tài liệu hóa API. Nó hỗ trợ thông số kỹ thuật OpenAPI và cho phép bạn tạo và chỉnh sửa các tài liệu OpenAPI theo cách trực quan và trực quan. Nó cũng cung cấp các tính năng như thử nghiệm trực tiếp, máy chủ mô phỏng, tạo mã và tài liệu tương tác.
Một trong những lợi thế của việc sử dụng Apidog là nó có thể tự động phát hiện và áp dụng các sơ đồ bảo mật mà bạn định nghĩa trong tài liệu OpenAPI của mình. Ví dụ, nếu bạn định nghĩa một sơ đồ bảo mật khóa API, Apidog sẽ nhắc bạn nhập khóa API của bạn và gửi nó với các yêu cầu của bạn. Nếu bạn định nghĩa một sơ đồ bảo mật OAuth 2.0, Apidog sẽ hướng dẫn bạn qua quy trình ủy quyền và lấy và làm mới token truy cập cho bạn.
Để sử dụng các sơ đồ bảo mật OpenAPI với Apidog, bạn cần thực hiện các bước sau:
- Tạo một dự án mới hoặc nhập một tài liệu OpenAPI hiện có vào Apidog.
- Xác định các sơ đồ bảo mật của bạn trong phần
components/securitySchemescủa tài liệu OpenAPI của bạn, sử dụng cú pháp và thuộc tính được mô tả ở trên. - Tham chiếu các sơ đồ bảo mật của bạn trong từ khóa
securityở cấp gốc hoặc ở cấp hoạt động của API của bạn, sử dụng cú pháp và giá trị được mô tả ở trên. - Lưu tài liệu OpenAPI của bạn và chuyển sang tab Thử nghiệm trong Apidog.
- Chọn một hoạt động yêu cầu bảo mật và nhấp vào nút Bảo mật trên bảng bên phải.
- Nhập các tham số bảo mật cần thiết, chẳng hạn như khóa API của bạn, tên người dùng và mật khẩu, hoặc mã ủy quyền, tùy thuộc vào loại sơ đồ bảo mật.
- Nhấp vào nút Gửi để gửi yêu cầu với các tham số bảo mật.
Apidog sẽ hiển thị phản hồi từ API của bạn và cho bạn thấy chi tiết của yêu cầu và các tham số bảo mật. Bạn cũng có thể xem và chỉnh sửa tài liệu OpenAPI thô trong tab Mã, và tạo tài liệu tương tác và mẫu mã trong các tab Tài liệu và Mã.
Kết Luận
Các sơ đồ bảo mật OpenAPI là một tính năng hữu ích của thông số kỹ thuật OpenAPI cho phép bạn mô tả và tài liệu hóa các yêu cầu bảo mật của API của bạn. Chúng có thể giúp bạn truyền đạt các cơ chế bảo mật bảo vệ API của bạn đến người tiêu dùng và nhà phát triển API của bạn, và cho phép tạo ra tài liệu tương tác và mẫu mã cho thấy cách truy cập API của bạn một cách an toàn và chính xác.
Chúng cũng có thể giúp bạn tích hợp API của bạn với nhiều công cụ và nền tảng hỗ trợ thông số kỹ thuật OpenAPI, chẳng hạn như Apidog, điều này có thể giúp bạn thiết kế, thử nghiệm và tài liệu hóa API của mình dễ dàng và hiệu quả hơn.
