Azure Policy
เขียนและกำหนดคำจำกัดความ Azure Policy เพื่อบังคับใช้รูปแบบการตั้งชื่อ ประเภททรัพยากรที่อนุญาต และข้อจำกัดด้านตำแหน่งที่ตั้งโดยอัตโนมัติในขอบเขตการสมัครใช้งานหรือกลุ่มทรัพยากร
Azure Policy เป็นบทเรียน Cloud & IT Cert Prep ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Cloud & IT Cert Prep และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Cloud & IT Cert Prep มีบทเรียนทั้งหมด 4 บทเรียน
Azure Policy คืออะไร
Azure Policy คือบริการกำกับดูแลที่ช่วยให้คุณกำหนด กำหนดใช้ และจัดการกฎต่าง ๆ ซึ่งเรียกว่า คำจำกัดความของ policy เพื่อควบคุมหรือตรวจสอบการกำหนดค่าของทรัพยากร Azure ต่างจาก RBAC ซึ่งควบคุมว่า ใคร สามารถดำเนินการได้ Azure Policy ควบคุมว่า การกำหนดค่าทรัพยากรที่ได้ อนุญาตให้เป็นอย่างไร คุณใช้บริการนี้เพื่อบังคับใช้มาตรฐานขององค์กร เช่น รูปแบบการตั้งชื่อ ประเภททรัพยากรที่อนุมัติ และการกำหนดค่าด้านความปลอดภัยที่จำเป็น
คำจำกัดความของ Policy
คำจำกัดความของ policy คือเอกสาร JSON ที่กำหนด เงื่อนไข สำหรับประเมินกับทรัพยากร และ ผลลัพธ์ ที่จะใช้เมื่อเงื่อนไขเป็นจริง Azure มี คำจำกัดความของ policy ที่มีอยู่แล้ว หลายร้อยรายการสำหรับสถานการณ์ทั่วไป นอกจากนี้ คุณยังสามารถสร้าง คำจำกัดความของ policy แบบกำหนดเอง เมื่อ policy ที่มีอยู่แล้วไม่ตรงตามข้อกำหนดของคุณ คำจำกัดความของ policy เป็นออบเจ็กต์ที่นำกลับมาใช้ซ้ำได้ แต่ต้อง กำหนดใช้ กับขอบเขตก่อนจึงจะมีผล
// Example built-in policy: require a specific tag on all resources
// Policy definition logic (simplified):
{
'if': {
'field': 'tags[Environment]',
'exists': 'false'
},
'then': {
'effect': 'deny'
}
}ผลลัพธ์ของ Policy
ผลลัพธ์ ในคำจำกัดความของ policy จะกำหนดว่าจะเกิดอะไรขึ้นเมื่อเงื่อนไขของ policy ถูกเรียกใช้ ผลลัพธ์สำคัญ ได้แก่ ปฏิเสธ — บล็อกการสร้างหรืออัปเดตทรัพยากรที่ละเมิด policy; ตรวจสอบ — อนุญาตให้ดำเนินการ แต่บันทึกคำเตือนในรายงานการปฏิบัติตามข้อกำหนด; เพิ่มข้อมูล — เพิ่มฟิลด์ที่จำเป็น (เช่น แท็ก) ให้ทรัพยากรก่อนสร้าง; แก้ไข — เปลี่ยนคุณสมบัติของทรัพยากรที่มีอยู่หรือทรัพยากรใหม่; DeployIfNotExists — ปรับใช้ทรัพยากรที่เกี่ยวข้องหากไม่ตรงตามเงื่อนไข (เช่น ปรับใช้ส่วนขยายการวินิจฉัยกับ VM ทุกเครื่อง)
การกำหนดใช้ Policy
การกำหนดใช้ policy จะนำคำจำกัดความของ policy ไปใช้กับขอบเขตเฉพาะ ได้แก่ management group, subscription หรือ resource group ทรัพยากรทั้งหมดภายในขอบเขตนั้น (รวมถึงขอบเขตลูก) จะถูกประเมินตาม policy ที่กำหนดใช้ การกำหนดใช้สามารถมี พารามิเตอร์ ได้ ตัวอย่างเช่น policy ที่จำกัดภูมิภาค Azure ที่อนุญาต สามารถกำหนดพารามิเตอร์เพื่อให้ใช้คำจำกัดความเดียวกันกับรายการภูมิภาคที่แตกต่างกันใน management group ต่าง ๆ
# Assign a built-in policy to restrict allowed locations
az policy assignment create \
--name 'allowed-locations' \
--policy 'e56962a6-4747-49cd-b67b-bf8b01975c4c' \
--scope /subscriptions/<sub-id> \
--params '{"listOfAllowedLocations": {"value": ["eastus", "westeurope"]}}'
# List all policy assignments in a subscription
az policy assignment list \
--scope /subscriptions/<sub-id> \
--output tableคำจำกัดความของ Initiative (ชุด Policy)
คำจำกัดความของ initiative (เรียกอีกอย่างว่าชุด policy) จะจัดกลุ่มคำจำกัดความของ policy ที่เกี่ยวข้องหลายรายการไว้ในแพ็กเกจเดียวที่สามารถกำหนดใช้ได้ แทนที่จะกำหนดใช้ policy 20 รายการแยกกัน คุณสามารถกำหนดใช้ initiative เพียงรายการเดียว Azure มี initiative ที่สร้างไว้แล้วสำหรับกรอบการปฏิบัติตามข้อกำหนด เช่น ISO 27001, NIST SP 800-53, Azure Security Benchmark และ PCI DSS ตัวอย่างเช่น การกำหนดใช้ initiative CIS Microsoft Azure Foundations Benchmark จะประเมิน subscription ของคุณตามตัวควบคุมด้านความปลอดภัยมากกว่า 180 รายการพร้อมกัน
# Assign the Azure Security Benchmark initiative
az policy assignment create \
--name 'azure-security-benchmark' \
--policy-set-definition '1f3afdf9-d0c9-4c3d-847f-89da613e70a8' \
--scope /subscriptions/<sub-id>การรายงานการปฏิบัติตามข้อกำหนด
หลังจากกำหนดใช้ policy แล้ว Azure จะประเมินทรัพยากรที่มีอยู่ทั้งหมดในขอบเขต และสร้าง รายงานการปฏิบัติตามข้อกำหนด รายงานจะแสดง เปอร์เซ็นต์การปฏิบัติตามข้อกำหนดโดยรวม (ทรัพยากรที่เป็นไปตามข้อกำหนด / ทรัพยากรทั้งหมด) สถานะการปฏิบัติตามข้อกำหนดของทรัพยากรแต่ละรายการ และเงื่อนไข policy เฉพาะที่ไม่ผ่าน คุณสามารถกรองตาม initiative ของ policy ขอบเขต หรือประเภททรัพยากรได้ ระบบจะแสดงรายการทรัพยากรที่ไม่เป็นไปตามข้อกำหนดพร้อมกฎ policy ที่ละเมิดอย่างละเอียด เพื่อช่วยกำหนดแนวทางแก้ไข
# Get policy compliance summary
az policy state summarize \
--subscription <sub-id> \
--output json
# List all non-compliant resources
az policy state list \
--filter 'complianceState eq NonCompliant' \
--output tableงานแก้ไข
สำหรับ policy ที่มีผลลัพธ์เป็น DeployIfNotExists หรือ แก้ไข Azure สามารถสร้าง งานแก้ไข เพื่อทำให้ทรัพยากรที่มีอยู่และไม่เป็นไปตามข้อกำหนดกลับมาสอดคล้องกับข้อกำหนดได้ ตัวอย่างเช่น policy แบบ DeployIfNotExists ที่ปรับใช้เอเจนต์ Log Analytics กับ VM ทุกเครื่อง สามารถเรียกใช้งานแก้ไขเพื่อติดตั้งเอเจนต์ใน VM ที่มีอยู่ทั้งหมดซึ่งยังไม่มีเอเจนต์ได้ ทรัพยากรใหม่จะได้รับการแก้ไขโดยอัตโนมัติขณะสร้าง ส่วนทรัพยากรที่มีอยู่ต้องใช้งานแก้ไขอย่างชัดเจน
# Create a remediation task for existing non-compliant resources
az policy remediation create \
--name 'remediate-vm-logs' \
--policy-assignment 'deploy-vm-log-analytics' \
--resource-group myRGข้อยกเว้นของ Policy
บางครั้งทรัพยากรบางรายการจำเป็นต้องได้รับการยกเว้นจาก policy อย่างถูกต้องตามเหตุผล — เช่น ทรัพยากรรุ่นเก่าที่ไม่สามารถแก้ไขได้ หรือข้อยกเว้นที่ได้รับอนุมัติและบันทึกไว้ในคำขอเปลี่ยนแปลง ข้อยกเว้นของ policy ช่วยให้คุณยกเว้นทรัพยากรหรือ resource group ที่ระบุจากการกำหนดใช้ policy ได้ โดยไม่ต้องนำ policy ออกจากระบบทั้งหมด ข้อยกเว้นมีวันหมดอายุและหมวดหมู่ (Waiver หรือ Mitigated) เป็นตัวเลือก เพื่อบันทึกเหตุผลของข้อยกเว้น
# Create a policy exemption for a specific resource group
az policy exemption create \
--name 'legacy-rg-exemption' \
--policy-assignment 'allowed-locations' \
--scope /subscriptions/<sub-id>/resourceGroups/legacyRG \
--exemption-category Waiver \
--expires-on '2027-01-01T00:00:00Z' \
--description 'Legacy workload pending migration'DeployIfNotExists: การกำหนดค่าในระดับใหญ่
DeployIfNotExists เป็นหนึ่งในผลลัพธ์ของ policy ที่มีประสิทธิภาพสูงสุด เมื่อสร้างทรัพยากรโดยไม่มีทรัพยากรที่เกี่ยวข้องซึ่งจำเป็น (เช่น VM ที่ไม่มีส่วนขยายการวินิจฉัย) policy จะเรียกใช้การปรับใช้เทมเพลต ARM โดยอัตโนมัติ เพื่อเพิ่มส่วนประกอบที่ขาดหายไป ทำให้ Azure Policy กลายเป็น เครื่องมือจัดการการกำหนดค่าอัตโนมัติ ได้ โดยรับรองว่า VM ทุกเครื่องมีเอเจนต์ตรวจสอบอยู่เสมอ บัญชีที่เก็บข้อมูลทุกบัญชีมีการป้องกันภัยคุกคามขั้นสูง และ SQL Database ทุกแห่งเปิดใช้การตรวจสอบอยู่เสมอ
กรณีการใช้งาน Policy ที่พบบ่อย
องค์กรต่าง ๆ ใช้ Azure Policy ในสถานการณ์ด้านการกำกับดูแลมากมาย การจำกัดตำแหน่งที่ตั้ง — อนุญาตให้สร้างทรัพยากรเฉพาะในภูมิภาค Azure ที่ได้รับอนุมัติ เพื่อควบคุมอธิปไตยของข้อมูล ประเภททรัพยากรที่อนุญาต — ป้องกันการปรับใช้บริการที่มีค่าใช้จ่ายสูงหรือไม่ได้รับอนุมัติ การบังคับใช้แท็ก — กำหนดให้ทรัพยากรทั้งหมดมีแท็ก CostCentre และ Environment การจำกัด SKU — จำกัดขนาด VM ให้อยู่ในระดับที่เหมาะสมกับค่าใช้จ่ายสำหรับ subscription ที่ไม่ใช่ Production พื้นฐานด้านความปลอดภัย — บังคับใช้ TLS 1.2 เป็นค่าขั้นต่ำ ปิดการเข้าถึงเครือข่ายสาธารณะของบัญชีที่เก็บข้อมูล และกำหนดให้มีปลายทางส่วนตัว
Azure Policy เทียบกับ RBAC
สิ่งสำคัญคือต้องเข้าใจบทบาทที่แตกต่างกันของ RBAC และ Azure Policy RBAC ควบคุมว่า ใคร สามารถดำเนินการได้ โดยอนุญาตหรือปฏิเสธการดำเนินการตามข้อมูลประจำตัว Azure Policy ควบคุมว่า การกำหนดค่าทรัพยากร ต้องเป็นอย่างไร โดยประเมินและบังคับใช้คุณสมบัติโดยไม่ขึ้นกับว่าใครเป็นผู้ดำเนินการ ทั้งสองอย่างจำเป็นต่อสภาพแวดล้อมที่มีการกำกับดูแลที่ดี RBAC ทำให้มั่นใจว่ามีเพียงผู้ได้รับอนุญาตเท่านั้นที่ปรับใช้ทรัพยากรได้ ส่วน Azure Policy ทำให้มั่นใจว่าทรัพยากรเหล่านั้นเป็นไปตามมาตรฐานการกำหนดค่า
ตรวจสอบความเข้าใจอย่างรวดเร็ว
ทดสอบความเข้าใจแนวคิด Microsoft Azure Fundamentals (AZ-900) จากบทเรียนนี้
สรุปบทเรียน
ในบทเรียนนี้ คุณได้เรียนรู้ว่า Azure Policy กำหนดเงื่อนไขและผลลัพธ์เพื่อควบคุมการกำหนดค่าทรัพยากรในทุกขอบเขต คำจำกัดความของ initiative รวม policy หลายรายการไว้เป็นแพ็กเกจการปฏิบัติตามข้อกำหนดเดียวที่สามารถกำหนดใช้ได้ และ DeployIfNotExists ช่วยบังคับใช้การกำหนดค่าอัตโนมัติสำหรับส่วนประกอบที่ขาดหายไปในระดับใหญ่ บทถัดไปเราจะศึกษาแท็กทรัพยากรและการล็อกทรัพยากรเพื่อปกป้องทรัพยากร Azure
คำถามที่พบบ่อย
บทเรียน “Azure Policy” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “Azure Policy” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Cloud & IT Cert Prep ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Cloud & IT Cert Prep มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “Azure Policy”
เขียนและกำหนดคำจำกัดความ Azure Policy เพื่อบังคับใช้รูปแบบการตั้งชื่อ ประเภททรัพยากรที่อนุญาต และข้อจำกัดด้านตำแหน่งที่ตั้งโดยอัตโนมัติในขอบเขตการสมัครใช้งานหรือกลุ่มทรัพยากร คุณปฏิบัติ Cloud & IT Cert Prep ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Cloud & IT Cert Prep หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Cloud & IT Cert Prep บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน
บทเรียน “Azure Policy” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Cloud & IT Cert Prep นี้ได้ไหม
ได้ บทเรียน Cloud & IT Cert Prep ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- กลุ่มการจัดการและการสมัครใช้งาน
- Azure Policy
- แท็กทรัพยากรและการล็อกทรัพยากร
- Azure Blueprints และการปฏิบัติตามข้อกำหนด