Uprawnienia systemu Windows dla programistów?

9

Pracuję w firmie z listy Fortune 500 jako programista systemu Windows w dziale badań i rozwoju. Korporacyjne działy IT przygotowują się obecnie do wdrożenia Win7 w całej firmie, w ramach którego chcą całkowicie zablokować prawa administratora na wszystkich urządzeniach (w tym na naszych stacjach roboczych).

Zadanie polegało na współpracy z nimi, aby przejście było jak najbardziej płynne. Mam szczęście.

Chciałbym wiedzieć, czy istnieją jakieś opublikowane lub inne szanowane zasoby, których mogę użyć do:

  1. dowiedzieć się, gdzie narysować linię na piasku
  2. poprzeć moją pozycję.

Osobiście uważam, że zajmujemy się badaniami i rozwojem, a naszym zadaniem jest robienie rzeczy „od razu po wyjęciu z pudełka”. Dlatego potrzebujemy uprawnień administratora. Jednak po rozpoczęciu kariery administratora systemu Windows jestem świadomy ich celów i tego, co muszą osiągnąć. To, co muszę wymyślić i wykonać kopię zapasową, to sposób na zbudowanie środowiska w taki sposób, aby zarówno IT, jak i R&D mogły z nim żyć i dalej produktywnie wykonywać swoje zadania.

Programowanie maszyn wirtualnych z lokalnymi uprawnieniami administratora na pewno bardzo pomoże, ale nie we wszystkich przypadkach, ponieważ współpracujemy z dużą ilością niestandardowego sprzętu.

Dyrektor ds. Informatycznych popychający te zmiany jest zdecydowanie facetem „czysto informatycznym”, który ma ograniczoną wiedzę na temat procesu rozwoju, dlatego potrzebuję referencji, które byłyby odpowiednie do dzielenia się z kimś takim.

Nie chcę zbierać wielu osobistych opinii (z których wiele już tutaj udostępniono ), naprawdę potrzebuję oficjalnych dokumentów, artykułów w czasopismach, prac naukowych itp., Aby wykorzystać mocne argumenty dla wyższej kadry kierowniczej.

Dan
źródło
1
Powiązane (ale brak odniesień do badań, które widzę): programmers.stackexchange.com/questions/4596/…
Adam Lear

Odpowiedzi:

9

Ponieważ korzystasz z systemu Windows 7, powinieneś mocno naciskać, aby być administratorami na własnych urządzeniach. Istnieją dwa naprawdę dobre powody, aby powstrzymywać programistów przed administrowaniem:

  • z tego samego powodu, dla którego wszyscy inni nie są administratorami, aby złośliwe oprogramowanie nie robiło naprawdę okropnych rzeczy, jeśli się uruchomi
  • więc nie będą pisać aplikacji, które działają tylko, jeśli jesteś administratorem

Z UAC żadna z tych rzeczy się nie wydarzy, ponieważ uruchamiane aplikacje nie będą działać jako administrator, chyba że celowo o to poprosisz. Dzięki temu ryzyko posiadania konta administratora jest niewielkie.

Niektórzy szefowie mają trzeci powód - nie chcę, abyś instalował gry lub nieautoryzowane narzędzia. Nie omawiając zasadności tego powodu, zauważę, że zwykle pozostaje on nieokreślony. Potrzebujesz dostępu administratora, aby zainstalować rzeczy, które piszesz, skonfigurować IIS, ponownie skonfigurować komputer do różnego rodzaju testów (np. Edycja pliku hosta) oraz dwa „rzeczywiste” powody, dla których należy unikać dostępu administratora, nie dotyczą już systemu Windows 7 Dlatego powinieneś być administratorem.

Kate Gregory
źródło
5

Szczerze mówiąc, myślę, że będzie to trudny przypadek. Gdy kierownictwo podejmie decyzję, bardzo trudno jest ich skłonić do zmiany. Jeśli pozwolą na więcej uprawnień na twoim komputerze, ktoś inny może uzyskać dostęp i wykonać działania, których ten cały plan miał zapobiec.

Mogą one pomóc:

PS: Powodzenia!

