คุณจะจัดการกับการขาดสิทธิ์ระดับ Schema ใน Oracle ได้อย่างไร สถาปัตยกรรมความปลอดภัยของออราเคิลทำงานได้ดีสำหรับแอปพลิเคชันที่ต้องการเฉพาะสิทธิ์ระดับวัตถุและทำงานได้ดีสำหรับ DBA ที่ต้องการข้อ จำกัด เล็กน้อย อย่างไรก็ตามดูเหมือนว่าจะมีช่องโหว่ขนาดใหญ่ในสถาปัตยกรรมสำหรับโปรแกรมเมอร์ที่ทำการพัฒนาด้วยแอพพลิเคชั่นส่วนหน้าและ PL / SQL ในหลายสคีมา นี่คือตัวเลือกของฉันบางส่วนที่มีข้อเสีย:
ทำให้แต่ละโปรแกรมเมอร์ทำการพัฒนาในสคีมาของตนเอง DBA จะให้สิทธิพิเศษระดับวัตถุแก่โปรแกรมเมอร์ที่ต้องการ การพัฒนาบรรจุภัณฑ์ใด ๆ จะต้องทำโดย DBA ข้อเสียที่สำคัญคือโปรแกรมเมอร์จะใช้ฐานข้อมูลเช่น bit bucket เพื่อลดความเสียหายของประสิทธิภาพของฐานข้อมูล ฉันต้องการโปรแกรมเมอร์ที่จะพัฒนาในฐานข้อมูล แต่วิธีนี้จะทำให้หมดกำลังใจอย่างมาก
ให้ชื่อผู้ใช้ / รหัสผ่านของโปรแกรมเมอร์แก่ schema ที่ต้องการพัฒนามากกว่าสิบตัวอนุญาตให้สคีมาของแอปพลิเคชันเหล่านี้เพื่อสร้างโพรซีเดอร์ตารางและอื่น ๆ ข้อเสียของวิธีการนี้คือโปรแกรมเมอร์ต้องดูแลการเข้าสู่ระบบหลายครั้ง ไม่ค่อยเข้าสู่ระบบในฐานะตัวเอง การพัฒนาข้ามสคีก็ยากเช่นกัน
ให้สิทธิการพิสูจน์ตัวตนพร็อกซีโปรแกรมเมอร์แก่แต่ละสคีมาที่ต้องพัฒนา สิ่งนี้ทำให้พวกเขาล็อกอินด้วยตนเองโดยไม่ต้องให้สิทธิพิเศษนอกเหนือจากสิทธิ์พร็อกซี ข้อเสียรวมถึงโปรแกรมเมอร์ที่ต้องรักษาการเชื่อมต่อแยกกันสำหรับแต่ละสคีมาที่พร็อกซีสำหรับการพัฒนาข้ามสคีมานั้นยุ่งยากกว่าเนื่องจากการเชื่อมต่อจะต้องมีการเปลี่ยนแปลงอยู่ตลอดเวลาและแพ็คเกจที่ใช้การเชื่อมโยงฐานข้อมูลสาธารณะ
ให้สิทธิ์ DBA สำหรับโปรแกรมเมอร์แต่ละคน - ข้อเสียนี่คือความปลอดภัย ไม่มีโปรแกรมเมอร์สคีมาสามารถถูกเก็บออกจากสคีมาใด ๆ และโปรแกรมเมอร์ใด ๆ สามารถเลียนแบบโปรแกรมเมอร์อื่น ๆ (DBA)
ดูเหมือนว่าจะมีตัวเลือกที่ขาดหายไปเพื่อให้โปรแกรมเมอร์แต่ละตัว SELECT / INSERT / CREATE / etc สิทธิพิเศษในสคีมาที่พวกเขาต้องการในการพัฒนาพวกเขาลงชื่อเข้าใช้ด้วยตนเองเพื่อทำงานโดยใช้การเชื่อมต่อเดียว วัตถุใหม่ในสคีมาที่พวกเขาสามารถเข้าถึงได้จะพร้อมใช้งานทันที
ฉันพลาดอะไรไปรึเปล่า? คุณจัดการโปรแกรมเมอร์แอปพลิเคชันที่พัฒนา PL / SQL อย่างไร