entra-app-registration
bởi microsoftHướng dẫn có hỗ trợ skill cho đăng ký ứng dụng Microsoft Entra ID, các luồng OAuth 2.0, quyền API và các ví dụ xác thực dựa trên MSAL cho ứng dụng console và backend.
Tổng quan
Skill này làm được gì
Skill entra-app-registration cung cấp hướng dẫn từng bước, tập trung cho lập trình viên về cách cấu hình đăng ký ứng dụng Microsoft Entra ID (trước đây là Azure Active Directory). Skill giúp bạn:
- Tạo app registration trong Microsoft Entra ID
- Hiểu các khái niệm nhận diện cốt lõi (tenant, client ID, redirect URI, service principal)
- Lựa chọn và cấu hình các luồng OAuth 2.0
- Thêm và quản lý quyền API (delegated vs application)
- Thiết lập secrets hoặc certificates và service principals
- Tích hợp với MSAL và Azure Identity SDK cho nhiều ngôn ngữ
- Khắc phục các lỗi xác thực và cấu hình thường gặp
Nội dung được lấy từ thư mục skills/entra-app-registration trong repo microsoft/azure-skills, bao gồm các hướng dẫn chuyên biệt như references/first-app-registration.md, references/oauth-flows.md, references/api-permissions.md và references/console-app-example.md.
Ai nên dùng entra-app-registration
Hãy dùng skill này nếu bạn là:
- Lập trình viên backend hoặc API đang bảo vệ web API hoặc service bằng Microsoft Entra ID
- Lập trình viên xây dựng web, SPA, desktop hoặc console app cần cho người dùng đăng nhập hoặc gọi Microsoft Graph hay API tùy chỉnh
- Kỹ sư DevOps hoặc platform cần các pattern lặp lại được cho app registration và permissions
- Một đội ngũ muốn có tài liệu best practice rõ ràng về xác thực Entra ID và quyền API
Skill đặc biệt hữu ích khi bạn đang:
- Tạo lần đầu tiên một Microsoft Entra app registration
- Di chuyển từ hướng dẫn Azure AD cũ sang Microsoft identity platform
- Cân nhắc giữa delegated và application permissions
- Chọn luồng OAuth 2.0 phù hợp với loại ứng dụng của bạn
- Tích hợp MSAL cho ứng dụng console hoặc backend
Khi nào skill này không phù hợp
entra-app-registration tập trung vào identity và app registration, không phải bảo mật Azure tổng quát hay quản lý tài nguyên.
Không nên dùng skill này như tài liệu chính nếu bạn chủ yếu cần:
- Azure role-based access control cho tài nguyên Azure → dùng skill
azure-rbac - Kiểm soát vòng đời và kiểm toán hết hạn của Key Vault secret → dùng skill
azure-keyvault-expiration-audit - Hướng dẫn chung về tư thế bảo mật tài nguyên Azure hoặc chính sách → dùng skill
azure-security
Bạn vẫn có thể kết hợp entra-app-registration với các skill đó khi kịch bản của bạn bao phủ cả identity và ủy quyền ở mức tài nguyên.
Các khả năng chính trong nháy mắt
Trong skill, bạn sẽ tìm thấy các hướng dẫn giúp bạn:
- Hiểu các khối xây dựng của app registration (từ
SKILL.mdvàreferences/first-app-registration.md) - Cấu hình các luồng OAuth 2.0 gồm authorization code và client credentials (
references/oauth-flows.md) - Lên kế hoạch và gán quyền API cho Microsoft Graph và API tùy chỉnh (
references/api-permissions.md) - Tuân theo best practice xác thực của Azure, gồm dùng managed identities và các kiểu credential được khuyến nghị (
references/auth-best-practices.md) - Dùng Azure CLI để tự động hóa việc tạo và cập nhật app registration (
references/cli-commands.md) - Implement ứng dụng console dựa trên MSAL bằng C#, Python và Node.js (
references/console-app-example.md) - Tích hợp với Azure Identity SDK cho .NET, Java, Python, Rust và TypeScript (
references/sdk/*.md) - Chẩn đoán các vấn đề về redirect URI, token và consent (
references/troubleshooting.md)
Nhờ vậy, entra-app-registration rất thực dụng cho các công việc về kiểm soát truy cập, phát triển API và phát triển backend dựa trên Microsoft Entra ID.
Cách sử dụng
Cài đặt skill entra-app-registration
Để thêm skill entra-app-registration từ repo microsoft/azure-skills vào một môi trường agent tương thích, chạy:
npx skills add https://github.com/microsoft/azure-skills --skill entra-app-registration
Lệnh này giúp bộ tài liệu của skill (bao gồm SKILL.md và thư mục references/) sẵn sàng cho agent của bạn, để nó có thể trả lời chi tiết về Microsoft Entra app registration, các luồng OAuth và permissions.
Nếu nền tảng của bạn có giao diện UI quản lý skills, bạn cũng có thể:
- Tìm "entra-app-registration" trong danh mục skills.
- Xác nhận nguồn GitHub là
microsoft/azure-skills. - Nhấn Add hoặc Enable để gắn skill vào workspace hoặc project của bạn.
Thứ tự đọc khuyến nghị
Sau khi cài đặt, mở chế độ xem Files hoặc Sources cho skill này và khám phá theo thứ tự:
SKILL.md– Tổng quan cấp cao, skill bao phủ những gì và các khuyến nghị nên dùng/không nên dùng.references/first-app-registration.md– Hướng dẫn cụ thể, từng bước để tạo Microsoft Entra app registration đầu tiên trong Azure portal.references/oauth-flows.md– Giải thích và sơ đồ các luồng OAuth 2.0 do Microsoft Entra ID hỗ trợ, kèm ghi chú implement.references/api-permissions.md– Cách chọn và cấu hình delegated vs application permissions, định dạng scope và các quyền Graph thường gặp.references/auth-best-practices.md– Cách chọn loại credential phù hợp cho từng môi trường (managed identity, certificates, DefaultAzureCredential cho máy local, v.v.).references/cli-commands.md– Các lệnh Azure CLI để tạo và quản lý app registration từ script hoặc CI/CD.references/console-app-example.md– Các ví dụ ứng dụng console hoàn chỉnh xác thực với Microsoft Entra ID bằng MSAL.references/sdk/*.md– Hướng dẫn tích hợp theo từng ngôn ngữ sử dụng Azure Identity và các SDK liên quan.references/troubleshooting.md– Tham khảo tại đây khi bạn thấy lỗi AADSTS, vấn đề về consent, hoặc lệch redirect URI.
Thứ tự này giúp bạn đi từ hiểu khái niệm, đến cấu hình trên portal, rồi đến quy trình tự động và tích hợp ở mức code.
Các quy trình điển hình mà skill hỗ trợ
1. Đăng ký Microsoft Entra app đầu tiên của bạn
Dùng khi bạn mới bắt đầu với Entra ID hoặc đang tạo một ứng dụng mới:
- Làm theo
references/first-app-registration.mdđể:- Mở Azure portal và điều hướng đến Microsoft Entra ID → App registrations
- Tạo một registration mới với loại tài khoản được hỗ trợ phù hợp
- Cấu hình redirect URI tùy theo bạn có web app, SPA hay native client
- Thiết lập tùy chọn authentication và cấu hình platform
- Thêm các quyền API cần thiết (ví dụ Microsoft Graph User.Read)
- Tạo client credentials (secrets hoặc certificates) khi cần
- Kiểm thử luồng xác thực trong ứng dụng của bạn
Cấu trúc từng bước của skill giúp giảm các lỗi phổ biến quanh redirect URI, chọn tenant và chọn loại account.
2. Chọn luồng OAuth 2.0 phù hợp
Dùng khi bạn chưa rõ nên implement luồng xác thực nào cho ứng dụng mới:
- Mở
references/oauth-flows.mdđể so sánh các luồng, chẳng hạn:- Authorization code flow cho web app và service có secrets phía server
- Client credentials flow cho daemon app và background service
- Các luồng được hỗ trợ khác như trong hướng dẫn
- Mỗi phần về luồng trình bày:
- Chuỗi tương tác được đánh số giữa người dùng, ứng dụng, Microsoft Entra ID và các API
- Các tham số quan trọng như
client_id,tenant,redirect_urivàscope - Các trường hợp sử dụng được khuyến nghị cho luồng đó
Bằng cách tham khảo hướng dẫn này, bạn có thể gắn loại ứng dụng (web, SPA, daemon, console) với luồng OAuth phù hợp và implement một cách an toàn.
3. Cấu hình delegated vs application permissions
Dùng khi ứng dụng của bạn cần gọi Microsoft Graph hoặc một API tùy chỉnh:
- Mở
references/api-permissions.mdđể:- Hiểu delegated permissions (ngữ cảnh người dùng) so với application permissions (ngữ cảnh chỉ app)
- Quyết định khi nào nên dùng user consent và khi nào cần admin consent
- Nắm được định dạng scope, bao gồm các scope Graph như
https://graph.microsoft.com/User.Readvà scope API tùy chỉnh nhưapi://myapi-id/access_as_user - Hiểu cách
.defaultscopes hoạt động cho client credentials và các kịch bản migrate
- Sử dụng hướng dẫn này để:
- Cấu hình API permissions trong app registration
- Yêu cầu đúng scope từ code ứng dụng của bạn
- Tránh cấp quyền quá rộng và yêu cầu admin consent không cần thiết
4. Tự động hóa app registration với Azure CLI
Dùng khi bạn muốn script hoặc tự động hóa app registration thay vì thao tác trên portal:
- Mở
references/cli-commands.mdđể có:- Yêu cầu trước về CLI (cài
azvàaz login) - Ví dụ lệnh tạo app registration cho:
- Web application với redirect URI
- Single Page Application (SPA) với SPA redirect URI
- Public client app (desktop/mobile)
- Ứng dụng multi-tenant với các thiết lập sign-in audience khác nhau
- Các đoạn lệnh cập nhật redirect URI và cấu hình khác
- Yêu cầu trước về CLI (cài
Bạn có thể điều chỉnh các ví dụ này thành shell script hoặc pipeline CI/CD để đảm bảo cấu hình app registration nhất quán giữa các môi trường.
5. Implement MSAL trong ứng dụng console hoặc backend
Dùng khi bạn cần code mẫu hoạt động để xác thực và lấy token:
- Mở
references/console-app-example.mdđể:- Tạo một project console mới (ví dụ
dotnet new console) - Cài các gói MSAL (ví dụ
Microsoft.Identity.Clientcho .NET) - Sử dụng các chương trình mẫu hoàn chỉnh:
- Cấu hình
ClientId,TenantIdvàScopes - Khởi tạo public client application instance
- Lấy token tương tác hoặc lặng lẽ từ cache
- Xử lý lỗi và in kết quả token
- Cấu hình
- Tạo một project console mới (ví dụ
Bạn có thể sao chép các mẫu này vào project của mình và thay giá trị placeholder bằng thông tin app registration của bạn.
6. Dùng Azure Identity SDK cho nhiều ngôn ngữ
Dùng khi bạn muốn dùng thư viện Azure Identity thay vì gọi MSAL trực tiếp:
- Mở file ngôn ngữ phù hợp từ
references/sdk/, ví dụ:azure-identity-dotnet.mdazure-identity-java.mdazure-identity-py.mdazure-identity-rust.mdazure-identity-ts.md
- Các hướng dẫn này nhất quán với
references/auth-best-practices.mdvà giải thích cách:- Dùng
DefaultAzureCredentialcho phát triển local - Ưu tiên
ManagedIdentityCredentialhoặc workload identity trong môi trường production - Cấu hình các credential dựa trên biến môi trường khi phù hợp
- Dùng
Điều này giúp bạn tích hợp app registration với các pattern xác thực hiện đại của Azure SDK.
7. Khắc phục sự cố xác thực thường gặp
Dùng khi bạn gặp các lỗi Microsoft Entra ID điển hình:
- Mở
references/troubleshooting.mdđể chẩn đoán các vấn đề như:- Sai redirect URI (ví dụ AADSTS50011)
- Client secret không hợp lệ hoặc đã hết hạn
- Lỗi quyền và consent khi gọi API
- Các vấn đề về xác thực token và cấu hình
- Hướng dẫn bao gồm:
- Ví dụ thông báo lỗi
- Giải thích nguyên nhân gốc
- Các bước xử lý cụ thể, bao gồm thao tác trên Azure portal và lệnh Azure CLI
Tài liệu này có thể giúp bạn tiết kiệm thời gian khi debug các lỗi xác thực và ủy quyền ở môi trường dev hoặc production.
Best practice và cách kết hợp với các skill khác
Trong references/auth-best-practices.md, skill nhấn mạnh:
- Dùng managed identities cùng Azure RBAC cho các workload production chạy trên Azure
- Dùng
DefaultAzureCredentialchủ yếu cho phát triển local, không phải production - Chọn các credential chuyên biệt (như
ManagedIdentityCredential,ClientCertificateCredentialhoặc workload identity) theo từng môi trường để có tính ổn định và hiệu năng tốt
Kết hợp entra-app-registration với:
azure-rbackhi bạn cần ủy quyền truy cập tài nguyên Azure sau khi đã cấu hình identityazure-keyvault-expiration-auditkhi bạn cần quản lý và kiểm toán secrets cho client credentials lưu trong Key Vaultazure-securitycho bức tranh bảo mật rộng hơn, chính sách và tuân thủ
FAQ
entra-app-registration giải quyết những vấn đề gì?
entra-app-registration giải quyết các vấn đề thực tế trong khâu thiết lập và cấu hình khi bạn bắt đầu làm việc với Microsoft Entra ID app registrations. Skill đưa ra hướng dẫn có cấu trúc về cách:
- Tạo app registration đúng cách trong portal hoặc qua CLI
- Chọn loại tài khoản và luồng OAuth phù hợp với ứng dụng của bạn
- Cấu hình redirect URI, secrets, certificates và service principal
- Thêm đúng permissions và scopes cho Microsoft Graph hoặc API tùy chỉnh
- Tích hợp MSAL và Azure Identity vào ứng dụng thực tế
- Khắc phục các mã lỗi và lỗi cấu hình thường gặp
Tôi cài skill entra-app-registration như thế nào?
Bạn cài skill từ repo microsoft/azure-skills. Trong một môi trường tương thích, chạy:
npx skills add https://github.com/microsoft/azure-skills --skill entra-app-registration
Sau khi cài đặt, các file của skill (bao gồm SKILL.md và thư mục references/) sẽ sẵn sàng cho agent của bạn, cho phép nó trả lời câu hỏi về Microsoft Entra app registration và xác thực.
Sau khi cài đặt, tôi nên xem những file nào trước?
Hãy bắt đầu với:
SKILL.md– để hiểu phạm vi tổng thể và hướng dẫn sử dụngreferences/first-app-registration.md– để thiết lập từng bước qua portalreferences/oauth-flows.md– để hiểu luồng OAuth 2.0 đúng cho kịch bản của bạnreferences/api-permissions.md– để chọn và cấu hình quyền API
Sau đó, tùy nhu cầu, hãy xem tiếp references/cli-commands.md để tự động hóa, references/console-app-example.md để có code mẫu, và references/troubleshooting.md để xử lý lỗi.
Skill này có giúp cấu hình Azure RBAC hoặc role tài nguyên không?
Chỉ ở mức gián tiếp. entra-app-registration tập trung vào app identity, các luồng OAuth và quyền API. Skill không đi sâu vào gán role cho tài nguyên Azure hoặc cấu hình RBAC. Để làm việc đó, bạn nên dùng thêm skill azure-rbac.
Tôi có thể dùng entra-app-registration cho các cloud không phải của Microsoft không?
Skill được thiết kế riêng cho Microsoft Entra ID và Microsoft identity platform. Dù khái niệm OAuth 2.0 là chung, các bước cấu hình, lệnh và ví dụ trong skill đều nhắm đến Azure và tenant Microsoft Entra ID.
Skill có cung cấp code cho nhiều ngôn ngữ không?
Có. references/console-app-example.md cung cấp ví dụ console app bằng C#, Python và Node.js dùng MSAL. Ngoài ra, thư mục references/sdk/ chứa các tài liệu theo từng ngôn ngữ cho thư viện Azure Identity trong .NET, Java, Python, Rust và TypeScript.
Skill này liên quan thế nào đến việc dùng Azure Key Vault?
entra-app-registration có đề cập đến best practice về xác thực và có thể nhắc đến việc lưu secrets an toàn, nhưng không bao quát toàn bộ vòng đời secret trong Key Vault. Để kiểm toán hạn sử dụng và quản lý Key Vault secret sâu hơn, hãy dùng skill azure-keyvault-expiration-audit song song với skill này.
Nếu tôi đã có app registration nhưng chúng bị cấu hình sai thì sao?
Bạn có thể dùng references/troubleshooting.md để chẩn đoán lỗi, sau đó:
- So sánh thiết lập app registration hiện tại của bạn với các pattern trong
references/first-app-registration.mdvàreferences/oauth-flows.md - Sửa redirect URI, permissions và secrets theo hướng dẫn
- Đối chiếu code của bạn với ví dụ trong
references/console-app-example.mdvà các tài liệu SDK
Skill hữu ích cả cho thiết lập mới lẫn khi bạn cần chỉnh sửa các cấu hình đã có.
Tôi có thể xem tất cả tài liệu có trong skill ở đâu?
Mở tab Files hoặc Sources cho skill entra-app-registration trong môi trường của bạn. Tại đó bạn có thể xem:
SKILL.md- Thư mục
references/với các hướng dẫn theo chủ đề (API permissions, OAuth flows, CLI commands, console examples, troubleshooting) - Thư mục con
references/sdk/với các ví dụ Azure Identity theo từng ngôn ngữ
Duyệt cây thư mục này sẽ cho bạn cái nhìn đầy đủ về mọi hướng dẫn được đóng gói trong skill.
