Bir kurumsal ortamda, geliştiricilerin bilgisayarlarında yönetici hakları olmalı mı? Niye ya?
Teknolojik çevre:
- Windows 7
- Visual Studio 2008 ve 2010
- SQL Server
Bir kurumsal ortamda, geliştiricilerin bilgisayarlarında yönetici hakları olmalı mı? Niye ya?
Teknolojik çevre:
Yanıtlar:
Onlar mı? Bu şirkete kalmış. Şahsen , anlaşılan bazı kurallar olduğu sürece sorun olmadığını düşünüyorum .
Genelde evet derdim. Hatalı çalışmak gibi şeyler, yönetici haklarının doğru şekilde çalışmaması durumunda oldukça yüksek gerektirir. Geliştiricilerin sıklıkla kanallardan geçerken kurulmaları günler veya haftalar alabilen rastgele bir yazılım yüklemeye ihtiyaç duyarlar. Bu süre zarfında, geliştirici genellikle şirkete paradan başka bir şey yapmaz, özellikle de geliştirici bir danışman ise, iş durur.
Gelişmekte olan bilim ve sanat var; İhtiyacımız olanı bilmek kadar basit değil. Yanıtın yarısı zaten olsaydı işimiz tartışılmazdı; doğru yaklaşımı bulmak çoğu zaman yinelemelidir ve öngörülemeyen şekillerde birden fazla araç içerebilir. Bunların her birini (genellikle yüksek gecikme süresiyle) kurması için bir aracıya ihtiyaç duymak, yalnızca senaryonuz için "süper-uber aracı addon" unun gerekli olduğunu bulmak için aptalca bir ihtiyaç duyulması.
Bir VM İdeal bunun için olsa da, orada geliştirme araçları bir sürü da olamaz onlar çünkü bir VM (düzgün, hatta hiç) çalıştırın, kendilerini bir VM vardır - ve JVM gibi değil kötü şeyler yapmak; Cihaz araç takımları gibi tam makine emus / vms. Orada uyumluluk artıyor.
Ek olarak, çoğu geliştirme aracı çok geniş bir alana sahiptir - "normal" araçlardan çok daha büyüktür (VM'yi barındırmayı beklediğinizden biraz daha acı verici kılar) ve genellikle bir işlem hata ayıklayıcısının doğası gereği yüksek erişim gerektirir. GUI yoğun olabileceğinden bahsetmiyorum bile; VM GUI'de tam zamanlı olarak çalışmayı denemek ... çok acı verici.
Performans çok büyük burada; Kullanıcıların, Word'deki her tuşa basıldıktan sonra anahtarlarının kaydedilmesi için 3 saniye beklemesinin uygun olduğunu düşünür müsünüz? Şaka yapmıyorum - VM'lerin vb geliştirme araçları olabilir bu Siktiri; çoğu gelişme için duyarlılığa ihtiyacınız var . Beyinden klavyeye karmaşık mantık akışını durdurmak, işin yapılmasını imkansız kılabilir. Ve söylemekten nefret ediyorum, ama evet: gelişim zamanı pahalıdır.
Bir Windows ortamında ve özellikle Microsoft geliştirici ürünlerini kullanırken, geliştirici makinelerinde yönetici haklarına ihtiyaç duyacaktır. Eğer bu hakları reddederseniz, işlerini yapma yetenekleri tamamen engellenmemesi halinde kısıtlanacaktır.
Bir geliştirici olarak, bize temel kullanıcının üstünde, ancak sistem yöneticilerinin altında bir ayrıcalık seviyesi getiriyorum.
Bazı durumlarda, üretim ortamında çalışmak üzere geliştirdiğim uygulamayı almak için kurulmuş ek bir kütüphaneye ihtiyacım olabilir, söyleyerek, geliştirdiğim katı bir kuralım var: "Üçüncü taraf kütüphaneleri gerektiren herhangi bir uygulama için, üretim dağıtımından önce ve bazı durumlarda uygulama geliştirmeden önce bir sanal alana kütüphaneler kurulmalıdır. "
Çalıştığım sysadmin bunu kabul ediyorum ve ikimiz arasında, bu kuralı aktif olarak uygulayacağız ve "bağımlılık kontrollerini" geçmeyen herhangi bir uygulama dağıtımını geciktireceğiz.
Sorunuzu cevaplamak için, evet, geliştiricilere kendi makinelerine tam erişim izni verilmelidir, ancak bu makineler uygulamanın sonunda uygulanacağı ortamdan izole edilmelidir. Bu durumda, uygulama dağıtımı bile üretim ortamında dağıtılması güvenli kabul edilene kadar korumalı alanlara yerleştirilmelidir.
Sorumluluk reddi: Ben bir geliştiriciyim.
Bana göre, bu soru (ve cevaplar) soruna yanlış yaklaşımdan saldırıyor gibi görünüyor - yani tartışma, yöneticilerin ne istediği / ihtiyaç duyduğu vs. Ama kurumsal bir ortamda olduğumuzu siz belirttiniz, o yüzden bakalım bu şekilde.
Öyleyse, bunu BT ya da operasyon müdürünün önünde ya da bütçemizi kontrol edenin önünde tartıştığımızı ve bu soruları sorduğumuzu düşünelim .
Bu soruların yanıtlanmasıyla, tutkulu olmak yerine bilinçli bir karar verebilirsiniz.
Kendi ortamınız için yönetici hakları gerektiren bazı şeyler var (bkz. Kullanıcı Hakları ve Visual Studio ) - eğer o şeyleri yapmıyorlarsa, o zaman soruları 2 - 4 olarak cevaplayabilirsiniz.
Bir danışman olarak, bu politikanın hem aşırı gördük ve süre ben hep bir makineye yönetici erişimi olmasını istediğiniz bazı durumlarda mantıklı değildi. Ve neyin sebep ve neyin etkili olduğundan emin değilim, ancak istisnasız, devs yönetici erişimine sahip olan pencereler geliştirirken gördüğüm her yer, her geliştiriciden kilitlendikleri yerlerden çok daha fazla üretkenliğe sahipti.
Bence yanlış soruyu soruyorsun, sormalısın:
İyi bir geliştirici, bilgisayarında yönetici haklarını vermeyen bir işveren için çalışacak mı?
Birinin “ihtiyacı” ve ne beklediği genellikle aynı şey değildir, sonuçta bir geliştiricinin çalışma saatlerinde kahve içmesine izin vermenize gerek yoktur, ancak bunu yapmazsanız…
(Mülakat aşamasında politikanızı netleştirdiğinizden emin olun, aksi takdirde, yönetici haklarının yetersizliği nedeniyle şirketinizi küçümseyecek işlere sahip olmalarını sağlayabilirsiniz - programcıların bu tür şeyler hakkında mantıklı bir şekilde düşünmelerini beklemeyin! )
Bu aslında kime sorduğunuza ve kime ihtiyaç duyduğuna bağlı. Kurumsal BT ve risk yönetimi gruplarına sorarsanız, korku hikayeleri ile her tarafınızda olacaklar (eğer size vereceklerse, kutsal bir bağla feda edilmeyecekleri bir keçi talep ediyorlar), geliştiriciler Öte yandan, yönetici haklarını talep ediyor çünkü iş stresli ve yardım masasından sızıntı yapmak için izin almak zorunda kalmadan yeterince stresli. Üzücü durum şu ki, şimdi güç mücadelesi ve güç kullanma ile ilgili o zaman iş ve verimlilik ihtiyaçları ile ilgilidir (örneğin, diğerinin çemberlere atlanmasına neden olacak)
IMHO, şu ana kadar gördüğüm en iyi çalışma ortamı iki grubun ayrı tutulduğu yer. Geliştiricilerin ormanda kendi etki alanları vardır (BT bu etki alanının ve kullanıcılarının şirketin geri kalanında neler yapabileceğini kontrol eder) ve hepsi de yerel etki alanı yöneticileri olarak hareket eden MCSE'li deneyimli erkeklerle çalışan yerel yöneticilerdir. ve yerel ağlarında istedikleri ve ihtiyaç duydukları her şeyi tek bir BT politikası ile yapabiliyorlar (korsan yazılım yok). Kurumsal BT sorumlu değildir ve cihazlara destek vermez ve sadece bazı üst düzey kurumsal kuralları uygular (güvenlik duvarı üzerinden facebook, porno veya benzeri olmayanlar, kurumsal LAN ile karıştırılmaya izin vermeyen devs) ve hepsinin evden çalışması için RSA tabanlı VPN'leri vardır Bu onları doğrudan LAN'larına koyar. Düzgün değil mi?
İdari hakların gelişim süreci için önemli olduğunu söyleyebilirim. Sanal makineyi sanallaştırmak için VM kullanmanın göreceli kolaylığı göz önüne alındığında, onları bir VM'ye yerleştirememeniz ve güvenliği sağlayabilmeniz için hiçbir neden yoktur.
Her şey ters gidiyor ve birkaç dakika içinde silip yeniden oluşturabilirsiniz.
Kesinlikle! Genellikle, sürmekte olan birçok gelişme sanal ortamda olabilir veya olmayabilir. Yönetici hakları, yerel olarak hizmet işleme, kayıt defteri girdileri ve IIS geçersiz kılmalarının birçoğunun üstesinden gelmeye yardımcı olur. Diğer taraftan, geliştiricilerinize ne kadar güvendiğinize bağlıdır .
Bir geliştirici olarak, bir şeyin çalışmadığı zaman sinir bozucu olur, çünkü erişimimiz yoktur.
Bağlı. Bir geliştirici olarak kişi daima en az ayrıcalık ilkesiyle çalışmalıdır. Bir devlet müteahhidi olarak çalışıyorsanız , örneğin yönetici erişimine sahip olmamanız için sözleşme ile yükümlülüğünüz olabilir .
Bir Java geliştiricisi olarak, sürekli olarak makinemde yönetici haklarına sahip olma gereksinimim olmadı . Bununla birlikte, isteğe bağlı yönetici erişimine ihtiyaç duyduğunuzda yasal durumlar vardır (.ie. Dizüstü bilgisayarınızı fiziksel olarak ayrı alanlar arasında taşımanız gerekir ve NIC'inizi buna göre değiştirmeniz gerekir.) Gerçekten ihtiyacım olan tek zaman buydu. makineme kalıcı, sürekli yönetici erişimi.
Bazen BT'nin yetersiz kalması nedeniyle yönetici erişimine ihtiyaç duyuyorsunuz (ya da yetersiz ya da bürokraside işlenmiş.) Ancak, eğer yetkin bir BT departmanıyla çalışıyorsanız, işleri sizin için bile uzaktan yükleyebilir (ya da "çalışacak" özel yükleyiciler sağlayabilir. msgstr "" "sadece tıklayarak tıklayarak sizin için malzemeleri yönetin ve kurun.)
Yani cevap (yine) - bu bağlıdır. Talep üzerine (veya makul bir süre içinde) işleri yükleyebilecek duyarlı bir BT personeliniz var mı? Geliştiricilere , ödedikleri görevler için gerçekten ihtiyaç var mı?
Geliştiricilere gerçekten ve yasal olarak ihtiyaç duyuyorlarsa ( "Gerçekten ne istersem yüklemek isterim" gibi ) bir rahatlığın aksine ( "Ne istersem onu kurmak istiyorum" ) ve BT desteği varsa Yeterince duyarlı olmadığından (ne sebeple olursa olsun), o zaman evet, makinelerine yönetici erişimine sahip olmalıdır.
Aksi takdirde, hayır. En az ayrıcalık ilkesini hatırlayın , millet.
Geliştiriciler var ve Geliştiriciler var. Bir "geliştirici" 40 $ / saat ise JBoss java adam bir kural motoru için kural yazıyorsa o zaman elbette değil. Eğer bir "geliştirici" 350 $ / saatlik bir C / Assembly üyesi ise, video düzenleme yazılımınızın GPU'da mümkün olduğunca hızlı çalışmasını sağlıyorsa, tabii ki evet.
Güvenlik konusunda endişe duyan şirketler için, güvenlik görevlilerinin dikte ve gelişim modellerine ve sistemlerine uygun bir politikayı uygulama girişiminde bulunacaklar. Windows Ortamında çoğu kişi, görevlerini yerine getirebilmek için geliştirmekte oldukları ana bilgisayarda Yönetici haklarına sahip olmanız gerektiğini söyleyecektir.
Bu mutlaka doğru değil ...
Özel bir politika oluşturabilir ve tüm program ve işlevlerin bir sistemdeki geliştirme kullanıcılarıyla çalışmasını sağlayabilirsiniz. İstenilen tasarıma bağlı olarak, program / sistem dizinlerinde, özel gruplarla veya özel gruplarla program / sistem dizinlerinde, özel izinlerle, aşağı ve kirli ve nittikli kum içine girmeniz gerekecektir.
Çoğu şirket, geliştiricilerin açık ağlarda sisteme sahip olmasının çok tehlikeli olduğunu söylemektedir, çünkü bilgisayar korsanları kendi kontrollerini ele geçirip kendi araçlarını derlemeye başlayabilirler;
Geliştiriciler (ideal olarak) iki alan adı girişine sahip olmalıdır.
Biri yerel yönetici haklarına sahip (geliştirme çalışmaları için) ve biri şirketteki diğer herkesle aynı haklara sahip. Ardından, çalışmalarını temsili bir izinler kümesi üzerinde test edebilirler.
Bu, zaman zaman ortaya çıkan ItWorksOnMyMachine-itis olasılığını azaltmalıdır.
Muhalif sesini (doğru bir şekilde) vermeliyim ve sadece "hayır" deyince "hayır" deyin. Sanal alan VM'de ağ erişimi olmayan devs yönetici hakları verme konusunda sorunum yok. Zypher neredeyse haklıydı (düzeltme koyu renk):
"Üzerindeki yönetici 1.Being benim kutunun bir ayrıcalık değil bir haktır." Bu sistemler nihayet sorumlu olduğum şirket varlıklarıdır. Joe Developer, Microsoft Bob'un korsan kopyasını yüklediğinde (" ihtiyacım vardı çünkü"), denetimden önce nasıl bulunmadığını açıklamak zorunda kalamaz. Geliştiriciler rutin olarak kurumsal kuralların sadece kendileri için geçerli olmadığını düşünüyor. Sanal alan bir VM vererek, herkesin uyması gereken tüm kuralları takip edebilirler (o zamandan beri sadece IT sisteme dosya kopyalayabilir). Sihirli bir şekilde istek sistemi geliştiriciler tarafından tekrar kullanılıyor, Joe Developer geliştirme kutusunu yönettiğinde gökyüzü artık düşmüyor - sadece yeni bir tane ister (ya da yedekleme istenirse geri yükleme)
Bay Denny, geliştiricilerin uygulamaların yüklenmesini beklediklerinde paraya mal olduklarından bahsetti, A. merhaba ... zamanım genellikle Joe Developer kadar değerli (varolan crapware'i çalıştırmaya devam ettiğimden beri gerçekten daha fazla) Joe geliştiricisinin son şaheserini hata ayıklamak için harcadığı zamandan bahsetmek zorunda kaldım), ve B. dev devrildiğinde, bir uygulamayı bekliyorlardı ve bunun için BT'yi suçlamaya çalışıyorlardı:
Yazılım yazmak için ihtiyaç duyduğunuz şeyleri planlamamanız benim sorumluluğum değil, standart bir araç setimiz var ve bu araç kutusu ihtiyacınız varsa, beni atlatmaya çalışmak yerine daha fazla araç hızlandırmak için istekleriniz olmalıydı. Sizin için almak için çemberler aracılığıyla çünkü son tarih yarın.
Tüm bunları söyledikten sonra, geliştiricilerin masaüstlerini kilitlemek kokuyor, eğer uyuşturucunun kronometre koleksiyonunu izlemeye hak kazandığını ve onları izlemek için babewatch oynatıcıyı kuramayacaklarını öfkeleniyorsanız, öfkeli insanlara zarar verebilirseniz açık kaynak ") gevşetmek mümkün olabilir. Ancak, “kazandığı” her büyük geliştirici için, şirketinizin bunun yerine 200 milyon dolarlık dikey uygulama için işe alacağı 10 tane daha var, ve bunun için dikkat etmeniz gereken şey bu.
EDIT: Maruz kaldığım geliştiricilerin alışılmadık derecede donuk olmaları oldukça şaşırtıcı (şu anki mahsulü sadece bir miktar kıyaslama yapmak için yığın akışı işittiğini duydum). Başlamakta olduğum bakış açısı “şirketin yapması için ne ödüyorsun, ne yapman gerekiyor?”. Eğer yönetici haklarına ihtiyacınız varsa , onları elde edersiniz, ancak onlarla ilişki kurmamalısınız ve size açıkçası ne yapacağınız umrunda olmayan ve işe yarayan bir kutu verebilirsem, o zaman ikimiz de iyi oluruz.