Regel 1 der Sicherheit: Wenn jemand Zugriff auf Informationen hat, hat er Zugriff auf diese Informationen
Diese Tautologie ist ärgerlich, aber es ist wahr. Wenn Sie einer Person Zugriff gewähren, haben sie Zugriff auf die Daten. Für Benutzer bedeutet dies normalerweise Zugriffskontrolle, aber für Entwickler ... nun ... sind sie diejenigen, die die Zugriffskontrolle schreiben müssen.
Wenn dies ein großes Problem für Sie ist (und es sich so anhört), ziehen Sie in Betracht, Sicherheit in Ihre Software zu integrieren. Ein gängiges Muster besteht darin, sichere Software in Schichten zu entwerfen. Auf der untersten Ebene entwirft ein vertrauenswürdiges Entwicklungsteam Software, die die nackteste Zugangskontrolle verwaltet. Diese Software wird von möglichst vielen Personen validiert und verifiziert. Jeder, der diesen Code entwirft, hat Zugriff auf alles, daher ist Vertrauen unerlässlich.
Danach können Entwickler eine flexiblere Zugriffskontrolle auf dieser Kernebene aufbauen. Dieser Code muss immer noch V & Vd sein, ist aber nicht ganz so streng, da Sie sich immer auf die Kernebene verlassen können, um das Wesentliche abzudecken.
Das Muster erstreckt sich nach außen.
Der schwierige Teil, in der Tat die Kunst , diese Systeme zu entwerfen, besteht darin, jede Ebene so aufzubauen, dass Entwickler weiterentwickeln und debuggen können, während Ihr Unternehmen dennoch die Sicherheit erhält, die Sie erwarten. Insbesondere müssen Sie akzeptieren, dass das Debuggen mehr Berechtigungen erfordert , als Sie denken, und der Versuch, diese zu sperren, wird einige sehr verärgerte Entwickler zur Folge haben.
Als Nebenlösung sollten Sie erwägen, "sichere" Datenbanken für Testzwecke zu erstellen, in denen Entwickler alle Sicherheitsmechanismen herausreißen und ernsthafte Fehlerbehebungen durchführen können.
Letztendlich müssen sowohl Sie als auch Ihre Entwickler einen wichtigen Grundsatz der Sicherheit verstehen: Alle Sicherheit ist ein Gleichgewicht zwischen Sicherheit und Benutzerfreundlichkeit. Sie müssen als Unternehmen Ihr eigenes Gleichgewicht finden. Das System ist nicht perfekt sicher und kann nicht perfekt verwendet werden. Dieses Gleichgewicht wird sich wahrscheinlich sogar verschieben, wenn Ihr Unternehmen wächst und / oder sich die Anforderungen an Entwickler ändern. Wenn Sie für diese Realität offen sind, können Sie sie ansprechen.