Izin Windows untuk Pengembang?


9

Saya bekerja di perusahaan Fortune 500 sebagai pengembang perangkat lunak Windows di R&D. IT Korporat saat ini sedang bersiap untuk penyebaran Win7 di seluruh perusahaan dan sebagai bagian dari itu mereka mencari untuk sepenuhnya mengunci hak admin di semua kotak (termasuk workstation pengembang kami).

Saya telah ditugaskan untuk bekerja dengan mereka untuk membuat transisi semulus mungkin. Beruntung saya.

Saya ingin tahu apakah ada sumber daya yang diterbitkan atau lainnya yang sangat dihormati di luar sana yang dapat saya gunakan untuk:

  1. mencari tahu di mana menggambar garis di pasir
  2. cadangan posisi saya.

Secara pribadi, pendapat saya adalah kita R&D dan tugas kita adalah melakukan hal-hal yang 'out of the box'. Jadi kita membutuhkan hak admin. Namun, setelah memulai karir saya sebagai Admin Windows, saya mengetahui tujuan mereka dan apa yang harus mereka capai. Apa yang saya butuhkan untuk mencari tahu dan mendukung adalah cara untuk membangun lingkungan dengan cara yang baik IT dan R&D dapat hidup dengan itu dan terus melakukan pekerjaan mereka secara produktif.

Pengembangan VM dengan hak admin lokal pasti akan banyak membantu, tetapi tidak dalam semua kasus karena kami berinteraksi dengan banyak perangkat keras khusus.

CIO yang mendorong perubahan-perubahan ini jelas merupakan tipe pria 'IT murni' dengan pengetahuan yang terbatas tentang proses pengembangan jadi saya perlu beberapa referensi yang sesuai untuk dibagikan kepada seseorang seperti itu.

Saya tidak ingin mengumpulkan banyak pendapat pribadi (banyak yang telah dibagikan di sini ), saya benar-benar membutuhkan kertas putih, artikel majalah, karya ilmiah, dll untuk digunakan untuk membuat kasus yang kuat bagi manajemen tingkat atas.


1
Terkait (tetapi tidak ada referensi penelitian di sana yang dapat saya lihat): programmers.stackexchange.com/questions/4596/…
Adam Lear

Jawaban:


9

Karena Anda akan secara khusus ke Windows 7, Anda harus mendorong keras untuk menjadi admin di kotak Anda sendiri. Ada dua alasan yang sangat bagus untuk menjaga agar pengembang tidak menjadi admin:

  • alasan yang sama Anda menjaga orang lain dari admin, sehingga malware tidak melakukan hal-hal yang sangat buruk jika kebetulan dijalankan
  • jadi mereka tidak akan menulis aplikasi yang hanya berfungsi jika Anda seorang admin

Dengan UAC, hal-hal ini tidak akan terjadi, karena aplikasi yang Anda jalankan tidak akan berjalan sebagai admin kecuali Anda sengaja memintanya. Dengan demikian ada sedikit risiko untuk membiarkan Anda memiliki akun admin.

Beberapa bos memiliki alasan ketiga - Saya tidak ingin Anda menginstal gim atau alat yang tidak sah. Tanpa membahas manfaat dari alasan ini, saya akan mengamati bahwa biasanya tidak dinyatakan. Anda memerlukan akses admin untuk menginstal hal-hal yang Anda tulis, untuk mengkonfigurasi IIS, mengkonfigurasi ulang mesin Anda untuk berbagai jenis pengujian (misalnya mengedit file host Anda) dan dua alasan "nyata" untuk menghindari akses admin tidak lagi berlaku untuk Windows 7 Karena itu, Anda harus menjadi admin.


5

Sejujurnya saya pikir ini akan menjadi kasus yang sulit untuk dibuat. Begitu manajemen tingkat atas memutuskan, cukup sulit untuk membuat mereka berubah. Jika mereka mengizinkan lebih banyak hak istimewa pada mesin Anda, orang lain mungkin dapat mengakses dan melakukan tindakan yang seluruh rencana ini dirancang untuk mencegah.

Ini dapat membantu:

PS: Semoga sukses!


Terima kasih balasannya. Saya menyadari tujuan yang ingin mereka capai (Saya memulai karir saya di IT / Server Admin). Apa yang saya cari adalah cara untuk membangun lingkungan yang paling tidak membatasi tempat IT dan R&D dapat hidup dan terus melakukan pekerjaan mereka.

