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

ตัวอย่างงานหนึ่งทำให้เรื่องนี้เป็นรูปธรรม: ผู้พัฒนาภายนอกหนึ่งคน รีโพซิทอรีหนึ่งแห่ง ไม่มีโฮสต์โปรดักชัน ไม่มีอินเทอร์เฟซผู้ดูแล รักษาขอบเขตนี้ให้คงที่ขณะเปรียบเทียบทางเข้า

สองทางเข้า สองขอบเขตที่แตกต่าง

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

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

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

บทบาทในรีโพซิทอรีคือหน่วยของสิทธิ์

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

ระบุทุกการดำเนินการที่งานต้องการจริง การเข้าถึงผ่านเบราว์เซอร์และการขนส่ง Git อาจใช้ข้อมูลรับรองหรือตัวรับฟังที่ต่างกัน การสร้างอัตโนมัติ การดาวน์โหลดแพ็กเกจ และ webhook สามารถทำงานเป็นตัวตนแยกที่มีเส้นทางส่งของตัวเอง และ VPN บนแล็ปท็อปไม่ได้เชื่อมสิ่งเหล่านั้น

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

ข้อมูลรับรองที่อยู่ยาวนานกว่าบุคคล

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

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

ตรวจสอบการดำเนินการ การปฏิเสธ และการออกจากองค์กร

ก่อนส่งมอบ ทดสอบสามสิ่ง: การดำเนินการรีโพซิทอรีที่ได้รับอนุญาตสำเร็จ รีโพซิทอรีที่ไม่เกี่ยวข้องถูกปฏิเสธ และตัวตนที่ปลดระวางล้มเหลว หากการออกแบบเป็นเฉพาะ VPN ให้ยืนยันว่าเส้นทางสาธารณะตรงแบบเก่าไม่สามารถดำเนินการได้อีก

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

บทความที่เกี่ยวข้อง