การกำหนดรูปแบบการให้สิทธิ์ของคุณ

เมื่อมีการรองรับ Cedar คุณสามารถกำหนดสคีมาของคุณเองในแง่ของเอนทิตีแต่ละประเภท รวมถึงแอตทริบิวต์ที่เกี่ยวข้องกับรูปแบบการให้สิทธิ์และชุดค่าผสมที่ถูกต้องของประเภทผู้ใช้/บริการ/บัญชีที่มีอำนาจในการดำเนินการ ประเภททรัพยากร และการดำเนินการ สิทธิ์ที่ยืนยันใช้สคีมาเพื่อตรวจสอบว่านโยบายแบบคงที่หรือเทมเพลตนโยบายสอดคล้องกับรูปแบบการให้สิทธิ์ของแอปพลิเคชันหรือไม่ คุณสามารถใช้ JSON เพื่อกำหนดสคีมาในสิทธิ์ที่ยืนยันได้ ซึ่งมีความคล้ายคลึงกับสคีมา JSON แต่ใช้ลักษณะเฉพาะของภาษานโยบาย Cedar คุณสามารถกำหนดกลุ่มการดำเนินการในสคีมา ซึ่งเป็นนโยบายที่อนุญาตหรือห้ามกลุ่มการดำเนินการต่างๆ

เชื่อมต่อแอปพลิเคชันของคุณเข้ากับบริการด้วยการใช้ API เพื่ออนุญาตคำขอการเข้าถึงของผู้ใช้ สำหรับคำขอการให้สิทธิ์แต่ละรายการ บริการจะดึงข้อมูลนโยบายที่เกี่ยวข้องและประเมินนโยบายที่ใช้ Cedar เหล่านั้นเพื่อพิจารณาว่าผู้ใช้ได้รับอนุญาตให้ดำเนินการกับทรัพยากรหรือไม่ โดยการป้อนข้อมูลบริบท เช่น ผู้ใช้ บทบาท สมาชิกกลุ่ม และแอตทริบิวต์

การจัดการนโยบายและการตรวจสอบ

ที่จัดเก็บนโยบายเป็นคอนเทนเนอร์ของนโยบายที่ใช้ Cedar ในสิทธิ์ที่ยืนยัน ซึ่งแยกทางตรรกะจากคอนเทนเนอร์อื่น คุณสามารถสร้างความสัมพันธ์แบบลำดับชั้นและการกำหนดค่าทั้งหมดของคุณในที่เก็บนโยบายเดียวเพื่อแยกนโยบายและเทมเพลตนโยบายจากที่เก็บนโยบายอื่นๆ ได้ โดยทั่วไปแล้ว ที่เก็บนโยบายจะแมปกับแอปพลิเคชันแต่ละแอป และอนุญาตให้คุณสร้างการกำหนดค่าและกฎสคีมาที่แตกต่างกันออกไปกับผู้เช่าหลายรายโดยไม่ต้องแชร์หรือเชื่อมต่อระหว่างพวกเขา ตัวอย่างเช่น คุณสามารถมีที่เก็บนโยบายแยกต่างหากสำหรับการใช้แอปพลิเคชันสิทธิ์ที่ยืนยันของผู้เช่าแต่ละราย คุณสามารถลบที่จัดเก็บนโยบายของผู้เช่าหนึ่งรายโดยไม่ส่งผลกระทบต่อทรัพยากร สคีมา นโยบาย และเทมเพลตนโยบายของที่เก็บนโยบายอื่นๆ

การทดลองก่อนติดตั้งคือเครื่องมือสำหรับการทดสอบและแก้ไขปัญหานโยบายสิทธิ์ที่ยืนยัน โดยการเรียกใช้คำขอการให้สิทธิ์จำลองกับนโยบายที่ใช้ Cedar ทั้งหมดในที่เก็บนโยบายของคุณ การทดลองก่อนติดตั้งจะใช้พารามิเตอร์ที่คุณระบุเพื่อพิจารณาว่านโยบายในที่เก็บนโยบายของคุณจะอนุญาตคำขอหรือไม่

