Windows-Berechtigungen für Entwickler?

9

Ich arbeite bei einem Fortune 500-Unternehmen als Windows-Softwareentwickler in Forschung und Entwicklung. Die Unternehmens-IT bereitet sich derzeit auf eine unternehmensweite Win7-Bereitstellung vor und versucht als Teil davon, die Administratorrechte für alle Boxen (einschließlich unserer Entwicklungsarbeitsstationen) vollständig zu sperren.

Ich wurde beauftragt, mit ihnen zusammenzuarbeiten, um den Übergang so reibungslos wie möglich zu gestalten. Ich Glückspilz.

Ich würde gerne wissen, ob es veröffentlichte oder andere hoch angesehene Ressourcen gibt, mit denen ich:

  1. Finde heraus, wo du eine Linie in den Sand ziehen sollst
  2. unterstütze meine Position.

Persönlich gehe ich davon aus, dass wir F & E sind und unsere Aufgabe darin besteht, Dinge zu tun, die „out of the box“ sind. Daher benötigen wir Administratorrechte. Nachdem ich meine Karriere als Windows-Administrator begonnen habe, bin ich mir ihrer Ziele und ihrer Ziele bewusst. Was ich herausfinden und sichern muss, ist eine Möglichkeit, die Umgebung so aufzubauen, dass sowohl IT als auch F & E damit leben und ihre Arbeit weiterhin produktiv ausführen können.

Entwicklungs-VMs mit lokalen Administratorrechten werden definitiv viel helfen, aber nicht in allen Fällen, da wir mit vielen benutzerdefinierten Hardwarekomponenten zusammenarbeiten.

Der CIO, der diese Änderungen vorantreibt, ist definitiv ein "reiner IT" -Typ mit begrenzten Kenntnissen des Entwicklungsprozesses, daher benötige ich einige Referenzen, die angemessen wären, um sie mit jemandem wie diesem zu teilen.

Ich möchte nicht viele persönliche Meinungen sammeln (von denen viele bereits hier geteilt wurden ), ich brauche wirklich Whitepaper, Zeitschriftenartikel, wissenschaftliche Arbeiten usw., um das obere Management zu überzeugen.

Dan
quelle
1
Verwandte (aber keine Forschungsreferenzen, die ich dort sehen kann): programmers.stackexchange.com/questions/4596/…
Adam Lear

Antworten:

9

Da Sie speziell auf Windows 7 umsteigen, sollten Sie sich bemühen, Administratoren auf Ihren eigenen Boxen zu sein. Es gibt zwei wirklich gute Gründe, Entwickler davon abzuhalten, Administratoren zu sein:

  • Aus dem gleichen Grund halten Sie alle anderen davon ab, Administratoren zu sein, damit Malware keine wirklich schrecklichen Dinge tut, wenn sie ausgeführt wird
  • Sie schreiben also keine Apps, die nur funktionieren, wenn Sie Administrator sind

Mit UAC wird keines dieser Dinge passieren, da Apps, die Sie starten, nicht als Administrator ausgeführt werden, es sei denn, Sie fordern sie absichtlich dazu auf. Daher besteht nur ein geringes Risiko, dass Sie ein Administratorkonto haben.

Einige Bosse haben einen dritten Grund: Ich möchte nicht, dass Sie Spiele oder nicht autorisierte Tools installieren. Ohne die Vorzüge dieses Grundes zu diskutieren, werde ich feststellen, dass er normalerweise nicht angegeben wird. Sie benötigen Administratorzugriff, um das zu installierende Material zu installieren, IIS zu konfigurieren, Ihren Computer für verschiedene Arten von Tests (z. B. das Bearbeiten Ihrer Hostdatei) neu zu konfigurieren. Die beiden "echten" Gründe für die Vermeidung des Administratorzugriffs gelten nicht mehr für Windows 7 Deshalb sollten Sie Admins sein.

Kate Gregory
quelle
5

Ehrlich gesagt denke ich, dass es ein schwieriger Fall sein wird. Sobald sich das obere Management entschieden hat, ist es ziemlich schwierig, sie dazu zu bringen, sich zu ändern. Wenn sie mehr Berechtigungen auf Ihrem Computer zulassen, kann möglicherweise eine andere Person auf die Aktionen zugreifen und diese ausführen, die durch diesen gesamten Plan verhindert werden sollen.

Diese können helfen:

PS: Viel Glück!

FreeAsInBeer
quelle
Danke für die Antwort. Ich bin mir der Ziele bewusst, die sie erreichen wollen (ich habe meine Karriere in der IT / Server-Verwaltung begonnen). Was ich suche, ist eine Möglichkeit, die am wenigsten restriktive Umgebung zu schaffen, in der sowohl IT als auch F & E leben und ihre Arbeit fortsetzen können.
Wegen des Links zu Serverfault upvoted - ich vermute, dass das OP dort definitiv einige Argumente für seinen Fall finden sollte.
Astrotrain
3

