メインコンテンツまでスキップ

Active Directory — Quản lý Identity tập trung

Active Directory (AD) là dịch vụ directory của Microsoft — xương sống của hầu hết môi trường Windows enterprise. AD quản lý tập trung users, computers, groups, và policies trong toàn tổ chức.


Kiến trúc Active Directory

Các thành phần cốt lõi

Thành phầnÝ nghĩa
ForestTập hợp domain trees, ranh giới bảo mật tối cao
DomainĐơn vị quản lý (company.com), có database AD riêng
OU (Organizational Unit)Container logic để nhóm objects và áp GPO
DC (Domain Controller)Server chứa database AD (NTDS.dit), xác thực users
GC (Global Catalog)DC đặc biệt, chứa thông tin tất cả objects trong forest
SiteNhóm subnet kết nối nhanh — kiểm soát AD replication

Users, Groups, Computers

Quản lý User bằng PowerShell

# === Xem User ===
Get-ADUser -Identity "sontn" # user cụ thể
Get-ADUser -Filter * | Select-Object Name, SamAccountName, Enabled
Get-ADUser -Filter {Enabled -eq $false} # user bị disable
Get-ADUser -Filter * -SearchBase "OU=IT,DC=company,DC=com"
Get-ADUser -Identity "sontn" -Properties * # tất cả properties

# === Tạo User ===
New-ADUser -Name "Son Nguyen" `
-SamAccountName "sontn" `
-UserPrincipalName "sontn@company.com" `
-Path "OU=IT,DC=company,DC=com" `
-AccountPassword (ConvertTo-SecureString "P@ssw0rd!" -AsPlainText -Force) `
-Enabled $true `
-PasswordNeverExpires $false `
-ChangePasswordAtLogon $true

# === Sửa User ===
Set-ADUser -Identity "sontn" -Department "DevOps" -Title "Senior Engineer"
Set-ADUser -Identity "sontn" -Description "DevOps Team"

# === Disable / Enable / Reset ===
Disable-ADAccount -Identity "sontn"
Enable-ADAccount -Identity "sontn"
Set-ADAccountPassword -Identity "sontn" `
-NewPassword (ConvertTo-SecureString "NewP@ss!" -AsPlainText -Force) -Reset
Unlock-ADAccount -Identity "sontn" # unlock sau khi bị lockout

# === Xoá User ===
Remove-ADUser -Identity "sontn" -Confirm:$false

Quản lý Group

# Xem Group
Get-ADGroup -Filter * | Select-Object Name, GroupScope, GroupCategory
Get-ADGroupMember -Identity "IT-Admins" # thành viên của group
Get-ADPrincipalGroupMembership -Identity "sontn" # user thuộc những group nào

# Tạo Group
New-ADGroup -Name "DevOps-Team" `
-GroupScope Global `
-GroupCategory Security `
-Path "OU=Groups,DC=company,DC=com" `
-Description "DevOps Engineers"

# Thêm/xoá thành viên
Add-ADGroupMember -Identity "DevOps-Team" -Members "sontn","deployer"
Remove-ADGroupMember -Identity "DevOps-Team" -Members "sontn" -Confirm:$false

Group Scope

Best practice AGDLP: Account → Global Group → Domain Local Group → Permission


Group Policy (GPO)

GPO cho phép áp đặt cấu hình (security, software, desktop) cho nhiều users/computers cùng lúc.

Thứ tự áp dụng GPO (LSDOU)

  1. Local — GPO local trên máy (ưu tiên thấp nhất)
  2. Site — GPO gán cho AD Site
  3. Domain — GPO gán cho Domain
  4. OU — GPO gán cho OU (ưu tiên cao nhất, override các GPO trên)
# Quản lý GPO
Get-GPO -All # liệt kê tất cả GPO
Get-GPO -Name "Default Domain Policy"
New-GPO -Name "DevOps Security Policy"
New-GPLink -Name "DevOps Security Policy" `
-Target "OU=DevOps,DC=company,DC=com"

# Xem GPO đang áp cho máy hiện tại
gpresult /R # CMD
gpresult /H C:\gpresult.html # export HTML report
Invoke-GPUpdate -Force # force apply GPO ngay

Authentication — NTLM vs Kerberos

NTLMKerberos
Mô hìnhChallenge-ResponseTicket-based
Hiệu năngThấp hơn (DC verify mỗi lần)Cao hơn (ticket cached)
Bảo mậtYếu hơn (pass-the-hash attack)Mạnh hơn
Dùng khiWorkgroup, không có DCDomain-joined machines

Azure Active Directory (Entra ID)

Azure AD (nay là Microsoft Entra ID) là phiên bản cloud của AD — quản lý identity cho Microsoft 365, Azure, và ứng dụng SaaS.

Khái niệm Azure AD

  • Tenant: Tổ chức trên Azure AD — mỗi company có một tenant riêng
  • App Registration: Đăng ký ứng dụng để xác thực với Azure AD
  • Service Principal: "User" cho ứng dụng hoặc automation
  • Managed Identity: Service Principal tự động managed bởi Azure
  • Conditional Access: Policy kiểm soát điều kiện được login (location, device, MFA...)