
Phân tích chuyên sâu câu hỏi AZ-204: Truy cập dữ liệu người dùng từ Microsoft Graph API – 001
1. Đề bài
You manage an Azure App Service web app named app1. App1 is registered as an application in Microsoft Entra ID.
You need to ensure that Microsoft Entra ID signed-in user information can be retrieved by app1 by using Microsoft Graph.
What should you configure?
Select only one answer:
- a. appRoles
- b. application permissions
- c. groupMembershipClaims
- d. delegated permissions
Ngữ cảnh: Bạn chịu trách nhiệm quản lý một ứng dụng web triển khai trên Azure App Service có tên là app1
. Ứng dụng này đã được đăng ký trong Microsoft Entra ID (trước đây là Azure Active Directory).
Yêu cầu: Đảm bảo app1
có thể truy cập dữ liệu người dùng đã đăng nhập từ Microsoft Entra ID thông qua Microsoft Graph API.
🎯 Chỉ chọn một:
- 🔐 appRoles
- ⚙️ application permissions
- 👥 groupMembershipClaims
- ✅ delegated permissions
2. Phân tích ngữ cảnh và khái niệm kỹ thuật liên quan
Ứng dụng app1
cần truy cập dữ liệu người dùng đã xác thực thông qua Microsoft Graph API — một RESTful API thống nhất của Microsoft cho phép truy xuất tài nguyên từ Microsoft 365 và Entra ID. Việc truy cập phải diễn ra dưới ngữ cảnh phiên làm việc của người dùng.
Do đó, ứng dụng phải được cấp delegated permissions — các quyền được ủy quyền từ người dùng hoặc quản trị viên, và chỉ có hiệu lực khi người dùng đã đăng nhập.
🔍 Tài liệu liên quan: Permissions and consent overview – Microsoft Learn
🎥 Video tham khảo Microsoft Entra ID
🎥 Video tham khảo Microsoft Graph API
🎥 Video tham khảo Delegated Permissions
3. Giải thích lựa chọn đúng: delegated permissions
✅
Delegated permissions cho phép ứng dụng thực hiện hành động thay mặt người dùng đã đăng nhập. Khi người dùng đăng nhập vào app1
qua Entra ID, ứng dụng nhận access token chứa các quyền đã được chấp thuận để truy cập Microsoft Graph.
🔧 Thành phần kỹ thuật:
- 🧾 Scope: Các delegated scopes như
User.Read
,User.ReadBasic.All
,… cần được cấu hình trong phần đăng ký ứng dụng để xác định dữ liệu mà app có quyền truy cập. - 🔄 Flow: Luồng xác thực OAuth 2.0 Authorization Code Flow là phương án bảo mật nhất cho ứng dụng web, đảm bảo access token được cấp hợp lệ sau quá trình xác thực người dùng.
📖 Tài liệu chi tiết: Use Microsoft Graph to access user data – Microsoft Learn
4. Cơ sở lý thuyết hỗ trợ phân tích
Câu hỏi này kiểm tra khả năng ứng viên hiểu sâu sắc các thành phần cấu thành hệ thống phân quyền trong Microsoft Identity Platform.
- ✅ Delegated permissions: Dựa trên ngữ cảnh người dùng hiện tại và yêu cầu người dùng hoặc admin chấp thuận quyền.
- ⚙️ Application permissions: Áp dụng cho app không có người dùng đăng nhập như dịch vụ nền. Chỉ admin mới có thể cấp quyền.
- 🔐 appRoles: Được định nghĩa trong manifest của ứng dụng, dùng để gán vai trò nội bộ, không liên quan đến truy xuất dữ liệu từ Microsoft Graph.
- 👥 groupMembershipClaims: Cấu hình để nhúng thông tin nhóm vào access token, phục vụ phân quyền nội bộ, không cho phép truy xuất dữ liệu người dùng.
📚 Tham khảo:
5. Giải thích các đáp án sai
❌ appRoles
🔐 Chỉ dùng để phân vai trò trong ứng dụng, không liên quan đến quyền gọi API Microsoft Graph.
❌ application permissions
⚙️ Không phù hợp vì yêu cầu cụ thể là truy cập dữ liệu của người dùng đã đăng nhập, điều này chỉ có thể thực hiện với delegated permissions.
❌ groupMembershipClaims
👥 Cấu hình JWT token chứa thông tin nhóm, không cấp quyền truy xuất dữ liệu người dùng từ Microsoft Graph.
📌 Kết luận
Giải pháp đúng để truy cập thông tin người dùng đã đăng nhập từ Microsoft Entra ID qua Microsoft Graph API là cấu hình delegated permissions. Các tùy chọn khác hoặc không liên quan hoặc không đáp ứng yêu cầu truy xuất này.