Terpilih karena tautan ke serverfault - tebakan saya adalah bahwa OP pasti dapat menemukan beberapa argumen untuk kasusnya di sana.
Astrotrain

3

Salah satu opsi adalah meminta workstation pengujian yang memungkinkan akses administratif.

Pilihan lain adalah melakukan persis seperti yang mereka katakan. Maka ketika proyek berikutnya datang, Anda tidak akan membuat kemajuan karena Anda harus pergi ke IT untuk setiap perubahan kecil. Jelaskan ini kepada pemimpin proyek, dan dia akan mengatur hak admin dengan cepat.

Opsi ketiga adalah memeriksa apakah departemen Anda terwakili dalam proyek migrasi Win7. Jika ya, hubungi perwakilan Anda, dan tanyakan apakah ia dapat menambahkan hak administratif ke daftar persyaratan departemen Anda.

Opsi keempat adalah berdagang. Proyek migrasi biasanya membutuhkan pengembangan untuk memperbarui perangkat lunak mereka untuk Win7. Dimungkinkan untuk mengkondisikan sikap mendukung pada hak admin di lingkungan baru.


3
Tidak bekerja - itu hanya berarti Anda harus melakukan pekerjaan Anda tanpa hal-hal seperti debuggers, dan itu kesalahan Anda karena lambat
Martin Beckett

1
@ Martin Beckett: Nah, kolega di lantai satu memiliki masalah ini. Mereka menggunakan pendekatan PM, dan PM mengatur admin lokal, laptop lebih cepat, dan layar lebih besar.
Andomar

Bergantung pada siapa yang menegakkan kebijakan no-admin dan seberapa ketat mereka nantinya. Jika (seperti dalam kasus di sini) adalah CIO, dan dia bukan dari latar belakang pengembangan, akan lebih baik untuk membuat kasus bahwa harus ada pengecualian, daripada menganggap Anda bisa mendapatkannya.
David Thornley

3

Saya tidak dapat membayangkan mencoba untuk berkembang tanpa menjadi admin lokal, namun saya pikir kebutuhan akan bervariasi tergantung pada tugas pengembangan dan bagaimana standar proses pengembangan dan toolchain di tempat kerja Anda.

Dari pengalaman saya, biasanya ada staf pengembangan senior yang perlu menginstal berbagai alat dev (kadang-kadang pada jam ganjil) untuk dengan cepat prototipe atau memecahkan beberapa masalah kritis. Mereka hampir pasti membutuhkan akses admin lokal untuk menginstal, men-debug, bekerja dengan layanan, dll.

Staf yang tersisa mungkin dapat bertahan tanpa itu, jika perangkat Anda cukup konstan, dan tergantung pada apa yang mereka kembangkan / debug / gunakan. Saran saya adalah mengumpulkan satu set kecil staf dev senior Anda yang paling berkepala dingin, menjelaskan masalah dan pilihan mereka, dan meminta mereka mengambil beberapa hari untuk mempertimbangkannya, dan kemudian mengadakan rapat perencanaan untuk menentukan jenis akses seperti apa staf seharusnya.


3

Dari perspektif TI murni dan perspektif pengembangan, banyak perusahaan memecahkan masalah dengan cara ini:

Letakkan semua kotak pengembangan di jaringan terpisah. Jaringan pengembangan mungkin sepenuhnya terisolasi (tidak ada internet dan tidak ada intranet). Dalam hal ini, pengembang memiliki kotak perusahaan terpisah yang digunakan untuk komunikasi email dan resmi - yaitu akses ke internet dan intranet. Solusi ini memiliki tantangan tersendiri karena IDE tertentu (seperti Eclipse) dan alat pengembangan lainnya menganggap Anda memiliki koneksi langsung ke internet untuk mendapatkan pembaruan dan plugin. Masih sebagian besar alat pengembangan tahu bahwa jaringan terisolasi ada.

Variasi lain dari pendekatan ini adalah memiliki jaringan dev pada sub-net. Anda memiliki akses tidak langsung ke internet dan intranet melalui firewall DMZ yang ketat, tetapi tetap saja para pengembang memiliki akses admin lokal.


1
+1 untuk pemisahan, perlakukan dev seperti pengguna jarak jauh dan cenderung meredakan TI korporat dengan cukup baik.
Wyatt Barnett

