Best Practices für die Entwicklung von Zero-Trust-Identitäts- und Zugriffsmanagement
Dieser Artikel hilft Ihnen als Entwickler, bewährte Methoden für Identitäts- und Zugriffsverwaltung für den Lebenszyklus Ihrer Anwendungsentwicklung zu verstehen. Sie beginnen mit der Entwicklung sicherer, Zero Trust-kompatibler Anwendungen mit Identitäts- und Zugriffsverwaltung (IAM).
Das Zero Trust -Sicherheitsframework verwendet die Prinzipien der expliziten Verifizierung, des Zugriffs mit den geringsten Rechten und der Annahme von Verstößen. Sichern Sie Benutzer und Daten, während Sie gängige Szenarien wie den Zugriff auf Anwendungen außerhalb des Netzwerkperimeters ermöglichen. Verringern Sie die Abhängigkeit von impliziter Vertrauensstellung auf Interaktionen hinter einem sicheren Netzwerkperimeter, die anfällig für Sicherheitsangriffe werden kann.
Branchensicherheitstrends wirken sich auf Anwendungsanforderungen aus
Während sich die Zero Trust-Implementierung weiterentwickelt, ist Verhalten jeder Organisation einzigartig und beginnt häufig mit der Benutzer- und Anwendungsidentität. Hier sind Richtlinien und Steuerelemente, die viele Organisationen während der Zero Trust-Bereitstellung priorisieren:
- Implementieren der Anmeldeinformationshygiene und Rotationsrichtlinien für Apps und Dienste. Wenn Angreifer geheime Schlüssel wie Zertifikate oder Kennwörter kompromittieren, können sie eine Tiefe des Systemzugriffs erreichen, in der sie Token unter dem Deckmantel der Identität einer App erwerben. Sie greifen dann auf vertrauliche Daten zu, bewegen sich lateral und schaffen Persistenz.
- Bereitstellen einer starken Authentifizierung. IT-Administratoren konfigurieren Richtlinien, die eine mehrstufige Authentifizierung und kennwortlose FIDO2-Geräte erfordern.
- Beschränken Sie die Benutzereinwilligung auf Apps mit Berechtigungen mit geringem Risiko auf überprüfte Herausgeber-Apps. Mit dem Zugriff auf Daten in APIs wie Microsoft Graph können Sie umfangreiche Anwendungen erstellen. Organisationen und Kunden bewerten die Berechtigungsanforderungen und Vertrauenswürdigkeit Ihrer App, bevor Sie die Einwilligung geben. IT-Administratoren setzen das Prinzip der Überprüfung explizit ein, indem die Herausgeberüberprüfung erforderlich ist. Sie wenden das Prinzip der geringsten Berechtigung an, indem sie nur die Einwilligung des Benutzers für Berechtigungen mit geringem Risiko zulassen.
- Blockieren älterer Authentifizierungsprotokolle und APIs. IT-Administratoren, die ältere Authentifizierungsprotokolle, wie z. B. Standardauthentifizierung und das Anfordern moderner Protokolle wie Open ID Connect und OAuth2, blockieren.
Verwenden vertrauenswürdiger, standardbasierter Authentifizierungsbibliotheken
Entwickeln Sie Ihre Anwendung mit bekannten und akzeptierten Standards und Bibliotheken, um die Anwendungsübertragbarkeit und -sicherheit zu erhöhen. Vertrauenswürdige, standardbasierte Authentifizierungsbibliotheken bleiben auf dem neuesten Stand, damit Ihre Apps auf die neuesten Technologien und Bedrohungen reagieren. Standardbasierte Entwicklungsmethoden bieten einen Überblick über unterstützte Standards und deren Vorteile.
Anstatt Protokolle mit bekannten Sicherheitsrisiken und umfangreicher Dokumentation zu verwenden, entwickeln Sie Ihre Anwendung mit Bibliotheken wie Microsoft Authentication Library (MSAL), Microsoft Identity Web Authentication Library und Azure Software Developer Kits (SDK). MSAL and Software Developer Kits (SDK) ermöglichen Ihnen die Verwendung dieser Features, ohne zusätzlichen Code schreiben zu müssen:
- Bedingter Zugriff
- Geräteregistrierung und -verwaltung
- Kennwortlose und FIDO2-Authentifizierung
MSAL und Microsoft Graph sind Ihre besten Optionen für die Entwicklung von Microsoft Entra-Anwendungen. MSAL-Entwickler stellen die Einhaltung von Protokollen sicher. Microsoft optimiert MSAL auf Effizienz, wenn Sie direkt mit Microsoft Entra ID arbeiten.
Registrieren Ihrer Apps in Microsoft Entra ID
Befolgen Sie die bewährten Sicherheitsmethoden für Anwendungseigenschaften in Microsoft Entra ID. Die Anwendungsregistrierung in Microsoft Entra ID ist wichtig, da eine fasche Konfiguration oder die Hygiene Ihrer Anwendung zu Ausfallzeiten oder Kompromittierungen führen kann.
Anwendungseigenschaften, die die Sicherheit verbessern, umfassen Umleitungs-URI, Zugriffstoken (nie mit impliziten Flüssen verwenden), Zertifikate und geheime Schlüssel, Anwendungs-ID-URI und Anwendungsbesitz. Führen Sie regelmäßige Sicherheits- und Integritätsbewertungen durch, die den Bewertungen des Sicherheitsbedrohungsmodells für Code ähneln.
Delegieren von Identitäts- und Zugriffsverwaltung
Entwickeln Sie Ihre Anwendung, um Token für die explizite Identitätsüberprüfung und Zugriffssteuerung zu verwenden, die Ihre Kunden definieren und verwalten. Microsoft rät davon ab, dass Sie Ihre eigenen Systeme für Benutzernamen- und Kennwortverwaltung entwickeln.
Bewahren Sie Anmeldeinformationen aus Ihrem Code auf, damit IT-Administratoren Anmeldeinformationen drehen können, ohne ihre App herunterzufahren oder erneut bereitzustellen. Verwenden Sie einen Dienst wie Azure Key Vault oder Azure Managed Identities zum Delegieren von IAM.
Planen und Entwerfen des Zugriffs mit geringsten Berechtigungen
Ein Schlüsselprinzip von Zero Trust ist der Zugriff mit geringsten Berechtigungen. Entwickeln und dokumentieren Sie Ihre Anwendung gründlich, damit Ihre Kunden die Richtlinien für geringste Berechtigungen erfolgreich konfigurieren können. Wenn Sie Token und APIs unterstützen, stellen Sie Ihren Kunden eine gute Dokumentation zu Ressourcen bereit, die Ihre Anwendung aufruft.
Stellen Sie immer die geringsten Berechtigungen bereit, die für den Benutzer zum Ausführen bestimmter Aufgaben erforderlich sind. Verwenden Sie beispielsweise granulare Bereiche in Microsoft Graph.
Untersuchen Sie Bereiche im Graph-Explorer, um eine API aufzurufen und die erforderlichen Berechtigungen zu überprüfen. Diese werden in der Reihenfolge von der niedrigsten bis zur höchsten Berechtigung angezeigt. Die Auswahl der geringstmöglichen Berechtigungen stellt sicher, dass Ihre Anwendung weniger anfällig für Angriffe ist.
Befolgen Sie die Anleitungen in Verbesserung der Sicherheit mit dem Prinzip der geringsten Berechtigungen, um die Angriffsflächen Ihrer Anwendungen zu verringern und der Stoßradius von Sicherheitsverletzungen zu kompromittieren.
Sicheres Verwalten von Token
Wenn Ihre Anwendung Token von Microsoft Entra ID anfordert, verwalten Sie diese Token sicher:
- Überprüfen Sie, ob sie ordnungsgemäß auf Ihre Anwendung festgelegt sind.
- Nehmen Sie eine ordnungsgemäße Zwischenspeicherung vor.
- Verwenden Sie sie wie vorgesehen.
- Behandeln Sie Token-Probleme, indem Sie nach Fehlerklassen suchen und entsprechende Antworten codieren.
- Statt Zugriffstoken direkt zu lesen, zeigen Sie deren Bereiche und Details in Token-Antworten an.
Unterstützung der fortlaufenden Zugriffsevaluierung (Continuous Access Evaluation, CAE).
Die kontinuierliche Zugriffsauswertung (Continuous Access Evaluation, CAE) ermöglicht Microsoft Graph, den Zugriff als Reaktion auf Sicherheitsereignisse schnell zu verweigern. Beispiele hierfür sind die folgenden Mandanten-Administratoraktivitäten:
- Löschen oder Deaktivieren eines Benutzerkontos.
- Aktivieren der mehrstufigen Authentifizierung (MFA) für einen Benutzer.
- Explizites Widerrufen der von einem Benutzer ausgestellten Token.
- Erkennen eines Benutzers, der in den Status mit hohem Risiko wechselt.
Wenn Sie CAE unterstützen, sind Token, die von Microsoft Entra ID ausgegeben werden, um Microsoft Graph aufzurufen, 24 Stunden anstelle der standardmäßigen 60 bis 90 Minuten gültig. CAE fügt Ihrer App Resilienz hinzu, indem MSAL das Token proaktiv aktualisiert, bevor das Token abläuft.
Definieren von App-Rollen für die IT, die Benutzern und Gruppen zugewiesen werden sollen
App-Rollen unterstützen Sie bei der Implementierung einer rollenbasierten Zugriffssteuerung in Ihren Anwendungen. Allgemeine Beispiele für App-Rollen sind Administrator, Leser und Mitwirkender. Mithilfe der rollenbasierten Zugriffssteuerung kann Ihre Anwendung vertrauliche Aktionen auf Benutzer oder Gruppen basierend auf ihren definierten Rollen einschränken.
Verifizierter Herausgeber werden
Als bestätigter Herausgeber überprüfen Sie Ihre Identität mit Ihrem Microsoft Partner Network-Konto und haben den etablierten Überprüfungsprozess abgeschlossen. Für Entwickler von Mehrinstanzen-Apps hilft das Vorhandensein eines bestätigten Herausgebers bei IT-Administratoren in Kundenmandanten.
Nächste Schritte
- Anpassen von Token beschreibt die Informationen, die Sie in Microsoft Entra-Token empfangen können. Erfahren Sie, wie die Token anpassen können, um die Flexibilität und Kontrolle zu verbessern und gleichzeitig die Zero Trust-Sicherheit von Anwendungen mit geringstmöglichen Berechtigungen zu erhöhen.
- Konfigurieren von Gruppenansprüchen und App-Rollen in Token beschreibt, wie Ihre Apps mit App-Rollendefinitionen konfiguriert und App-Rollen Sicherheitsgruppen zugewiesen werden. Dieser Ansatz verbessert Flexibilität und Kontrolle und erhöht gleichzeitig die Zero Trust-Sicherheit mit geringsten Rechten der Anwendung.
- Erstellen von Apps mit einem Zero Trust-Ansatz für Identität bietet eine Übersicht über Berechtigungen und bewährte Methoden für den Zugriff.
- Im Leitfaden zur Identitätsintegration wird erläutert, wie Sicherheitslösungen in Microsoft-Produkte integriert werden, um Zero Trust-Lösungen zu erstellen.
- Entwickler- und Administratoraufgaben für die Anwendungsregistrierung, Autorisierung und den Zugriff helfen Ihnen, besser mit Ihren IT-Spezialisten zusammenzuarbeiten.
- Unterstützte Identitäts- und Kontotypen für Einzel- und Mehrinstanzen-Apps erläutern, wie Sie auswählen können, ob Ihre App nur Benutzer aus Ihrem Microsoft Entra ID-Mandanten, jedem Microsoft Entra-Mandanten oder Benutzer mit persönlichen Microsoft-Konten zulässt.
- Bewährte Methoden zur Autorisierung helfen Ihnen, die besten Autorisierungs-, Berechtigungs- und Zustimmungsmodelle für Ihre Anwendungen zu implementieren.
- Der API-Schutz beschreibt bewährte Methoden zum Schutz Ihrer API durch Registrierung, Definieren von Berechtigungen und Einwilligung sowie das Durchsetzen der Zugriffskontrolle, um Ihre Zero Trust-Ziele zu erreichen.