สิทธิ์ Windows สำหรับนักพัฒนา


9

ฉันทำงานที่ บริษัท Fortune 500 ในฐานะนักพัฒนาซอฟต์แวร์ Windows ในการวิจัยและพัฒนา ปัจจุบันฝ่ายไอทีขององค์กรกำลังเตรียมพร้อมสำหรับการปรับใช้ Win7 ทั่วทั้ง บริษัท และเป็นส่วนหนึ่งของพวกเขากำลังมองหาการล็อคสิทธิ์ผู้ดูแลระบบอย่างสมบูรณ์ในทุกช่อง (รวมถึงเวิร์กสเตชัน dev ของเรา)

ฉันได้รับมอบหมายให้ทำงานกับพวกเขาเพื่อให้การเปลี่ยนแปลงราบรื่นที่สุดเท่าที่จะทำได้ ฉันโชคดี.

ฉันต้องการทราบว่ามีแหล่งข้อมูลที่เผยแพร่หรือทรัพยากรที่เคารพนับถืออื่น ๆ ที่ฉันสามารถใช้เพื่อ:

  1. คิดออกว่าจะวาดเส้นในทราย
  2. สำรองตำแหน่งของฉัน

โดยส่วนตัวแล้วสิ่งที่ฉันใช้คือการที่เราวิจัยและพัฒนาและงานของเราคือการทำสิ่งต่าง ๆ ที่ 'ออกนอกกรอบ' ดังนั้นเราต้องการสิทธิ์ผู้ดูแลระบบ อย่างไรก็ตามการเริ่มต้นอาชีพการเป็นผู้ดูแลระบบ Windows ของฉันฉันตระหนักถึงเป้าหมายและสิ่งที่พวกเขาต้องการเพื่อให้บรรลุ สิ่งที่ฉันต้องคิดออกและสำรองคือวิธีการสร้างสภาพแวดล้อมในแบบที่ทั้งฝ่ายไอทีและ R&D สามารถอยู่กับมันและทำงานต่อไปได้อย่างมีประสิทธิภาพ

การพัฒนา VMs ที่มีสิทธิ์ผู้ดูแลระบบในท้องถิ่นจะช่วยได้มาก แต่ก็ไม่ได้เกิดขึ้นในทุกกรณี

CIO ที่ผลักดันการเปลี่ยนแปลงเหล่านี้เป็นคนประเภท 'ไอทีล้วน' ที่มีความรู้ จำกัด เกี่ยวกับกระบวนการพัฒนาดังนั้นฉันจึงต้องการข้อมูลอ้างอิงที่เหมาะสมที่จะแบ่งปันกับใครบางคนเช่นนั้น

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


1
ที่เกี่ยวข้อง (แต่ไม่มีการอ้างอิงงานวิจัยที่ฉันเห็น): programmers.stackexchange.com/questions/4596/…
Adam Lear

คำตอบ:


9

เนื่องจากคุณกำลังใช้งาน Windows 7 โดยเฉพาะคุณควรผลักดันอย่างหนักเพื่อให้เป็นผู้ดูแลระบบในกล่องของคุณเอง มีสองเหตุผลที่ดีจริงๆที่ทำให้ผู้พัฒนาไม่เป็นผู้ดูแลระบบ:

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

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

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


5

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

สิ่งเหล่านี้อาจช่วย:

ป.ล. : โชคดีที่สุด!


ขอบคุณสำหรับการตอบกลับ. ฉันตระหนักถึงเป้าหมายที่พวกเขาพยายามจะทำให้สำเร็จ (ฉันเริ่มต้นอาชีพการงานด้าน IT / Server Admin) สิ่งที่ฉันกำลังมองหาคือวิธีการสร้างสภาพแวดล้อมที่ จำกัด น้อยที่สุดที่ทั้งฝ่ายไอทีและ R&D สามารถอยู่ในและทำงานต่อไปได้

เพิ่มขึ้นเนื่องจากลิงก์ไปยังเซิร์ฟเวอร์ผิด - ฉันเดาว่า OP ควรจะสามารถหาข้อโต้แย้งบางอย่างสำหรับกรณีของเขาที่นั่น
Astrotrain

3

ทางเลือกหนึ่งคือขอสถานีทดสอบที่อนุญาตการเข้าถึงระดับผู้ดูแลระบบ

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

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

ตัวเลือกที่สี่คือการค้า โดยทั่วไปโครงการโยกย้ายต้องมีการพัฒนาเพื่อปรับปรุงซอฟต์แวร์สำหรับ Win7 อาจเป็นไปได้ที่จะกำหนดทัศนคติที่สนับสนุนสิทธิผู้ดูแลระบบในสภาพแวดล้อมใหม่


3
ใช้งานไม่ได้ - หมายความว่าคุณต้องทำงานของคุณโดยไม่มีสิ่งใดเช่น debuggers และมันเป็นความผิดของคุณที่ต้องทำช้า
Martin Beckett

1
@ มาร์ตินเบ็คเก็ตต์: เพื่อนร่วมชั้นคนหนึ่งมีปัญหานี้ พวกเขาไปหาแนวทาง PM และ PM ได้จัดให้มีผู้ดูแลระบบในท้องถิ่นแล็ปท็อปที่เร็วขึ้นและหน้าจอที่ใหญ่ขึ้น
Andomar

