Identitäts- und Zugriffsverwaltung für SaaS-Workloads in Azure
Die Anwendungsidentität ist ein wichtiger Bereich für SaaS-Workloads, da sie als erste Verteidigungslinie zum Schutz von Daten dient. Es wird oft bis spät in einem Projekt übersehen, aber viele Entscheidungen zu anderen Elementen der Anwendung hängen von einer soliden Identitätsstrategie ab. Unterschätzen Sie nicht die Bedeutung der Identität, um die Daten Ihrer Kunden zu schützen.
Im Kontext von SaaS-Workloads gibt es zwei unterschiedliche Identitätstypen.
Die Anwendungsidentität, auch bekannt als Kundenidentitäts- und Zugriffsverwaltung (CIAM), ermöglicht Es Endbenutzern, Ihre SaaS-Anwendung zu authentifizieren und zu verwenden. Es gibt zwei Hauptmethoden zum Anmelden von Benutzern bei einem Anwendungsidentitätsanbieter:
Verbundidentitäten. Benutzer melden sich mit vorhandenen Anmeldeinformationen an, die von einem anderen Identitätsanbieter verwaltet werden. Dieser Anbieter könnte ein Anbieter für soziale Netzwerke wie Google, Facebook oder LinkedIn oder ein Unternehmensidentitätsanbieter sein, den Ihre Kunden verwenden, z. B. Microsoft Entra oder Okta. Die Wartung des Benutzerkontos liegt in der Verantwortung des Verbundidentitätsanbieters.
Lokale Identitäten. Benutzer erstellen ein Konto nur für Ihre Anwendung. Das Konto wird durch Benutzernamen und Kennwort, Passkey oder andere Authentifizierungsmethoden gesichert. Die Wartung des Benutzerkontos liegt in Ihrer Verantwortung.
Die Unternehmensidentität ist die Identitätslösung, die verwendet wird, um interne Benutzer und Workloads für Geschäftsproduktivitätstools, interne Tools oder Dienste und Azure-Dienste zu authentifizieren. Sie verwenden eine Unternehmensidentitätslösung für Ihre internen Benutzer und Arbeitslasten, um sie bei Geschäftsproduktivitätstools, internen Tools oder Diensten und Azure-Diensten zu authentifizieren.
Anwendungs- und Unternehmensidentitäten dienen unterschiedlichen Zwecken und können unterschiedliche Identitätsanbieter verwenden. Dieser Artikel konzentriert sich auf Entwurfsüberlegungen für die Anwendungsidentität, obwohl beide Typen wahrscheinlich in Ihrer SaaS-Workloadumgebung vorhanden sind.
Die Identitätsverwaltung umfasst zwei bezogene Bedenken: Authentifizierung (Überprüfen der Identität eines Benutzers) und Autorisierung (Erteilen von Berechtigungen basierend auf Identität). Die ersten drei Abschnitte dieses Artikels konzentrieren sich auf die Authentifizierung für SaaS. Im letzten Abschnitt werden Die Autorisierungsüberlegungen für SaaS-Anbieter behandelt.
Identität in einer Mehrinstanzenanwendung
Das Trennen von Mandantendaten in einer mehrinstanzenfähigen Anwendung ist von entscheidender Bedeutung. Diese Segmentierung wird durch ihre Wahl einer effektiven Benutzerauthentifizierung und Autorisierung gesteuert. Außerdem beeinflusst die Wahl des Mandantenmodells Ihre Entscheidungen über den Identitätsanbieter erheblich. Priorisieren Sie die Identität als primären Umkreis.
Weitere Informationen finden Sie in den SE:04-Empfehlungen für die Segmentierung.
Überlegungen zum Entwurf
Grundlegendes zu den Mandanten- und Bereitstellungsmodellen für Ihre Anwendung. Möglicherweise gibt es Nuancen, die Ihre Identitätsstrategie beeinflussen. Beispielsweise ist es eine Fehleinschätzung, dass das Bereitstellungsstempelmuster einen Identitätsanbieter in jedem Stempel erfordert. Bei den meisten Identitätsanbietern können Sie häufig ein alternatives Isolationsmodell verwenden.
Wenn Sie Ihren Identitätsanbieter für mehrere Mandanten auswählen, bewerten Sie die Auswirkungen von Fehlern. Fehlkonfigurationen können ihre gesamte Anwendung für alle Mandanten potenziell heruntersetzen. Wiegen Sie die Kosten für den Aufwand gegen das Risiko des potenziellen Wirkungsradius ab.
Wenn Sie Ihre Lösung in der Azure-Umgebung eines Kunden bereitstellen und sie in ihrem Auftrag verwalten, müssen Sie möglicherweise in den Unternehmensidentitätsanbieter integriert werden. Sie haben ein klares Verständnis für diese Aspekte:
- Die Benutzertypen und ihre Zugriffsanforderungen, wenn sie mit Ihren Anwendungsmandanten interagieren. Beispielsweise benötigt Benutzer A möglicherweise nur Zugriff auf die Anmeldung bei Mandant 1, aber Benutzer B benötigt möglicherweise Zugriff, um sich sowohl bei Mandant 1 als auch bei Mandant 2 anzumelden.
- Einhaltung der Datenresidency-Vorschriften, falls sie für Ihren Identitätsanbieter gelten. In einigen Fällen unterliegen Daten, die von einem Identitätsanbieter gespeichert werden, möglicherweise Vorschriften. Viele Identitätsanbieter bieten spezifische Anleitungen und Funktionen für dieses Szenario. Bewerten Sie, ob dieses Szenario für Sie relevant ist, und ergreifen Sie die erforderlichen Schritte, um die Compliance sicherzustellen.
Entwurfsempfehlungen
Empfehlung | Vorteil |
---|---|
Befolgen Sie die bewährten Methoden und Richtlinien Ihres Identitätsanbieters für die Partitionierung der Lösung für mehrere Mandanten. | Die Mandantenisolation hilft Ihnen dabei, Ihre Sicherheits- und Complianceziele zu erreichen. |
Vermeiden Sie mehrere Konten für denselben Benutzer. Ein Benutzer sollte über ein einzelnes Konto mit einer Gruppe von Anmeldeinformationen verfügen, auch wenn er Zugriff auf mehrere Mandanten benötigt. Gewähren Sie bei Bedarf Zugriff auf jeden Mandanten, anstatt mehrere Konten für denselben Benutzer zu erstellen. | Das Erstellen mehrerer Konten für denselben Benutzer erhöht die Sicherheitsrisiken und kann Benutzer verwirren, die sich mehrere Benutzernamen und Kennwörter für dieselbe Software merken müssen. |
Wenn Sie die Datenhaltung in Betracht ziehen, planen Sie, wie Benutzerdaten an separaten Standorten gespeichert werden. Wenn Sie einen separaten Bereitstellungsstempel für Ihre Benutzer in anderen Regionen bereitstellen, benötigen Sie möglicherweise auch separate Identitätsanbieter. Stellen Sie sicher, dass Sie über eine Möglichkeit verfügen, zu identifizieren, wo die Daten von Benutzern gespeichert werden, damit Sie sie bei Bedarf an die richtige Region für die Anmeldung weiterleiten können. |
Sie können Ihre Complianceanforderungen unterstützen und die Benutzererfahrung verbessern, indem Sie Benutzer an die Anmeldeoberfläche weiterleiten, die für ihren Standort geeignet ist. |
Auswahl des Identitätsanbieters
Jeder Identitätsanbieter bietet einzigartige Features, Einschränkungen, Preismodelle und Implementierungsmuster. Microsoft Entra und Okta sind beliebte Identitäts-as-a-Service-Optionen (IDaaS). Es gibt auch andere Open Source-Anbieter, z. B. Keycloak und Authentik.
Überlegungen zum Entwurf
Dokumentieren Sie Ihre Identitätsanforderungen. Beginnen Sie, indem Sie die Features auflisten, die Ihre Anwendung jetzt benötigt, und werden sie in Zukunft benötigen. Typische Features, die Sie berücksichtigen sollten, sind:
-
- Unterstützung des Verbundidentitätsanbieters zur Integration in die Identitätslösungen von Kunden. Mit diesem Feature können Sie das Erstellen neuer Identitäten vermeiden.
- Anpassbarer Anmelde-/Anmeldeablauf, um das Aussehen und Verhalten zu ändern, um Ihr Branding aufrechtzuerhalten. Dieses Feature bietet auch die Möglichkeit, benutzerdefinierte Geschäftslogik in den Anmelde-/Registrierungsvorgang einzufügen.
- Trennung von Mandantendaten in unterschiedliche Silos, um die Mandantenisolation aufrechtzuerhalten.
- Überwachungsunterstützung zum Aufbewahren oder Exportieren von Anmeldeprotokollen für die Sicherheitsverwaltung.
Wichtig
Berücksichtigen Sie ihr geplantes Benutzerwachstum, wenn Sie die Kosten einer Identitätslösung bewerten. Eine Lösung bleibt möglicherweise nicht kostengünstig oder langfristig skalierbar, kann aber jetzt nützlich sein. Sie haben einen Migrationsplan, den Sie verwenden können, wenn dies erforderlich ist.
Beispielsweise kann eine Lösung für 500 Benutzer erschwinglich sein, aber nicht nachhaltig für 5 Millionen. Wenn sie eine minimale Einrichtung erfordert und benutzerfreundlich und einfach zu migrieren ist, könnte es dennoch die richtige Wahl sein, bis die Skalierungskosten den Wechsel zu einer anderen Lösung rechtfertigen.
Recherchieren Sie die Identitätsanbieterfunktionen gründlich. Stellen Sie sicher, dass die Identitätslösung Ihrer Liste der erforderlichen Features entspricht. Auch wenn Sie derzeit keine komplexen Szenarien wie Verbundidentität benötigen, sollten Sie zukünftige Anforderungen berücksichtigen. Für SaaS-Lösungen (Business-to-Business, B2B) wird die Verbundidentität wahrscheinlich irgendwann erforderlich sein.
Faktor des Verwaltungsaufwands. Für unterschiedliche Identitätsanbieter sind unterschiedliche Verwaltungskosten erforderlich. Bekannte IDaaS-Lösungen haben in der Regel weniger Aufwand, da sie Hosting, Wartung und Sicherheit verarbeiten. Der zusätzliche Aufwand einer Open Source-Lösung kann sich jedoch lohnen, wenn die Lösung für Ihre speziellen Anforderungen besser geeignet ist.
Entwurfsempfehlungen
Empfehlung | Vorteil |
---|---|
Erstellen Sie keine eigene Identitätslösung. Identität ist ein hochspezialisierter Bereich, und das Erstellen einer Identitätslösung ist komplex und teuer. Es ist schwierig, eine Identitätslösung zu erstellen, die sicher und zuverlässig ist. | Sie vermeiden die Antipattern, Ihren eigenen Anbieter zu erstellen und die Sicherheit, Zuverlässigkeit und betriebliche Effizienz Ihrer Lösung zu verbessern. |
Erstellen Sie eine Funktionsmatrix der features, die von Identitätsanbietern angeboten werden, und ordnen Sie sie Ihren Identitätsanforderungen zu. | Sie stellen sicher, dass Sie sich entwickeln können, ohne durch einen begrenzten Satz von Identitätsfeatures eingeschränkt zu werden. |
Bevorzugen Sie IDaaS-Optionen gegenüber Open Source-Lösungen. Das Hosten einer Open Source-Lösung selbst führt zu erheblichem Betriebsaufwand und Sicherheitsrisiken. Sie können diese Option jedoch auswählen, um bestimmte Anforderungen an compliance, Data Residency oder Zuverlässigkeit zu erfüllen, die ein Anbieter nicht erfüllen kann. Weitere Informationen finden Sie unter IDaaS-Identitätsanbieter. |
Durch die Verwendung eines IDaaS-Identitätsanbieters vermeiden Sie unnötige Komplexität und können sich auf Ihr Kerngeschäft konzentrieren. |
Identitätsverbund
Die Verbundidentität, auch als Einmaliges Anmelden (Single Sign-On, SSO) bezeichnet, ermöglicht Es Benutzern, sich mit Anmeldeinformationen anzumelden, die sie bereits an anderer Stelle verwenden. Sie aktivieren Verbundidentitäten, indem Sie eine Vertrauensstellung zwischen Ihrem Anwendungsidentitätsanbieter und dem vorhandenen Identitätsanbieter des Kunden herstellen. Verbundidentität ist eine häufige Anforderung für SaaS-Lösungen, insbesondere in B2B, da Kunden ihre Mitarbeiter vorziehen, Unternehmensanmeldeinformationen zu verwenden. Es bietet mehrere Vorteile für B2B-Lösungen, z. B. zentrale Identitätsverwaltung und automatische Lebenszyklusverwaltung. In B2C SaaS-Produkten ist die Integration mit Social Identity-Anbietern üblich, um Benutzern die Anmeldung mit vorhandenen Anmeldeinformationen zu ermöglichen.
Kompromiss: Komplexität und betriebliche Effizienz. Indem Sie mit Verbundidentitätsanbietern arbeiten, müssen Sie die Komplexität der Verwaltung der Identitäten Ihrer Benutzer auslagern. Sie übernehmen jedoch die Kosten für die Integration mit einem anderen Identitätsanbieter. Entscheiden Sie, wo Sie sich auf Ihre operativen Bemühungen konzentrieren möchten.
Obwohl die Implementierung der Verbundidentität anfänglich einfach ist, wird sie komplexer, da die Anzahl der unterstützten Identitätsanbieter steigt. Eine sorgfältige Planung ist unerlässlich, insbesondere, wenn jeder Kunde einen eindeutigen Identitätsanbieter verwendet. Auch wenn sie denselben Identitätsanbieter verwenden, sind aufgrund bestimmter Konfigurationsdetails häufig eindeutige Vertrauensstellungen für jeden Kunden erforderlich.
Diese Abbildung zeigt die Beziehung zwischen Ihrer Anwendung, Ihrem Anwendungsidentitätsanbieter und den nachgeschalteten Identitätsanbietern, die Sie möglicherweise mithilfe des Identitätsverbunds implementieren möchten.
Überlegungen zum Entwurf
Schätzen Sie die Typen und die Anzahl der Identitätsanbieter, die Sie unterstützen müssen. Möglicherweise benötigen Sie eine statische Anzahl von Identitätsanbietern für soziale Netzwerke, oder Sie benötigen möglicherweise eindeutige Verbundidentitätsanbieter für jeden Kunden. Sie sollten wissen, ob Ihre Kunden OpenID Connect (OIDC), Security Assertion Markup Language (SAML) oder beide für die Integration verwenden.
Ordnen Sie die Anmeldeoberfläche zu. Visualisieren Sie den Benutzerablauf des Anmelde- und Anmeldevorgangs. Beachten Sie alle besonderen Anforderungen, die Ihren Benutzerflussentwurf ändern können. Zum Beispiel:
Benutzerdefiniertes Branding. White labeling or custom sign-in domains per customer.
Benutzerdefinierte Informationen. Sammeln zusätzlicher Benutzerinformationen während der Registrierung oder Anmeldung, z. B. Mandantenauswahl für Benutzer mit Zugriff auf mehrere Mandanten.
Identitätsanbieterauswahl. Wenn Sie einen einzelnen Anwendungsidentitätsanbieter verwenden, dem viele Verbundidentitätsanbieter vertrauen, entscheiden Sie, wie ein Anbieter ausgewählt werden soll. Diese Auswahl erfolgt möglicherweise manuell über eine Schaltfläche oder automatisch basierend auf bekannten Benutzerinformationen. Da die Anzahl der Anbieter steigt, wird die automatische Auswahl praktischer. Diese Funktion wird als Home Realm Discovery bezeichnet.
Entwurfsempfehlungen
Empfehlung | Vorteil |
---|---|
Wählen Sie einen Identitätsanbieter aus, der skaliert werden kann, um die Anzahl der benötigten Verbundidentitätsanbieter zu erfüllen. Beachten Sie die harten Grenzwerte des Anbieters, die nicht überschritten werden können. |
Sie stellen sicher, dass Ihre Identitätslösung skaliert werden kann, während Sie wachsen. |
Planen Sie das Onboarding jedes Verbundidentitätsanbieters, und automatisieren Sie den Prozess so weit wie möglich. Diese Zusammenarbeit zwischen Ihrer Organisation und Ihren Kunden umfasst den Austausch von Informationen, um eine Vertrauensstellung herzustellen, in der Regel über OIDC- oder SAML-Protokolle. |
Die Identitätsintegration kann Zeit und Mühe für Sie und Ihre Kunden in Anspruch nehmen. Durch die Planung des Prozesses verbessern Sie Ihre betriebliche Effizienz. |
Berücksichtigen Sie die Komplexität und kosten der Verbundidentität in Ihrem Preis- und Geschäftsmodell. Kunden können ihren eigenen Identitätsanbieter verwenden, was die Betriebskomplexität und die Kosten erhöht, da mehrere Verbundidentitätsvertrauensbeziehungen verwaltet werden. Es ist üblich, dass SaaS-Lösungen für Unternehmen eine höhere Stufe bezahlen, die die Verbundanmeldung ermöglicht. |
Das Verbunden mit dem Identitätsanbieter eines Kunden kann eine versteckte Kosten in SaaS-Lösungen sein. Durch die Planung vermeiden Sie unerwartete Kosten während der Implementierung. |
Planen Sie, wie der Identitätsanbieter eines Benutzers während des Anmeldeablaufs ausgewählt wird. Erwägen Sie die Verwendung von Home Realm Discovery. Microsoft Entra ID bietet integrierte Home Realm Discovery. |
Sie optimieren Ihre Kundenerfahrung und stellen sicher, dass Benutzer an den richtigen Anmeldevorgang weitergeleitet werden. |
Autorisierung
Die Benutzerautorisierung ist für SaaS-Anwendungen von entscheidender Bedeutung, die häufig Daten für mehrere Mandanten speichern. Definieren Sie eindeutig, wie Benutzer nur auf ihre Daten zugreifen können, ohne versehentlich auf die Daten anderer Mandanten zuzugreifen. Stellen Sie darüber hinaus eine präzise Autorisierung innerhalb eines Mandanten bereit, sodass Benutzer bestimmte Informationen lesen oder darauf zugreifen können, während Aktualisierungen oder Zugriff auf andere Daten eingeschränkt werden.
Überlegungen zum Entwurf
Wählen Sie das richtige Autorisierungsmodell für den Anwendungsfall aus. Es gibt zwei Haupttypen:
- Rollenbasierte Autorisierung: Benutzern werden Rollen oder Gruppen zugewiesen, und bestimmte Features sind auf bestimmte Rollen beschränkt. Administratoren können z. B. eine beliebige Aktion ausführen, aber Benutzer in anderen Rollen verfügen über eingeschränkte Berechtigungen.
- Ressourcenbasierte Autorisierung: Jede Ressource verfügt über einen eigenen Satz von Berechtigungen. Ein Benutzer ist möglicherweise Administrator für eine Ressource, hat aber keinen Zugriff auf eine andere.
Entscheiden Sie, wo Autorisierungsdaten gespeichert werden sollen. Autorisierungsdaten für Ihre Anwendung können in:
- Ihr Identitätsanbieter. Nutzen Sie die integrierten Gruppen oder Rollen, indem Sie Berechtigungen als Ansprüche im Token anzeigen, das für Ihre Anwendung ausgestellt wurde. Ihre Anwendung kann dann Autorisierungsregeln mithilfe dieser Tokenansprüche erzwingen.
- Ihre Anwendung. Entwickeln Sie Ihre eigene Autorisierungslogik, und speichern Sie Benutzerberechtigungen in einer Datenbank oder einem ähnlichen System, sodass eine differenzierte rollenbasierte oder ressourcenbasierte Autorisierungssteuerung möglich ist.
Kompromiss: Komplexität, Flexibilität und Sicherheit. Das Speichern von Autorisierungsdaten in einem Identitätsanbieter und das Erkennen über Tokenansprüche ist in der Regel einfacher als das Verwalten Ihres eigenen Autorisierungssystems. Die anspruchsbasierte Autorisierung beschränkt jedoch Ihre Flexibilität, und Sie müssen akzeptieren, dass Ansprüche nur aktualisiert werden, wenn ein Token erneut ausgeführt wird, was zu einer Verzögerung bei der Anwendung geänderter Berechtigungen führen kann.
Bewerten der Auswirkungen des delegierten Managements. In den meisten SaaS-Anwendungen, insbesondere in B2B-Anwendungen, wird die Rollen- und Berechtigungsverwaltung an Kunden delegiert. Ohne diese Funktionalität können Sie den Verwaltungsaufwand erhöhen, wenn Kunden häufig die Berechtigungen ihrer Benutzer ändern.
Auswerten des mehrinstanzenübergreifenden Zugriffs. In einigen Systemen muss ein einzelner Benutzer möglicherweise auf Daten von mehreren Mandanten zugreifen. Beispielsweise müssen Berater möglicherweise auf Daten aus mehreren Mandanten zugreifen. Planen Sie, wie Kunden Zugriff auf diese Benutzer gewähren und wie Ihr Anmeldefluss die Auswahl und Den Wechsel zwischen Mandanten unterstützt.
Entwurfsempfehlungen
Empfehlung | Vorteil |
---|---|
Benutzer daran hindern, über Mandantengrenzen hinweg auf Daten zuzugreifen, es sei denn, dieser Zugriff ist explizit zulässig. | Nicht autorisierter Zugriff auf die Daten eines anderen Mandanten, sogar versehentlicher Zugriff, kann als ein wichtiger Sicherheitsvorfall betrachtet werden und das Vertrauen der Kunden in Ihre Plattform untergraben. Wenn Sie unnötigen Zugriff blockieren, können Sie diese Situationen vermeiden. |
Wenn die Daten statisch sind und sich selten ändern, speichern Sie sie im Identitätsanbieter. Wenn häufige Änderungen erforderlich sind, während der Benutzer die Software verwendet, speichern Sie die Autorisierungsdaten in Ihrer Anwendung. | Wenn Sie den besten Datenspeicher für Ihre Autorisierungsdaten auswählen, werden Sie ihre betriebliche Effizienz verbessern und Ihnen dabei helfen, Ihre Skalierbarkeitsanforderungen zu erfüllen. |
Wenn Sie die Berechtigungsverwaltung an Kunden delegieren, stellen Sie eine klare Methode für die Verwaltung von Berechtigungen bereit. Erstellen Sie beispielsweise ein Webportal, auf das nur Mandantenadministratoren zugreifen können, um Benutzerberechtigungen zu ändern. | Sie bieten Ihren Kunden mehr Kontrolle und vermeiden unnötige Betriebliche Belastung für Ihr Supportteam. |
Zusätzliche Ressourcen
Multitenancy ist eine Kern-Geschäftsmethodik für das Entwerfen von SaaS-Workloads. Diese Artikel enthalten weitere Informationen zur Identitäts- und Zugriffsverwaltung:
- Architekturaspekte für identitätsübergreifende Lösungen
- Architekturansätze für identitätsübergreifende Lösungen
Nächster Schritt
Erfahren Sie mehr über die Auswahl Ihres Computehostingmodells, die betrieblichen Aspekte und die Optimierung der Technologieoptionen, damit Sie Ihre Vereinbarungen und Ziele auf Servicelevel erfüllen können.