🎯 Mục tiêu chương
- Quản lý Enterprise Applications và service principal.
- Tạo và bảo mật App Registration.
- Hiểu OAuth permission grants và admin consent.
- Sử dụng Managed Identity — không cần lưu credential tĩnh.
Microsoft khuyến nghị dùng Managed Identity thay vì client secret/certificate trong mọi workload chạy trên Azure. Workload Identity Federation mở rộng sang GitHub Actions, AKS.
📚 Nội dung chi tiết
4.1 Enterprise Applications
- • Đại diện ứng dụng trong tenant (service principal)
- • SSO: SAML, OIDC, password-based
- • User assignment required: kiểm soát ai được dùng
- • App role assignment
- • OAuth consent từ user/admin
- • Tạo tự động khi đăng ký app vào tenant
- • Danh tính đại diện cho ứng dụng
- • Có thể gán RBAC role như user
- • Audit log ghi nhận mọi hoạt động
4.2 App Registration
- • Application (Client) ID
- • Redirect URI
- • Certificates & Secrets
- • Supported account types
- • Delegated permission: thay mặt user
- • Application permission: app tự chạy
- • Admin consent bắt buộc với quyền cao
- • Đặt expiry ngắn cho secret
- • Ưu tiên certificate hơn secret
- • Ưu tiên Managed Identity nhất
4.3 OAuth Permission Grants & Rủi ro
Attacker tạo app độc hại, dụ user consent quyền Mail.Read hoặc Files.ReadWrite.All. App sau đó đọc email/file không cần password của user.
Yêu cầu admin duyệt trước khi user có thể consent quyền cao.
Enterprise Apps → Permissions → xem app nào có quyền cao, ai consent.
Revoke permission grants cho app đáng ngờ, kiểm tra audit log.
4.4 Managed Identity
Managed Identity cung cấp danh tính tự động cho tài nguyên Azure — không cần lưu password, secret, hay certificate trong code.
| Loại | Đặc điểm | Use case |
|---|---|---|
| System-assigned | Gắn với 1 resource, tự xóa khi resource xóa | VM truy cập Key Vault, Storage |
| User-assigned | Tài nguyên độc lập, gán cho nhiều resource | App Service, Function Apps dùng chung identity |
🧪 Lab trong chương
Tạo App Registration, thêm redirect URI, client secret, API permission, admin consent, kiểm tra service principal.
Xem labLọc ứng dụng có quyền cao, xem permission grants, thu hồi consent không cần thiết, kiểm tra audit log.
Xem labBật system-assigned MI, gán Reader trên RG, dùng IMDS lấy token, kiểm tra truy cập Azure resource.
Xem labTạo user-assigned MI, gán cho App Service, cấu hình Key Vault Secrets User, app đọc secret an toàn.
Xem lab