FreeAsInBeer
źródło
Dziękuję za odpowiedź. Jestem świadomy celów, które starają się osiągnąć (rozpocząłem karierę w IT / Server Admin). To, czego szukam, to sposób na zbudowanie najmniej restrykcyjnego środowiska, w którym zarówno IT, jak i R&D mogą żyć i nadal wykonywać swoje zadania.
Pozytywnie oceniany ze względu na link do błędu serwera - domyślam się, że OP powinien zdecydowanie być w stanie znaleźć argumenty dla swojej sprawy.
Astrotrain
3

Jedną z opcji jest zapytanie o stacje robocze, które umożliwiają dostęp administracyjny.

Inną opcją jest robienie dokładnie tak, jak mówią. Potem, kiedy nadejdzie następny projekt, nie zrobisz żadnego postępu, ponieważ musisz iść do działu IT przy każdej małej zmianie. Wyjaśnij to liderowi projektu, a on szybko zapewni uprawnienia administratora.

Trzecią opcją jest sprawdzenie, czy dział jest reprezentowany w projekcie migracji do Win7. Jeśli tak, skontaktuj się z przedstawicielem i zapytaj, czy może on dodać uprawnienia administracyjne do listy wymagań twojego działu.

Czwarta opcja to handel. Projekt migracji zazwyczaj wymaga opracowania, aby zaktualizować swoje oprogramowanie do Win7. W nowym środowisku możliwe może być uzależnienie postawy wspierającej od uprawnień administratora.

Andomar
źródło
3
Nie działa - to po prostu oznacza, że trzeba wykonywać swoją pracę bez rzeczy jak debugerów, i to twoja wina, bo jest powolny
Martin Beckett
1
@Martin Beckett: Cóż, koledzy na jednym piętrze mieli ten problem. Wybrali podejście PM, a PM zorganizował dla lokalnego administratora, szybszych laptopów i większych ekranów.
Andomar
Zależy od tego, kto egzekwuje zasady braku administratora i od tego, jak surowe będą. Jeśli (tak jak w tym przypadku) jest to CIO, a nie pochodzi on z środowisk programistycznych, lepiej byłoby uzasadnić, że powinny istnieć wyjątki, niż zakładać, że można je uzyskać.
David Thornley,
3

Nie mogę sobie wyobrazić próby rozwoju bez bycia lokalnym administratorem, ale myślę, że potrzeby będą się różnić w zależności od zadań programistycznych oraz od standaryzacji procesu programowania i łańcucha narzędzi w twoim miejscu pracy.

Z mojego doświadczenia wynika, że ​​zwykle są pracownicy wyższego szczebla, którzy będą musieli instalować różne narzędzia programistyczne (czasami w nieparzystych godzinach), aby szybko prototypować lub rozwiązywać niektóre krytyczne problemy. Prawie na pewno potrzebują lokalnego dostępu administratora do instalacji, debugowania, pracy z usługami itp.

Pozostały personel może się bez niego obejść, jeśli Twój zestaw narzędzi jest dość stały i zależy od tego, co opracują / debugują / wdrażają. Moją sugestią byłoby zebranie małego zestawu najbardziej zaawansowanego personelu programistycznego, wyjaśnienie problemu i dostępnych opcji, a następnie rozważenie go przez kilka dni, a następnie zorganizowanie spotkania w celu ustalenia, jaki rodzaj dostępu personel powinien.

holtavolt
źródło
3

Z czysto informatycznego i programistycznego punktu widzenia wiele firm rozwiązuje problem w ten sposób:

Umieść wszystkie skrzynki programistyczne w osobnej sieci. Sieć programistów może być całkowicie odizolowana (brak internetu i intranetu). W takim przypadku programiści mają osobne urządzenie korporacyjne, które służy do wysyłania wiadomości e-mail i oficjalnej komunikacji - tj. Dostępu do Internetu i intranetu. To rozwiązanie ma swoje własne wyzwania, ponieważ niektóre środowiska IDE (takie jak Eclipse) i inne narzędzia programistyczne zakładają, że masz aktywne połączenie z Internetem, aby otrzymywać aktualizacje i wtyczki. Nadal znaczna większość narzędzi programistycznych wie, że istnieją izolowane sieci.

Inną odmianą tego podejścia jest posiadanie sieci deweloperów w podsieci. Masz pośredni dostęp do Internetu i intranetu przez ścisłą zaporę DMZ, ale programiści mają dostęp do lokalnego administratora.