ขึ้นอยู่กับว่าใครบังคับใช้นโยบายที่ไม่มีผู้ดูแลและเข้มงวดว่าจะเป็นอย่างไร หาก (ในกรณีที่นี่) เป็น CIO และเขาไม่ได้มาจากพื้นหลังการพัฒนามันจะเป็นการดีกว่าที่จะทำให้กรณีที่ควรมีข้อยกเว้นแทนที่จะคิดว่าคุณจะได้รับ
David Thornley

3

ฉันนึกภาพไม่ออกว่าจะพยายามพัฒนาโดยไม่ต้องเป็นผู้ดูแลระบบในท้องที่ แต่ฉันคิดว่าความต้องการจะแตกต่างกันไปขึ้นอยู่กับงานพัฒนาและวิธีมาตรฐานกระบวนการพัฒนาและ toolchain ที่เป็นมาตรฐานในที่ทำงานของคุณ

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

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


3

จากมุมมองด้านไอทีที่บริสุทธิ์และมุมมองการพัฒนาหลาย ๆ บริษัท แก้ปัญหาในลักษณะนี้:

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

ความแตกต่างของวิธีนี้คือการมีเครือข่าย dev บนซับเน็ต คุณสามารถเข้าถึงอินเทอร์เน็ตและอินทราเน็ตทางอ้อมผ่านไฟร์วอลล์ DMZ ที่เข้มงวด แต่ผู้พัฒนายังสามารถเข้าถึงผู้ดูแลระบบในท้องถิ่นได้


1
+1 สำหรับการแยกใช้งาน dev เหมือนผู้ใช้ระยะไกล
ไวแอตต์บาร์เน็ตต์

"ไม่มีอินเทอร์เน็ต" คุณหมายความว่าพวกเขาไม่ได้รับอนุญาตให้ใช้ Stackoverflow บนเครื่อง dev ของพวกเขา!
mbx

แก้ไข. เครื่องจักรแยกต่างหากสำหรับอินเทอร์เน็ตและการแยกส่วน
Berin Loritsch

1

พิจารณาให้นักพัฒนาสองบัญชี

บัญชีแรกเป็นบัญชีผู้ใช้ที่ไม่มีสิทธิ์พิเศษซึ่งเป็นบัญชีที่ใช้สำหรับการทำงานทุกวัน (รวมถึงการพัฒนาซอฟต์แวร์) อีกบัญชีหนึ่งเป็นบัญชีผู้ดูแลระบบภายในเครื่องซึ่งมีสิทธิ์เป็นผู้ดูแลระบบเฉพาะเครื่องเท่านั้น มันควรจะจำเป็นเมื่อติดตั้งสิ่งหรือตั้งค่าเครื่อง tweaking จริง ๆ เท่านั้น

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


นี่คือสิ่งที่ฉันได้งานของฉันและมันทำงานได้ดี + 1
Rémi

1

การพัฒนาซอฟต์แวร์เป็นสัตว์ร้ายที่แตกต่างจากการใช้คอมพิวเตอร์ทุกเครื่องอย่างแท้จริงและต้องได้รับการปฏิบัติเช่นนี้

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

สิทธิ์ที่จำเป็นสำหรับการพัฒนาซอฟต์แวร์ไม่เหมาะสมสำหรับผู้ใช้ทั่วไป

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

  1. โปรแกรมเมอร์คือการเข้าถึงของผู้ดูแลระบบในเครื่องของพวกเขา
  2. เครื่องพัฒนาไม่ได้เชื่อมต่อกับเครือข่ายของ บริษัท

กฎข้อที่สองนั้นขึ้นอยู่กับแผนกไอทีอย่างไร บางครั้งเครื่องพัฒนาจะถูกแยกด้วยตัวเองโดยไม่มีเครือข่ายเข้าหรือออก (เห็นในผู้รับเหมาด้านการป้องกันหลายคน) และบางครั้งเครื่องก็เชื่อมต่อกับเครือข่าย "แขก" หรือ "DMZ" เพื่อให้สามารถเข้าถึงอินเทอร์เน็ตได้ ฯลฯ ) โดยไม่เพิ่มความเสี่ยงของเครือข่ายของ บริษัท

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


0

คุณสามารถใช้สภาพแวดล้อมเสมือนจริงได้หรือไม่?

หากคุณไม่ได้ทำสิ่งที่หนักกราฟิกแล้วใช้ MSVC ใน vmware หรือ virtualbox เป็นเรื่องปกติ (ถ้าคุณมี ram จำนวนมาก) จากนั้นคุณสามารถมีผู้ดูแลระบบในสภาพแวดล้อมเสมือนและติดตั้ง 'พวกเขา' ถูกล็อคลง


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

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

แนวคิดก็คือเซิร์ฟเวอร์เสมือนอยู่บน corpnet แต่คุณไม่ได้ ดังนั้นคุณสามารถเป็นผู้ดูแลท้องถิ่น
Andomar
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.