Network Security Group (NSG) ใน Azure คืออะไร?
Network Security Group (NSG) เป็นบริการของ Azure ที่ใช้ควบคุมการจราจรเครือข่ายเข้า-ออก (Inbound/Outbound) ไปยังทรัพยากร Azure (VM, Subnet, NIC) ผ่านกฎความปลอดภัย (Security Rules) ที่กำหนด Source, Destination, Port, Protocol, Action (Allow/Deny), Priority
ความแตกต่าง: NSG vs Active Directory Security Group
| คุณสมบัติ | Network Security Group (NSG) | AD Security Group |
|---|---|---|
| วัตถุประสงค์ | ควบคุม Network Traffic (Layer 3/4) | จัดการสิทธิ์การเข้าถึงทรัพยากร (IAM/RBAC) |
| ระดับ | Network Level (VNet, Subnet, NIC) | Identity Level (User, Group, Service Principal) |
| กฎการทำงาน | Allow/Deny IP, Port, Protocol | Role Assignment (Owner, Contributor, Reader, Custom) |
| จัดการผ่าน | Azure Portal, CLI, PowerShell, ARM, Terraform | Azure AD Portal, Microsoft 365 Admin, PowerShell, Graph API |
วิธีลบ Network Security Group (NSG) ใน Azure Portal
- ล็อกอิน Azure Portal
- ค้นหา Network security groups → คลิกเข้าไป
- เลือก NSG ที่ต้องการลบ
- ในหน้า Overview → คลิก Delete (ไอคอนถังขยะ)
- ยืนยันการลบ: พิมพ์ชื่อ NSG → คลิก Delete
⚠ ข้อควรระวัง: ต้อง Dissociate NSG ออกจาก Subnet/NIC ทั้งหมดก่อน จึงจะลบได้ (Portal จะแจ้งเตือนและทำให้อัตโนมัติ)
วิธีลบด้วย Azure CLI
# ดู NSG ทั้งหมด
az network nsg list --output table
# ลบ NSG (ต้องระบุ Resource Group)
az network nsg delete --name MyNSG --resource-group MyResourceGroup
วิธีลบด้วย Azure PowerShell
# ดู NSG
Get-AzNetworkSecurityGroup | Format-Table Name, ResourceGroupName, Location
# ลบ NSG
Remove-AzNetworkSecurityGroup -Name "MyNSG" -ResourceGroupName "MyResourceGroup" -Force
วิธีลบ Active Directory Security Group (ใน Microsoft Entra ID / Azure AD)
- เข้า Microsoft Entra Admin Center
- ไปที่ Identity → Groups → All groups
- ค้นหา/เลือก Group ที่ต้องการลบ
- คลิก Delete (ไอคอนถังขยะ) → ยืนยัน
PowerShell สำหรับลบ AD Security Group
# ต้องมี AzureAD หรือ Microsoft Graph PowerShell module
# AzureAD (Legacy)
Remove-AzureADGroup -ObjectId "group-object-id"
# Microsoft Graph (แนะนำใหม่)
Remove-MgGroup -GroupId "group-object-id"
NSG และ ASG (Application Security Group)
- NSG: กฎระดับ Network (IP, Port)
- ASG: จัดกลุ่ม VM ตาม Application (Logical Grouping) ใช้อ้างอิงใน NSG Rules แทน IP
- ตัวอย่าง: ASG "WebServers" → NSG Rule: Allow Port 80/443 จาก Internet ไป ASG "WebServers"
Best Practices
- ใช้ Naming Convention:
nsg-(เช่น nsg-prod-eastus-web)- - - จัดกลุ่มกฎด้วย Priority: 100, 200, 300... (เว้นช่องไว้แทรก)
- Default Rules: AllowVNetInBound, AllowAzureLoadBalancerInBound, DenyAllInBound/OutBound
- ใช้ Flow Logs + Traffic Analytics เพื่อดู Traffic จริง
- Test กับ
az network nsg rule evaluateก่อน Deploy Production