Eine Möglichkeit besteht darin, nach Testarbeitsstationen zu fragen, die Administratorzugriff ermöglichen.

Eine andere Möglichkeit ist, genau das zu tun, was sie sagen. Wenn dann das nächste Projekt kommt, werden Sie keine Fortschritte machen, da Sie für jede kleine Änderung zur IT gehen müssen. Erklären Sie dies dem Projektleiter, und er wird schnell für Administratorrechte sorgen.

Eine dritte Möglichkeit besteht darin, zu überprüfen, ob Ihre Abteilung im Win7-Migrationsprojekt vertreten ist. Wenn dies der Fall ist, wenden Sie sich an Ihren Vertreter und fragen Sie, ob er der Anforderungsliste Ihrer Abteilung Administratorrechte hinzufügen kann.

Eine vierte Option ist der Handel. Das Migrationsprojekt muss normalerweise entwickelt werden, um die Software für Win7 zu aktualisieren. Es könnte möglich sein, eine unterstützende Haltung zu Administratorrechten in der neuen Umgebung zu konditionieren.

Andomar
quelle
3
Funktioniert nicht - es bedeutet nur, dass Sie Ihren Job ohne Dinge wie Debugger erledigen müssen, und es ist Ihre Schuld, langsam zu sein
Martin Beckett
1
@ Martin Beckett: Nun, Kollegen eine Etage tiefer hatten dieses Problem. Sie entschieden sich für den PM-Ansatz, und der PM sorgte für lokale Administratoren, schnellere Laptops und größere Bildschirme.
Andomar
Hängt davon ab, wer die No-Admin-Richtlinie durchsetzt und wie streng sie sein wird. Wenn es (wie im vorliegenden Fall) der CIO ist und er keinen Entwicklungshintergrund hat, ist es besser, davon auszugehen, dass es Ausnahmen geben sollte, als davon auszugehen, dass Sie eine bekommen können.
David Thornley
3

Ich kann mir nicht vorstellen, zu versuchen, ohne einen lokalen Administrator zu entwickeln, aber ich denke, die Anforderungen variieren je nach Entwicklungsaufgaben und der Standardisierung des Entwicklungsprozesses und der Toolchain an Ihrem Arbeitsplatz.

Nach meiner Erfahrung gibt es normalerweise leitende Entwicklungsmitarbeiter, die verschiedene Entwicklertools installieren müssen (manchmal zu ungeraden Zeiten), um schnell Prototypen zu erstellen oder kritische Probleme zu beheben. Sie benötigen mit ziemlicher Sicherheit lokalen Administratorzugriff, um Dienste zu installieren, zu debuggen, mit ihnen zu arbeiten usw.

Die verbleibenden Mitarbeiter können möglicherweise ohne auskommen, wenn Ihr Toolset ziemlich konstant ist und je nachdem, was sie entwickeln / debuggen / bereitstellen. Mein Vorschlag wäre, eine kleine Gruppe Ihrer besonnensten leitenden Entwickler zusammenzubringen, das Problem und ihre Optionen zu erläutern und sie ein paar Tage Zeit zu lassen, um es zu prüfen, und dann ein Planungstreffen abzuhalten, um festzustellen, welche Art von Zugriff möglich ist Das Personal sollte haben.

holtavolt
quelle
3

Aus reiner IT- und Entwicklungsperspektive lösen viele Unternehmen das Problem folgendermaßen:

Stellen Sie alle Entwicklungsboxen in ein separates Netzwerk. Das Entwicklungsnetzwerk ist möglicherweise vollständig isoliert (kein Internet und kein Intranet). In diesem Fall verfügen die Entwickler über eine separate Unternehmensbox, die für E-Mail und offizielle Kommunikation verwendet wird, dh für den Zugriff auf das Internet und das Intranet. Diese Lösung hat ihre eigenen Herausforderungen, da bestimmte IDEs (wie Eclipse) und andere Entwicklungstools davon ausgehen, dass Sie über eine Live-Verbindung zum Internet verfügen, um Updates und Plugins zu erhalten. Dennoch weiß die große Mehrheit der Entwicklungstools, dass isolierte Netzwerke existieren.

Eine andere Variante dieses Ansatzes besteht darin, das Entwicklungsnetzwerk in einem Teilnetz zu haben. Sie haben über eine strenge DMZ-Firewall indirekten Zugriff auf Internet und Intranet, die Entwickler haben jedoch weiterhin lokalen Administratorzugriff.

