Cấu hình xác thực và cấp quyền API

Azure API Management

Fiodar Sazanavets

Senior Software Engineer at Microsoft

Tầm quan trọng của bảo mật API

Bảo mật HTTP

  • Endpoint API thường là công khai
  • Dữ liệu sau API cần được bảo vệ
  • Đặc biệt với dữ liệu nhạy cảm
Azure API Management

Tổng quan xác thực

  • Xác thực và ủy quyền không giống nhau
  • Xác thực chứng minh danh tính người gọi
  • Đăng nhập bằng tên người dùng và mật khẩu là một dạng xác thực

Biểu mẫu đăng nhập

Azure API Management

Tổng quan ủy quyền

Yêu cầu không bảo mật vs bảo mật

  • Ủy quyền kiểm soát quyền hạn
  • Người đã xác thực vẫn có thể không được ủy quyền
  • Ví dụ: chỉ admin mới vào khu vực quản trị
Azure API Management

Ví dụ ứng dụng thời tiết

Ủy quyền ứng dụng thời tiết

Azure API Management

Giới thiệu OAuth

  • OAuth dùng để xác thực
  • Cũng dùng để ủy quyền
  • Giao thức bảo mật phức tạp
  • Có mức độ bảo mật rất cao

Cấp phát access token

Azure API Management

Ví dụ Google OAuth

Ví dụ Google OAuth

Azure API Management

Ủy quyền bằng API key trong Azure Functions

  • Không phải lúc nào cũng cần xác thực để ủy quyền
  • Endpoint HTTP có thể bảo vệ bằng API key
  • Chuỗi ký tự dài
  • Azure Functions tạo key mặc định
  • Phải kèm key trong yêu cầu
  • Client cần biết key
  • Client không cần chứng minh danh tính

Thiết lập API key trong Azure

Azure API Management

Các phạm vi của API key

Phạm vi API key trong Azure Function

  • Phạm vi khác nhau cho từng loại key
  • Function-level key cấp quyền cho hàm cụ thể
    • Như chìa khóa mở đúng một cửa
  • Host-level key
    • Cấp quyền cho mọi hàm trong ứng dụng
    • như chìa master mở mọi cửa trong tòa nhà
Azure API Management

Xác thực trong API Management

  • APIM có thể kết nối nhà cung cấp xác thực
  • Một ví dụ là Entra ID
    • Trước đây gọi là Active Directory
  • Tích hợp OAuth an toàn hơn dùng API key
    • Nhưng phức tạp hơn nhiều

Bật tích hợp Entra ID trong APIM

Azure API Management

Policy ủy quyền trong API Management

 

Xác thực JWT trong APIM

Ủy quyền được thực thi qua policy trong API Management

  • Policy định nghĩa quy tắc truy cập

  • Hạn chế endpoint theo vai trò

  • Đảm bảo chỉ client được phép mới gọi API

Azure API Management

Ayo berlatih!

Azure API Management

Preparing Video For Download...