AssumeRole และอายุเซสชัน
เรียนรู้ว่าหลักการแลกเปลี่ยนอัตลักษณ์ของตนกับสิทธิ์ของโรลอย่างไร
AssumeRole และอายุเซสชัน เป็นบทเรียน AWS Security Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน AWS Security Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส AWS Security Academy มีบทเรียนทั้งหมด 4 บทเรียน
แลกเปลี่ยนข้อมูลประจำตัวกับสิทธิ์
การดำเนินการ AssumeRole ช่วยให้ผู้เรียกแลกเปลี่ยนข้อมูลประจำตัวของตนเองชั่วคราวกับสิทธิ์ของบทบาทได้ ผลลัพธ์คือ เซสชัน ที่มีระยะเวลาจำกัด การควบคุมว่าเซสชันจะใช้งานได้นานเท่าใดและสิทธิ์ของเซสชันจะครอบคลุมเพียงใด เป็นหัวข้อที่พบบ่อยใน SCS-C02 เนื่องจากอายุการใช้งานของเซสชันส่งผลโดยตรงต่อขอบเขตความเสี่ยงด้านความปลอดภัย
เซสชันของบทบาทที่รับมา
หลังจาก AssumeRole ทำงานสำเร็จ ผู้เรียกจะทำงานในฐานะ เซสชันของบทบาทที่รับมา ซึ่งระบุด้วย ARN เช่น arn:aws:sts::ACCOUNT:assumed-role/RoleName/SessionName ตลอดช่วงเวลาดังกล่าว ผู้เรียกจะมีสิทธิ์ของบทบาทนั้น และไม่มีสิทธิ์เดิมของตนเอง ชื่อเซสชันที่คุณส่งจะถูกเก็บไว้เพื่อใช้ในการตรวจสอบย้อนหลัง
จำนวนวินาทีของระยะเวลา
พารามิเตอร์ DurationSeconds กำหนดว่าเซสชันจะใช้งานได้นานเท่าใด ตั้งแต่ 900 วินาที (15 นาที) จนถึงค่าสูงสุดที่บทบาทกำหนด เซสชันที่สั้นลงจะลดช่วงเวลาที่ข้อมูลประจำตัวซึ่งรั่วไหลยังใช้งานได้ ดังนั้นแนวคิดสิทธิ์น้อยที่สุดจึงสนับสนุนระยะเวลาที่สั้นที่สุดเท่าที่ใช้งานได้จริง
ระยะเวลาเซสชันสูงสุด
แต่ละบทบาทมีการตั้งค่า MaximumSessionDuration (ตั้งแต่ 1 ถึง 12 ชั่วโมง) คำขอที่ระบุ DurationSeconds เกินค่านี้จะถูกปฏิเสธ การกำหนดค่าสูงสุดที่เหมาะสมให้กับบทบาทที่มีข้อมูลสำคัญจะจำกัดระยะเวลาที่การรับบทบาทแต่ละครั้งใช้งานได้ ซึ่งเป็นการควบคุมที่คุณปรับให้เหมาะกับบทบาทที่มีความเสี่ยงสูงได้
ข้อจำกัดของการต่อบทบาท
เมื่อบทบาทหนึ่งที่รับมาใช้เพื่อรับ อีก บทบาทหนึ่ง การดำเนินการนี้เรียกว่า การต่อบทบาท AWS จำกัดเซสชันที่ต่อกันให้มีระยะเวลาสูงสุด หนึ่งชั่วโมง ไม่ว่าค่าสูงสุดที่กำหนดไว้สำหรับบทบาทจะเป็นเท่าใด การเข้าใจข้อจำกัดนี้จะช่วยอธิบายว่าเหตุใดคำขอที่ระบุระยะเวลานานจึงล้มเหลวเมื่อมีการต่อบทบาท ซึ่งเป็นรายละเอียดสำคัญที่ข้อสอบอาจถาม
การต่ออายุข้อมูลประจำตัว
เนื่องจากเซสชันหมดอายุ แอปพลิเคชันจึงต้อง รับบทบาทอีกครั้ง เพื่อทำงานต่อไป SDK จะจัดการเรื่องนี้ให้โดยอัตโนมัติสำหรับโปรไฟล์อินสแตนซ์และโปรไฟล์บทบาทที่กำหนดค่าไว้ โดยดึงข้อมูลประจำตัวชุดใหม่ก่อนที่ชุดเดิมจะหมดอายุ คุณไม่สามารถขยายเซสชันที่มีอยู่ได้ แต่สามารถรับเซสชันใหม่ได้เท่านั้น
พารามิเตอร์ของ AssumeRole
นอกจากระยะเวลาแล้ว AssumeRole ยังรับ นโยบายหรือ PolicyArns (นโยบายเซสชันสำหรับจำกัดสิทธิ์ให้แคบลง) แท็ก (แท็กเซสชันสำหรับ ABAC) และ SerialNumber พร้อม TokenCode สำหรับ MFA สิ่งเหล่านี้ช่วยให้คุณกำหนดขอบเขตและปกป้องการรับบทบาทแต่ละครั้งได้อย่างแม่นยำในขณะที่เกิดขึ้น
การกำหนดให้ต้องใช้ MFA
นโยบายความน่าเชื่อถือของบทบาทสามารถกำหนดให้ต้องใช้ MFA ได้ ซึ่งในกรณีนี้ AssumeRole ต้องมี ARN ของอุปกรณ์ MFA และรหัสโทเค็นปัจจุบัน การทำเช่นนี้ช่วยให้ไม่สามารถรับบทบาทที่มีสิทธิ์สูงได้ด้วยข้อมูลประจำตัวที่ถูกขโมยเพียงอย่างเดียว การใช้เซสชันสั้นควบคู่กับ MFA เป็นมาตรการควบคุมที่มีประสิทธิภาพและเป็นแนวทางที่ข้อสอบสนับสนุนสำหรับบทบาทที่มีข้อมูลสำคัญ
"Condition": {
"Bool": { "aws:MultiFactorAuthPresent": "true" }
}การเพิกถอนเซสชันที่ใช้งานอยู่
คุณไม่สามารถลบข้อมูลประจำตัวชั่วคราวรายการใดรายการหนึ่งได้ แต่สามารถ เพิกถอนเซสชันที่ใช้งานอยู่ทั้งหมดของบทบาทได้ โดยแนบนโยบายแบบฝังที่ปฏิเสธการดำเนินการสำหรับโทเค็นที่ออกก่อนเวลาที่เลือก โดยใช้เงื่อนไข aws:TokenIssueTime ปุ่ม "เพิกถอนเซสชันที่ใช้งานอยู่" ในคอนโซลทำสิ่งนี้โดยตรง จึงเป็นเครื่องมือสำคัญสำหรับรับมือเหตุการณ์
เหตุใดเซสชันสั้นจึงช่วยได้
อายุการใช้งานเซสชันที่สั้นหมายความว่า แม้ข้อมูลประจำตัวชั่วคราวจะรั่วไหล ข้อมูลดังกล่าวก็จะใช้การไม่ได้ในไม่ช้า เมื่อใช้ร่วมกับการเพิกถอน MFA และนโยบายเซสชันที่ให้สิทธิ์น้อยที่สุด สิ่งเหล่านี้จะลดช่วงเวลาที่ผู้โจมตีมีโอกาสโจมตีลงอย่างมาก ข้อสอบมักให้ความสำคัญกับคำตอบที่ลดระยะเวลาที่ข้อมูลประจำตัวใด ๆ ยังคงใช้งานได้
นำทุกอย่างมาประกอบกัน
AssumeRole จะสร้างเซสชันที่มีระยะเวลาจำกัด โดยอยู่ภายใต้ DurationSeconds และไม่เกิน MaximumSessionDuration ของบทบาท ขณะที่บทบาทที่ต่อกันจะถูกจำกัดไว้ที่ หนึ่งชั่วโมง กำหนดขอบเขตของแต่ละเซสชันด้วยนโยบาย แท็ก และ MFA แล้วใช้กลไกการเพิกถอนด้วย TokenIssueTime เพื่อยุติเซสชันที่ถูกบุกรุกได้ทันที เซสชันที่สั้นและมีขอบเขตชัดเจนคือตัวเลือกเริ่มต้นที่ปลอดภัย
ตรวจสอบอย่างรวดเร็ว
ทดสอบความรู้เกี่ยวกับอายุการใช้งานของเซสชัน
ทบทวน
AssumeRole จะสร้าง เซสชันของบทบาทที่รับมา ซึ่งใช้งานได้ตั้งแต่ 15 นาทีจนถึง MaximumSessionDuration ของบทบาท (สูงสุด 12 ชั่วโมง) และ การต่อบทบาทจะถูกจำกัดไว้ที่ หนึ่งชั่วโมง กำหนดขอบเขตเซสชันด้วยนโยบายเซสชัน แท็ก และ MFA เพิกถอนเซสชันที่ถูกบุกรุกโดยใช้กลไกปฏิเสธด้วย aws:TokenIssueTime ควรเลือกใช้เซสชันที่สั้นและมีขอบเขตชัดเจน
คำถามที่พบบ่อย
บทเรียน “AssumeRole และอายุเซสชัน” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “AssumeRole และอายุเซสชัน” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส AWS Security Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส AWS Security Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “AssumeRole และอายุเซสชัน”
เรียนรู้ว่าหลักการแลกเปลี่ยนอัตลักษณ์ของตนกับสิทธิ์ของโรลอย่างไร คุณปฏิบัติ AWS Security Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน AWS Security Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน AWS Security Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน
บทเรียน “AssumeRole และอายุเซสชัน” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน AWS Security Academy นี้ได้ไหม
ได้ บทเรียน AWS Security Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- STS ออกข้อมูลรับรองชั่วคราวอย่างไร
- AssumeRole และอายุเซสชัน
- ID ภายนอกและปัญหาตัวแทนสับสน
- นโยบายเซสชันและการกำหนดขอบเขตตามแท็ก