Berin Loritsch
quelle
1
+1 für die Trennung, behandeln Sie Entwickler wie Remote-Benutzer und es beruhigt die Unternehmens-IT ziemlich gut.
Wyatt Barnett
"no internet" meinst du, sie dürfen Stackoverflow nicht auf ihren Entwicklungsmaschinen verwenden?!
mbx
Richtig. Separate Maschinen für Internet und Entwicklung
Berin Loritsch
1

Geben Sie den Entwicklern zwei Konten.

Das erste ist ein normales, nicht privilegiertes Benutzerkonto, das für alle alltäglichen Arbeiten (einschließlich Softwareentwicklung) verwendet wird. Das andere ist ein lokales Administratorkonto, das nur auf bestimmten Computern über Administratorrechte verfügt. Es sollte nur benötigt werden, wenn tatsächlich Dinge installiert oder Maschineneinstellungen angepasst werden.

Stellen Sie sicher, dass alltägliche Dienste wie der Internet-Proxyserver, E-Mail usw. nur das normale Konto erkennen, sodass Entwickler nicht immer nur den lokalen Administrator verwenden können. Wenn Administratorrechte erforderlich sind, wird die Benutzerkontensteuerung angezeigt und bietet dem Entwickler die Möglichkeit, seine lokalen Administrator-Anmeldedaten einzugeben, um fortzufahren.

Simon B.
quelle
Das habe ich bei meiner Arbeit bekommen und es funktioniert ziemlich gut + 1
Rémi
1

Die Softwareentwicklung ist ein grundlegend anderes Tier als buchstäblich jede andere Verwendung eines Computers und muss als solche behandelt werden.

Um Ihren eigenen Code schreiben und vor allem die Codeausführung beim Debuggen verfolgen zu können, müssen Sie über Berechtigungen auf Ihrem Computer verfügen, die in jedem anderen Kontext ein großes Risiko für die lokale Sicherheit darstellen. In Sound-Bite-Form umformuliert:

Für die Softwareentwicklung erforderliche Berechtigungen sind für typische Benutzer nicht geeignet.

Um Ihre Arbeit erledigen zu können, müssen Sie ein lokaler Administrator sein. Indem Sie jedoch lokaler Administrator sind und Sicherheitsrichtlinien umgehen, stellen Sie theoretisch ein Risiko für den Rest des Netzwerks dar. Daher muss auch dieses Problem angegangen werden. Sicherheitskritische Unternehmen lösen dieses Problem, indem sie zwei einfache Regeln auferlegen:

  1. Programmierer haben lokalen Administratorzugriff auf ihren Entwicklungscomputer.
  2. Entwicklungsmaschinen sind nicht mit dem Unternehmensnetzwerk verbunden.

Wie die zweite Regel abläuft, hängt von der IT-Abteilung ab. Manchmal ist die Entwicklungsmaschine für sich allein isoliert, ohne dass ein Netzwerk ein- oder ausgeht (wie bei mehreren Verteidigungsunternehmen zu sehen), und manchmal ist die Maschine mit einem "Gast" - oder "DMZ" -Netzwerk verbunden, um den Internetzugang zu ermöglichen (Herunterladen von Patches, Zugreifen auf Dokumentation) usw.), ohne das Unternehmensnetzwerk einem unangemessenen Risiko auszusetzen.

Finden Sie hierzu eine offizielle Quelle? Ich denke, das hängt davon ab, wen Sie als offiziell ansehen . Die diesbezügliche Meinung ist grundsätzlich einstimmig. Aber es ist so gut verstanden, dass es selten angegeben wird. Es ist ein bisschen so, als würde man fragen: " Sollte mein Auto eine Feststellbremse haben? " Sie werden keine maßgeblichen Quellen finden, die sich zu diesem Thema äußern, weil sie bessere Dinge zu tun haben und jeder diese Antwort bereits kennt.

tylerl
quelle
0

Können Sie eine virtuelle Umgebung verwenden?

Wenn Sie keine grafikintensiven Aufgaben ausführen, ist das Ausführen von MSVC in VMware oder Virtualbox in Ordnung (wenn Sie über viel RAM verfügen). Sie können den Administrator in der virtuellen Umgebung haben und die Installation ist gesperrt

Martin Beckett
quelle
2
Das Gegenteil könnte besser funktionieren: Verwenden Sie einen Unternehmensarbeitsplatz in einer virtuellen Umgebung. Die Unternehmens-IT bietet dies normalerweise ohnehin für Manager, und Sie verwenden es nur zum Lesen und Senden von E-Mails.
Andomar
Ja, aber wenn das Problem nicht darin besteht, dass Sie Administratorrechte haben, um einen Debugger oder Testinstallationen auszuführen, hilft das nicht
Martin Beckett
Nun, die Idee ist, dass der virtuelle Server auf Corpnet ist, aber Sie sind es nicht. So können Sie lokaler Administrator sein
Andomar