คุณสามารถใช้เทมเพลตนโยบายที่ใช้ Cedar ซึ่งเป็นคำชี้แจงนโยบายที่มีตัวยึดตำแหน่งในขอบเขตที่ต้องกรอกด้วยค่าเฉพาะ เทมเพลตนโยบายสามารถมีชื่อแทนค่าข้อมูลสำหรับผู้ใช้/บริการ/บัญชีที่มีอำนาจในการดำเนินการ ทรัพยากร หรือทั้งสองอย่าง การอัปเดตเทมเพลตนโยบายจะมีผลกับผู้ใช้/บริการ/บัญชีที่มีอำนาจในการดำเนินการ และทรัพยากรทั้งหมดที่ใช้เทมเพลต หรือที่เรียกว่านโยบายที่ลิงก์กับเทมเพลต

ขอแนะนำให้ใช้เทมเพลตนโยบายเพื่อสร้างนโยบายที่ใช้ Cedar ที่สามารถแชร์ได้ทั่วทั้งแอปพลิเคชันของคุณ ตัวอย่างเช่น คุณสามารถสร้างเทมเพลตนโยบายสำหรับผู้แก้ไขที่ให้สิทธิ์ในการอ่าน แก้ไข และแสดงความคิดเห็นสำหรับผู้ใช้/บริการ/บัญชีที่มีอำนาจในการดำเนินการ และทรัพยากรที่ใช้เทมเพลตนโยบาย นอกจากนี้ คุณยังสามารถใช้เทมเพลตนโยบายเพื่อกำหนดการควบคุมการเข้าถึงระดับเริ่มต้น ปานกลาง และละเอียดสำหรับแอปพลิเคชันของคุณ ตัวอย่างเช่น คุณสามารถใช้เทมเพลตนโยบายในการกำหนดผู้ใช้เฉพาะให้กับกลุ่ม การควบคุมแบบละเอียดปานกลางเพื่อกำหนดการเข้าถึงทรัพยากรแบบเฉพาะเจาะจง และการควบคุมแบบละเอียดสำหรับแอตทริบิวต์แบบละเอียดที่สุดในทรัพยากร

การสืบค้นนโยบายและการตรวจสอบ

เมื่อใช้ API สิทธิ์ที่ยืนยัน คุณจะสามารถเรียกใช้การสืบค้นเฉพาะกับนโยบายที่จัดเก็บไว้ในสิทธิ์ที่ยืนยันได้ คุณสามารถสืบค้นนโยบายของคุณเพื่อพิจารณาว่าจะใช้นโยบายใดกับผู้ใช้/บริการ/บัญชีที่มีอำนาจในการดำเนินการหรือทรัพยากรเฉพาะ หรือทั้งสองอย่าง

คุณสามารถกำหนดค่าและเชื่อมต่อกับสิทธิ์ที่ยืนยันเพื่อส่งการจัดการนโยบายและข้อมูลบันทึกการให้สิทธิ์ไปยัง AWS CloudTrail ได้

การผสานรวมและความสามารถในการขยาย

คุณสามารถส่งโทเค็นการรับรองความถูกต้องของคุณจาก Amazon Cognito ไปยังคำขอการให้สิทธิ์ที่ดำเนินการผ่านสิทธิ์ที่ยืนยันได้ วิธีนี้จะช่วยให้คุณสามารถส่งผ่านแอตทริบิวต์ของผู้ให้บริการข้อมูลประจำตัวไปยังการประเมินนโยบายได้โดยตรง และด้วยเหตุนี้สิทธิ์ที่ยืนยันจึงมีการตัดสินใจที่จะให้สิทธิ์

สิทธิ์ที่ยืนยันผสานรวมกับ CloudFormation ซึ่งเป็นบริการที่ช่วยคุณในสร้างแบบจำลองและตั้งค่าทรัพยากร AWS เพื่อให้คุณใช้เวลาในการสร้างและจัดการทรัพยากรและโครงสร้างพื้นฐานของคุณน้อยลง คุณเป็นผู้สร้างเทมเพลตที่อธิบายทรัพยากร AWS ทั้งหมดที่คุณต้องการ และ CloudFormation จะจัดเตรียมและกำหนดค่าทรัพยากรเหล่านั้นให้กับคุณ

สิทธิ์ที่ยืนยันโดย SDK มีพร้อมใช้งานโดยใช้ C++, Go, Java, JavaScript, Kotlin, .NET, Node.js, PHP, Python, Ruby, Rust และ Swift