Practice Assessment for Exam AZ-204: Developing Solutions for Microsoft Azure – 035
5 mins read

Practice Assessment for Exam AZ-204: Developing Solutions for Microsoft Azure – 035



✅ Phân tích đáp án câu hỏi

📌 Dịch câu hỏi:

Bạn đang quản lý một ứng dụng đã đăng ký trong Microsoft Entra ID (Microsoft Entra ID registered application) có tên là App1. Ứng dụng này gọi đến một API web (web API), sau đó API này tiếp tục gọi đến Microsoft Graph.

Bạn cần đảm bảo rằng danh tính của người dùng đã đăng nhập (signed-in user identity) được ủy quyền qua chuỗi yêu cầu (delegated through the request chain).

Bạn nên sử dụng luồng xác thực (authentication flow) nào?


🔍 Các lựa chọn:

Lựa chọnCó phù hợp không?Giải thích
Authorization code❌ KhôngLuồng Authorization code được sử dụng trong các ứng dụng cài đặt trên thiết bị để truy cập vào API được bảo vệ (protected web APIs). Tuy nhiên, nó không hỗ trợ việc truyền danh tính của người dùng qua nhiều lớp dịch vụ (chained delegation).
On-Behalf-OfĐúngLuồng On-Behalf-Of (OBO) trong OAuth 2.0 được thiết kế để ủy quyền danh tính và quyền hạn của người dùng (delegate user identity and permissions) khi một dịch vụ hoặc API cần gọi tiếp một dịch vụ hoặc API khác. Đây là lựa chọn duy nhất đáp ứng yêu cầu của câu hỏi.
Client credentials❌ KhôngLuồng OAuth 2.0 Client Credentials chỉ cho phép ứng dụng tự xác thực với thông tin riêng của mình (use its own credentials), không đại diện cho người dùng (not impersonating a user), do đó không phù hợp cho bài toán cần ủy quyền danh tính người dùng.
Implicit❌ KhôngLuồng Implicit hoạt động dựa trên cơ chế chuyển hướng (redirection)không hỗ trợ truyền danh tính người dùng qua các lớp dịch vụ (request chain).

📘 Bổ sung từ tài liệu chính thức

Mục này kiểm tra kiến thức của thí sinh về cách truy cập dữ liệu người dùng từ Microsoft Graph (accessing user data from Microsoft Graph) – một phần trong việc triển khai xác thực và ủy quyền người dùng (user authentication and authorization).

Luồng OAuth 2.0 On-Behalf-Of (OBO) được sử dụng khi một ứng dụng gọi đến một dịch vụ hoặc API web (service or web API) và API đó lại cần gọi tiếp một dịch vụ khác. Mục đích là để truyền danh tính và quyền hạn của người dùng đã xác thực (propagate the delegated user identity and permissions) qua toàn bộ chuỗi yêu cầu.

Luồng OAuth 2.0 Authorization Code có thể dùng cho các ứng dụng được cài đặt trên thiết bị nhằm truy cập các tài nguyên được bảo vệ (protected resources) như web APIs.

Luồng Client Credentials cho phép một ứng dụng dạng bảo mật (confidential client) dùng thông tin xác thực của chính nó (its own credentials) để xác thực, không phải đại diện cho người dùng (instead of impersonating a user).

Luồng Implicit dựa trên cơ chế chuyển hướng. Các luồng Authorization Code, On-Behalf-Of, và Implicit không thể dùng để đại diện (delegate) danh tính người dùng nếu không được thiết kế đúng cách.

🔗 Nguồn tài liệu:


✅ Kết luận:

Đáp án chính xác:
Luồng On-Behalf-Of (On-Behalf-Of authentication flow)

🔐 Lý do:

  • Đây là luồng duy nhất cho phép một ứng dụng thay mặt người dùng đã đăng nhập (signed-in user) tiếp tục ủy quyền danh tính của người dùng đến các dịch vụ hoặc API tiếp theo như Microsoft Graph.
  • Các lựa chọn khác hoặc không đại diện cho người dùng, hoặc không truyền danh tính qua nhiều dịch vụ.

Leave a Reply

Your email address will not be published. Required fields are marked *