กฎความปลอดภัย # 1: หากใครบางคนมีการเข้าถึงข้อมูลพวกเขาสามารถเข้าถึงข้อมูลนั้นได้
ซ้ำซากนั้นน่ารำคาญ แต่ก็เป็นจริง หากคุณให้สิทธิ์การเข้าถึงบุคคลพวกเขาสามารถเข้าถึงข้อมูลได้ สำหรับผู้ใช้มักจะหมายถึงการควบคุมการเข้าถึง แต่สำหรับนักพัฒนา ... ดี ... พวกเขาเป็นผู้ที่ต้องเขียนการควบคุมการเข้าถึง
หากนี่เป็นปัญหาสำคัญสำหรับคุณ (และดูเหมือนว่าเป็น) ให้พิจารณาสร้างความปลอดภัยให้กับซอฟต์แวร์ของคุณ รูปแบบทั่วไปคือการออกแบบซอฟต์แวร์ที่ปลอดภัยในเลเยอร์ ที่ระดับต่ำสุดทีมพัฒนาที่เชื่อถือได้ออกแบบซอฟต์แวร์ซึ่งจัดการการควบคุมการเข้าถึงที่เปลือยเปล่าที่สุด ซอฟต์แวร์ดังกล่าวได้รับการตรวจสอบและตรวจสอบโดยคนจำนวนมากที่สุดเท่าที่จะเป็นไปได้ ทุกคนที่ออกแบบรหัสนั้นสามารถเข้าถึงทุกสิ่งได้ดังนั้นความไว้วางใจจึงเป็นสิ่งจำเป็น
หลังจากนั้นผู้พัฒนาสามารถสร้างการควบคุมการเข้าถึงที่ยืดหยุ่นมากขึ้นบนชั้นแกนหลัก รหัสนี้ยังต้องเป็น V & Vd แต่มันไม่เข้มงวดนักเพราะคุณสามารถพึ่งพาชั้นแกนกลางเพื่อปกปิดสิ่งจำเป็น
รูปแบบขยายออกไปด้านนอก
ส่วนที่ยากคือศิลปะในการออกแบบระบบเหล่านี้คือวิธีการสร้างแต่ละชั้นเพื่อให้นักพัฒนาสามารถพัฒนาและตรวจแก้จุดบกพร่องในขณะที่ยังคงให้ความปลอดภัยที่คุณคาดหวังกับ บริษัท ของคุณ โดยเฉพาะอย่างยิ่งคุณจะต้องยอมรับว่าการดีบั๊กต้องการสิทธิพิเศษมากกว่าที่คุณคิดและการล็อคลงจะส่งผลให้นักพัฒนาบางคนโกรธมาก
ในฐานะที่เป็นโซลูชันด้านข้างให้พิจารณาจัดทำฐานข้อมูล "ปลอดภัย" สำหรับการทดสอบที่ผู้พัฒนาสามารถดึงกลไกความปลอดภัยทั้งหมดและทำการดีบักอย่างจริงจัง
ในที่สุดทั้งคุณและนักพัฒนาของคุณจำเป็นต้องเข้าใจหลักสำคัญของการรักษาความปลอดภัย: ความปลอดภัยทั้งหมดคือความสมดุลระหว่างความปลอดภัยและการใช้งาน คุณต้องทำยอดเงินคงเหลือของคุณในฐานะ บริษัท ระบบจะไม่ปลอดภัยอย่างสมบูรณ์และจะไม่สามารถใช้งานได้อย่างสมบูรณ์ ความสมดุลดังกล่าวอาจจะเป็นไปในขณะที่ บริษัท ของคุณเติบโตและ / หรือความต้องการของนักพัฒนาที่เปลี่ยนแปลง หากคุณเปิดรับความจริงนี้คุณสามารถพูดได้