"tidak ada internet" maksudmu mereka tidak diizinkan menggunakan Stackoverflow di mesin pengembang mereka ?!
mbx

Benar. Mesin terpisah untuk internet dan layanan
Berin Loritsch

1

Pertimbangkan untuk memberikan dua akun kepada pengembang.

Yang pertama adalah akun pengguna biasa yang tidak memiliki hak istimewa, yang digunakan untuk semua pekerjaan sehari-hari (termasuk pengembangan perangkat lunak). Yang lain adalah akun admin lokal, yang hanya memiliki hak admin di mesin tertentu. Seharusnya hanya diperlukan ketika benar-benar menginstal barang atau mengubah pengaturan mesin.

Pastikan bahwa layanan sehari-hari seperti server proxy internet, email, dan sebagainya hanya mengenali akun normal, sehingga pengembang tidak bisa hanya menggunakan admin lokal setiap saat. Setiap kali hak istimewa admin diperlukan, UAC akan muncul dan menawarkan pengembang kesempatan untuk memasukkan rincian login admin lokal mereka untuk melanjutkan.


ini adalah apa yang saya dapatkan di pekerjaan saya dan bekerja dengan sangat baik +1
Resi

1

Pengembangan perangkat lunak adalah binatang yang secara fundamental berbeda dari setiap penggunaan komputer lainnya, dan harus diperlakukan demikian.

Kemampuan untuk menulis kode Anda sendiri, dan yang lebih penting melacak eksekusi kode Anda dalam debugging, mengharuskan Anda untuk memiliki izin di komputer Anda yang, dalam konteks lain apa pun, akan menimbulkan risiko besar bagi keamanan lokal. Diulang dalam bentuk suara-gigitan:

Izin yang diperlukan untuk pengembangan perangkat lunak tidak sesuai untuk pengguna biasa.

Untuk menyelesaikan pekerjaan Anda, Anda harus menjadi admin lokal. Tetapi dengan menjadi admin lokal dan menghindari kebijakan keamanan, secara teori Anda berisiko terhadap seluruh jaringan. Jadi kekhawatiran itu perlu diatasi juga. Cara perusahaan keamanan-kritis menyelesaikan masalah ini adalah dengan memberlakukan dua aturan sederhana:

  1. Programmer adalah akses admin lokal di mesin pengembangan mereka.
  2. Mesin pengembangan tidak terhubung ke jaringan perusahaan.

Bagaimana aturan kedua dimainkan terserah departemen TI. Terkadang mesin pengembangan terisolasi sendiri tanpa jaringan masuk atau keluar (terlihat di beberapa kontraktor Pertahanan), dan kadang-kadang mesin terhubung ke jaringan "Tamu" atau "DMZ" untuk memungkinkan akses Internet (mengunduh tambalan, mengakses dokumentasi , dll.) tanpa menempatkan jaringan perusahaan pada risiko yang tidak semestinya.

Sekarang, akankah Anda menemukan sumber resmi tentang ini? Saya kira itu tergantung pada siapa yang Anda lihat sebagai pejabat . Pendapat tentang masalah ini pada dasarnya bulat. Tapi itu sangat dipahami sehingga jarang dinyatakan. Ini agak seperti bertanya: " Haruskah mobil saya memiliki rem parkir? " Anda tidak akan menemukan sumber-sumber resmi berbicara keluar dari subjek karena mereka memiliki hal-hal yang lebih baik untuk dilakukan dan semua orang sudah tahu jawaban itu.


0

Bisakah Anda menggunakan lingkungan virtual?

Jika Anda tidak melakukan hal-hal berat grafis maka menjalankan MSVC di vmware atau virtualbox baik-baik saja (jika Anda memiliki banyak ram) maka Anda dapat memiliki admin di lingkungan virtual dan instalasi 'mereka' dikunci


2
Yang sebaliknya mungkin bekerja lebih baik: gunakan tempat kerja perusahaan di lingkungan virtual. IT Korporat biasanya menyediakan ini untuk para manajer, dan Anda hanya menggunakannya untuk membaca dan mengirim email.
Andomar

ya tetapi jika masalahnya tidak memungkinkan Anda memiliki hak admin untuk menjalankan debugger atau uji coba instal yang tidak membantu
Martin Beckett

Ya idenya adalah bahwa server virtual ada di corpnet, tetapi Anda tidak. Jadi Anda bisa menjadi admin lokal
Andomar
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.