Berin Loritsch
źródło
1
+1 za separację, traktuj deweloperów jak zdalnych użytkowników i całkiem nieźle zapewnia korporacyjne IT.
Wyatt Barnett
„bez internetu” masz na myśli, że nie mogliby oni korzystać z Stackoverflow na swoich komputerach programistycznych ?!
mbx
Poprawny. Oddzielne maszyny do Internetu i rozwoju
Berin Loritsch
1

Rozważ udostępnienie programistom dwóch kont.

Pierwszy to zwykłe nieuprzywilejowane konto użytkownika, którego można używać do wszystkich codziennych zadań (w tym do tworzenia oprogramowania). Drugim jest lokalne konto administratora, które ma uprawnienia administratora tylko na określonych komputerach. Powinno być potrzebne tylko podczas faktycznej instalacji rzeczy lub poprawiania ustawień maszyny.

Upewnij się, że codzienne usługi, takie jak internetowy serwer proxy, poczta e-mail itd., Rozpoznają tylko zwykłe konto, aby programiści nie mogli używać tylko jednego lokalnego administratora. Ilekroć wymagane są uprawnienia administratora, UAC wyskakuje i oferuje deweloperowi możliwość wprowadzenia swoich lokalnych danych logowania administratora, aby kontynuować.

Simon B.
źródło
to właśnie dostałem w swojej pracy i działa całkiem dobrze + 1
Rémi
1

Tworzenie oprogramowania jest zasadniczo inną bestią niż dosłownie każde inne użycie komputera i należy tak traktować.

Możliwość napisania własnego kodu i, co ważniejsze, śledzenia wykonania kodu podczas debugowania, wymaga posiadania uprawnień na komputerze, które w innym kontekście stanowiłyby ogromne ryzyko dla lokalnego bezpieczeństwa. Przeformułowane w formie dźwiękowej:

Uprawnienia wymagane do tworzenia oprogramowania nie są odpowiednie dla typowych użytkowników.

Aby wykonać swoją pracę, musisz być administratorem lokalnym. Ale będąc lokalnym administratorem i obchodząc zasady bezpieczeństwa, teoretycznie stanowisz zagrożenie dla reszty sieci. Dlatego należy również zająć się tym problemem. Firmy, które mają kluczowe znaczenie dla bezpieczeństwa, rozwiązują ten problem, nakładając dwie proste zasady:

  1. Programiści mają dostęp do lokalnego administratora na swoim komputerze programistycznym.
  2. Maszyny programistyczne nie są podłączone do sieci firmowej.

Sposób działania drugiej reguły zależy od działu IT. Czasami maszyna deweloperska jest izolowana sama, bez sieci wchodzącej lub wychodzącej (widoczne u kilku kontrahentów obrony), a czasami maszyna jest podłączona do sieci „Gość” lub „DMZ”, aby umożliwić dostęp do Internetu (pobieranie łatek, dostęp do dokumentacji itp.) bez narażania sieci firmy na nadmierne ryzyko.

Czy znajdziesz teraz jakieś oficjalne źródło? Myślę, że to zależy od tego, kogo uważasz za oficjalnego . Opinia w tej sprawie jest w zasadzie jednomyślna. Ale jest tak dobrze zrozumiany, że rzadko się go podaje. To trochę jak pytanie: „ Czy mój samochód powinien mieć hamulec postojowy? ” Nie znajdziesz wiarygodnych autorytatywnych źródeł na ten temat, ponieważ mają lepsze rzeczy do zrobienia i wszyscy już znają tę odpowiedź.

tylerl
źródło
0

Czy umiesz korzystać z wirtualnego środowiska?

Jeśli nie robisz ciężkich grafik, uruchamianie MSVC w vmware lub virtualbox jest w porządku (jeśli masz dużo pamięci RAM), możesz mieć administratora w środowisku wirtualnym i „ich” instalacja jest zablokowana

Martin Beckett
źródło
2
Przeciwnie może działać lepiej: użyj korporacyjnego miejsca pracy w środowisku wirtualnym. Korporacyjny dział IT zazwyczaj zapewnia to menedżerom, a Ty używasz go tylko do czytania i wysyłania wiadomości e-mail.
Andomar
tak, ale jeśli problem nie polega na tym, że masz uprawnienia administratora do uruchomienia debugera lub instalacji testowych, co nie pomaga
Martin Beckett
Chodzi o to, że serwer wirtualny znajduje się w corpnet, ale ty nie. Możesz być lokalnym administratorem
Andomar