หลักการให้สิทธิ์เท่าที่จำเป็น
ประยุกต์ใช้หลักการให้สิทธิ์เท่าที่จำเป็นกับสถานการณ์จริง และใช้นโยบายที่ AWS จัดการให้แทนนโยบายแบบฝังอย่างเหมาะสม
หลักการให้สิทธิ์เท่าที่จำเป็น เป็นบทเรียน Cloud & IT Cert Prep ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Cloud & IT Cert Prep และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Cloud & IT Cert Prep มีบทเรียนทั้งหมด 4 บทเรียน
สิทธิ์เท่าที่จำเป็นคืออะไร
สิทธิ์เท่าที่จำเป็นหมายถึงการมอบสิทธิ์ให้ข้อมูลระบุตัวตนแต่ละรายการเฉพาะเท่าที่จำเป็นจริง ๆ เท่านั้น หากข้อมูลรับรองรั่วไหล ความเสียหายก็จะมีขอบเขตจำกัด 🛡️
เริ่มต้นด้วยการปฏิเสธเป็นค่าเริ่มต้น
AWS ทำให้การใช้สิทธิ์เท่าที่จำเป็นเป็นเรื่องง่าย: ผู้ใช้หรือบทบาทใหม่จะเริ่มต้นด้วยสิทธิ์เป็นศูนย์ คุณจึงเพิ่มเฉพาะสิ่งที่จำเป็น แทนที่จะต้องคอยถอนสิทธิ์ที่ไม่จำเป็น
การมอบสิทธิ์เกินจำเป็น: ข้อผิดพลาดที่พบบ่อย
ข้อผิดพลาดที่พบบ่อยคือการมอบ AdministratorAccess เพราะทำได้รวดเร็ว แต่บั๊กเพียงจุดเดียวอาจลบข้อมูลของคุณทั้งหมดได้ ควรจำกัดขอบเขตให้เหลือเฉพาะการดำเนินการและทรัพยากรที่ต้องใช้
# AVOID: wildcard permissions
{
'Effect': 'Allow',
'Action': '*',
'Resource': '*'
}
# PREFER: scoped permissions
{
'Effect': 'Allow',
'Action': ['dynamodb:GetItem', 'dynamodb:Query'],
'Resource': 'arn:aws:dynamodb:us-east-1:123456789:table/Orders'
}นโยบายที่ AWS จัดการเทียบกับนโยบายที่ลูกค้าจัดการ
นโยบายที่ AWS จัดการสะดวกแต่บ่อยครั้งมีขอบเขตกว้างเกินไป ส่วนนโยบายที่ลูกค้าจัดการช่วยให้คุณระบุได้อย่างแม่นยำว่าแอปใช้บักเก็ตหรือตารางใด
# Create a scoped customer-managed policy
aws iam create-policy \
--policy-name LambdaOrdersReader \
--policy-document file://orders-reader-policy.jsonตัววิเคราะห์การเข้าถึงของ IAM
IAM Access Analyzerตรวจหาทรัพยากรที่ถูกเปิดเผยออกไปนอกบัญชีของคุณ และยังสามารถสร้างนโยบายที่รัดกุมให้คุณได้โดยอ่านว่าข้อมูลระบุตัวตนใช้งานอะไรจริง
# Enable IAM Access Analyzer for the account
aws accessanalyzer create-analyzer \
--analyzer-name MyAccountAnalyzer \
--type ACCOUNTใช้เงื่อนไขเพื่อทำให้สิทธิ์รัดกุมขึ้น
แม้คุณจำเป็นต้องอนุญาตการดำเนินการบางอย่าง เงื่อนไขก็ยังช่วยลดความเสี่ยงได้ เช่น กำหนดให้ต้องใช้ MFA จำกัดการเข้าถึงไว้ที่ IP ของสำนักงาน หรือจำกัดผู้ใช้ให้อยู่ในโฟลเดอร์ของตนเอง ✨
# Allow users to manage only their own folder in S3
{
'Effect': 'Allow',
'Action': ['s3:GetObject', 's3:PutObject'],
'Resource': 'arn:aws:s3:::shared-bucket/${aws:username}/*'
}ขอบเขตสิทธิ์ในฐานะขอบเขตป้องกัน
เมื่อคุณอนุญาตให้ทีมจัดการ IAM ของตนเอง ขอบเขตสิทธิ์จะจำกัดสิ่งที่บทบาทของทีมทำได้ ทีมสามารถสร้างสิ่งต่าง ๆ ได้อย่างอิสระ แต่จะไม่เกินขีดจำกัดที่คุณกำหนด
การเข้าถึงตามช่วงเวลาด้วยนโยบายเซสชัน
เมื่อคุณรับบทบาท คุณสามารถส่งนโยบายเซสชันเพื่อจำกัดสิทธิ์ของบทบาทให้แคบลงอีกสำหรับเซสชันนั้น เหมาะอย่างยิ่งสำหรับการมอบสิทธิ์เท่าที่จำเป็นให้กับ pipeline
# Assume a role with a restrictive session policy
aws sts assume-role \
--role-arn arn:aws:iam::123456789012:role/DeployRole \
--role-session-name deploy-session \
--policy '{"Version":"2012-10-17","Statement":[{"Effect":"Allow","Action":"lambda:UpdateFunctionCode","Resource":"arn:aws:lambda:us-east-1:123456789012:function:MyApp"}]}'การควบคุมการเข้าถึงตามแท็ก (ABAC)
ABACมอบสิทธิ์โดยจับคู่แท็ก แทนการระบุทรัพยากรทุกชิ้น ตัวอย่างเช่น อนุญาตให้บทบาทหยุดเฉพาะอินสแตนซ์ EC2 ที่ติดแท็กด้วยชื่อทีมของบทบาทนั้น
{
'Effect': 'Allow',
'Action': 'ec2:StopInstances',
'Resource': '*',
'Condition': {
'StringEquals': {
'ec2:ResourceTag/Team': '${aws:PrincipalTag/Team}'
}
}
}การตรวจสอบสิทธิ์ที่ไม่ได้ใช้งาน
AWS ติดตามเวลาที่มีการใช้สิทธิ์แต่ละรายการครั้งล่าสุด ข้อมูล Last Accessedจะแสดงสิทธิ์ที่ไม่ได้ใช้งานมานานกว่า 90 วัน ซึ่งเป็นตัวเลือกที่ควรพิจารณาลบออก
# Get service last-accessed data for a role
aws iam generate-service-last-accessed-details \
--arn arn:aws:iam::123456789012:role/MyLambdaRole
# Retrieve the report (use the JobId from above)
aws iam get-service-last-accessed-details --job-id <JobId>สิทธิ์เท่าที่จำเป็นสำหรับการเข้าถึงข้อมูล
ใช้สิทธิ์เท่าที่จำเป็นกับข้อมูลด้วย: จำกัดผู้ใช้ให้เข้าถึงเฉพาะโฟลเดอร์ S3 ของตนเอง จำกัด DynamoDB ตาม ID ผู้ใช้ และให้แต่ละแอปมีข้อมูลเข้าสู่ระบบฐานข้อมูลของตนเอง
ตรวจสอบความเข้าใจ
ทดสอบความเข้าใจแนวคิด AWS Solutions Architect (SAA-C03) จากบทเรียนนี้
สรุปบทเรียน
สรุปอย่างรวดเร็ว: สิทธิ์เท่าที่จำเป็นหมายถึงการมอบสิทธิ์ขั้นต่ำ, Access Analyzer ช่วยค้นหาสิทธิ์ที่ไม่ได้ใช้งาน และเงื่อนไขร่วมกับขอบเขตสิทธิ์ช่วยให้การควบคุมรัดกุม หัวข้อถัดไป: แนวทางปฏิบัติที่ดีที่สุดของ IAM และ MFA
คำถามที่พบบ่อย
บทเรียน “หลักการให้สิทธิ์เท่าที่จำเป็น” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “หลักการให้สิทธิ์เท่าที่จำเป็น” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Cloud & IT Cert Prep ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Cloud & IT Cert Prep มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “หลักการให้สิทธิ์เท่าที่จำเป็น”
ประยุกต์ใช้หลักการให้สิทธิ์เท่าที่จำเป็นกับสถานการณ์จริง และใช้นโยบายที่ AWS จัดการให้แทนนโยบายแบบฝังอย่างเหมาะสม คุณปฏิบัติ Cloud & IT Cert Prep ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Cloud & IT Cert Prep หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Cloud & IT Cert Prep บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน
บทเรียน “หลักการให้สิทธิ์เท่าที่จำเป็น” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Cloud & IT Cert Prep นี้ได้ไหม
ได้ บทเรียน Cloud & IT Cert Prep ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- ผู้ใช้และกลุ่ม IAM
- บทบาทและนโยบาย IAM
- หลักการให้สิทธิ์เท่าที่จำเป็น
- แนวทางปฏิบัติที่ดีของ IAM และ MFA