นโยบายคีย์ การให้สิทธิ์ และเงื่อนไข
ควบคุมอย่างเจาะจงว่าใครใช้คีย์ได้และใช้ได้ภายใต้บริบทใด
นโยบายคีย์ การให้สิทธิ์ และเงื่อนไข เป็นบทเรียน AWS Security Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน AWS Security Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส AWS Security Academy มีบทเรียนทั้งหมด 4 บทเรียน
การควบคุมผู้ใช้คีย์
การสร้างคีย์เป็นเพียงครึ่งหนึ่งของงาน อีกครึ่งหนึ่งคือการควบคุมว่าใครมีสิทธิ์ใช้คีย์ KMS ใช้กลไกการเข้าถึงหลายรูปแบบที่ทำงานร่วมกันเป็นชั้น ๆ
กลไกที่สำคัญที่สุดคือนโยบายคีย์ ซึ่งเป็นนโยบายที่อิงทรัพยากรและแนบไว้กับคีย์โดยตรง
นโยบายคีย์
คีย์ KMS ทุกคีย์มีนโยบายคีย์ที่เป็นผู้มีอำนาจหลักในการควบคุมการเข้าถึง
- ต่างจากบริการส่วนใหญ่ คีย์ KMS ต้องมีนโยบายคีย์
- หากนโยบายคีย์ไม่อนุญาตการเข้าถึง นโยบาย IAM เพียงอย่างเดียวก็ไม่สามารถอนุญาตได้
ด้วยเหตุนี้ นโยบายคีย์จึงทำหน้าที่เป็นผู้เฝ้าประตู
นโยบายคีย์และ IAM ร่วมกัน
การเข้าถึงคีย์ KMS ต้องให้นโยบายคีย์เปิดใช้ IAMก่อน จากนั้น IAM และนโยบายคีย์จึงทำงานร่วมกัน
นโยบายคีย์เริ่มต้นมีคำสั่งที่ให้ตัวตน IAM ของบัญชีเข้าถึงได้ ภายใต้นโยบาย IAM ของตัวตนเหล่านั้น หากไม่มีคำสั่งนี้ จะมีเพียงตัวตนที่ระบุโดยตรงในนโยบายคีย์เท่านั้นที่ใช้คีย์ได้
{
"Sid": "EnableIAM",
"Effect": "Allow",
"Principal": { "AWS": "arn:aws:iam::111122223333:root" },
"Action": "kms:*",
"Resource": "*"
}สิทธิ์มอบหมาย
สิทธิ์มอบหมายเป็นวิธีที่ยืดหยุ่นและชั่วคราวในการมอบสิทธิ์ใช้คีย์
- อนุญาตการดำเนินการเฉพาะให้แก่ตัวตนหนึ่ง ซึ่งมักทำผ่านโปรแกรม
- บริการ AWS ใช้สิทธิ์มอบหมายเพื่อเข้าถึงคีย์ในนามของคุณ
คุณสามารถยกเลิกหรือเพิกถอนสิทธิ์มอบหมายเมื่อไม่ต้องการใช้แล้ว จึงเหมาะสำหรับการมอบสิทธิ์ระยะสั้น
สิทธิ์มอบหมายเทียบกับนโยบายคีย์
เลือกตามระยะเวลาและระดับความละเอียด:
- ใช้นโยบายคีย์และ IAM สำหรับการเข้าถึงในระยะยาวและครอบคลุม
- ใช้สิทธิ์มอบหมายสำหรับสิทธิ์ชั่วคราวที่กำหนดอย่างละเอียด ซึ่งบริการหรือแอปมักสร้างขึ้นแบบไดนามิก
สิทธิ์มอบหมายช่วยหลีกเลี่ยงการแก้ไขนโยบายคีย์สำหรับความต้องการระยะสั้น
คีย์เงื่อนไข
KMS รองรับคีย์เงื่อนไขที่มีประสิทธิภาพในนโยบาย เช่น kms:ViaService
ViaService จำกัดการใช้คีย์ให้รับคำขอผ่านบริการ AWS ที่ระบุ (เช่น ผ่าน S3 เท่านั้น) ดังนั้นตัวตนจึงถอดรหัสได้เฉพาะเมื่อ S3 เป็นผู้เรียก ไม่ใช่การเรียกโดยตรง
บริบทการเข้ารหัส
บริบทการเข้ารหัสคือชุดคู่คีย์-ค่าที่ส่งไปพร้อมกับการเข้ารหัสหรือถอดรหัส และถูกผูกเข้ากับการดำเนินการด้วยการเข้ารหัส
- ต้องระบุบริบทเดียวกันเมื่อต้องการถอดรหัส
- บริบทนี้จะแสดงใน CloudTrail เพื่อการตรวจสอบ
นโยบายสามารถกำหนดให้ต้องมีบริบทเฉพาะด้วยเงื่อนไข kms:EncryptionContext
การเข้าถึงคีย์ข้ามบัญชี
หากต้องการให้อีกบัญชีใช้คีย์ได้ นโยบายคีย์ต้องอนุญาตบัญชีภายนอกนั้น และตัวตนภายนอกก็ต้องมีสิทธิ์ IAM ด้วย
นี่เป็นรูปแบบสองฝ่ายเช่นเดียวกับบทบาทข้ามบัญชี นโยบายทรัพยากร (ในที่นี้คือนโยบายคีย์) และนโยบาย IAM ของผู้เรียกต้องอนุญาตการดำเนินการทั้งคู่
สิทธิ์น้อยที่สุดสำหรับคีย์
ใช้หลักสิทธิ์น้อยที่สุดกับคีย์:
- แยกผู้ดูแลคีย์ (จัดการคีย์) ออกจากผู้ใช้คีย์ (เข้ารหัสหรือถอดรหัส)
- หลีกเลี่ยงการใช้ kms:* กับผู้ใช้
- ใช้ ViaService และบริบทการเข้ารหัสเพื่อจำกัดขอบเขตให้รัดกุมยิ่งขึ้น
วิธีนี้จำกัดขอบเขตความเสียหายหากตัวตนถูกบุกรุก
ข้อผิดพลาดของนโยบายคีย์เริ่มต้น
ข้อผิดพลาดที่พบบ่อยคือการแก้ไขนโยบายคีย์และลบคำสั่งที่เปิดใช้ IAMออก
หากไม่มีคำสั่งนี้ แม้แต่ผู้ดูแลบัญชีก็จะสูญเสียการเข้าถึง และเนื่องจากนโยบายคีย์เป็นผู้เฝ้าประตู คุณอาจถูกล็อกไม่ให้เข้าถึงคีย์โดยสิ้นเชิง ควรเก็บตัวตนผู้ดูแลระดับบัญชีไว้ในนโยบายคีย์เสมอ เพื่อป้องกันไม่ให้คีย์ไม่สามารถกู้คืนได้
การตรวจสอบการเข้าถึงคีย์
ใช้ CloudTrail (บันทึกการเรียก KMS ทุกครั้งพร้อมบริบท) ร่วมกับ IAM Access Analyzer (ตรวจนโยบายคีย์ที่ให้สิทธิ์การเข้าถึงภายนอก) เพื่อตรวจสอบว่าใครสามารถใช้และกำลังใช้คีย์แต่ละรายการ
การตรวจทบทวนเป็นประจำช่วยตรวจพบว่าขอบเขตของนโยบายคีย์กว้างเกินไป ก่อนที่จะกลายเป็นความเสี่ยง
ตรวจสอบอย่างรวดเร็ว
วิเคราะห์การเข้าถึง KMS
สรุปทบทวน
คุณได้เรียนรู้วิธีควบคุมการเข้าถึง KMS แล้ว
- นโยบายคีย์เป็นผู้เฝ้าประตูหลัก และต้องเปิดใช้ IAM เพื่อให้ใช้งานได้
- สิทธิ์มอบหมายช่วยมอบสิทธิ์ชั่วคราวที่กำหนดอย่างละเอียด
- เงื่อนไขอย่าง ViaService และบริบทการเข้ารหัสช่วยจำกัดขอบเขตให้รัดกุมยิ่งขึ้น
คำถามที่พบบ่อย
บทเรียน “นโยบายคีย์ การให้สิทธิ์ และเงื่อนไข” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “นโยบายคีย์ การให้สิทธิ์ และเงื่อนไข” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส AWS Security Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส AWS Security Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “นโยบายคีย์ การให้สิทธิ์ และเงื่อนไข”
ควบคุมอย่างเจาะจงว่าใครใช้คีย์ได้และใช้ได้ภายใต้บริบทใด คุณปฏิบัติ AWS Security Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน AWS Security Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน AWS Security Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน
บทเรียน “นโยบายคีย์ การให้สิทธิ์ และเงื่อนไข” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน AWS Security Academy นี้ได้ไหม
ได้ บทเรียน AWS Security Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- คีย์ KMS คืออะไรและทำหน้าที่ใด
- คีย์สมมาตร อสมมาตร และหลายรีเจียน
- นโยบายคีย์ การให้สิทธิ์ และเงื่อนไข
- การเข้ารหัสแบบซองและคีย์ข้อมูล