แยก tenant ออกจากกัน
ทีมของคุณเก็บข้อมูลแถวของลูกค้าทุกรายไว้ในตาราง DynamoDB เดียวกัน โดยใช้ partition key หนึ่งตัวต่อ tenant หนึ่งราย บริการ reports จะอ่านตารางนี้ในนามของผู้ที่ลงชื่อเข้าใช้ และตอนนี้ยังใช้ policy ที่ AWS จัดการ (AWS managed policy) ซึ่งมีคนแนบไว้อย่างเร่งรีบ
เปิดคอนโซล Tenant isolation แล้วดูว่า policy ที่จัดการนั้นให้สิทธิ์อะไรกลับมาบ้าง จากนั้นสลับไปที่ customer managed policy ซึ่งเป็นที่อยู่ของเงื่อนไข dynamodb:LeadingKeys ที่กล่าวถึงในวิดีโอ แล้วไล่ดู action ต่างๆ ที่ statement นั้นให้สิทธิ์
เงื่อนไขนี้ปฏิเสธคำขอสองในห้ารายการได้ด้วยตัวเอง แต่นั่นก็ยังไม่ใช่การแยก tenant อย่างแท้จริง
การเปลี่ยนแปลงใดที่จะหยุดไม่ให้ผู้เรียกอ่านข้อมูลแถวของ tenant รายอื่นได้ในที่สุด
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การใช้ AWS Security สำหรับนักพัฒนา
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำจริง
เปลี่ยนทฤษฎีให้เป็นการลงมือทำด้วยแบบฝึกหัดเชิงโต้ตอบหนึ่งในของเรา
เริ่มแบบฝึกหัด