Freigeben über


Cloudnative Identität

Tipp

Diese Inhalte sind ein Auszug aus dem E-Book „Architecting Cloud Native .NET Applications for Azure“, verfügbar in der .NET-Dokumentation oder als kostenlos herunterladbare PDF-Datei, die offline gelesen werden kann.

Cloud Native .NET apps for Azure eBook cover thumbnail.

Die meisten Softwareanwendungen benötigen Kenntnisse über den Benutzer oder den Prozess, der sie aufruft. Der Benutzer oder der Prozess, der mit einer Anwendung interagiert, wird als Sicherheitsprinzipal bezeichnet, und der Prozess der Authentifizierung und Autorisierung dieser Prinzipale wird als Identitätsverwaltung oder einfach Identität bezeichnet. Bei einfachen Anwendungen kann die gesamte Identitätsverwaltung in die Anwendung integriert werden, aber dieser Ansatz lässt sich bei vielen Anwendungen und vielen Arten von Sicherheitsprinzipalen nicht gut skalieren. Windows unterstützt die Verwendung von Active Directory, um eine zentrale Authentifizierung und Autorisierung zu ermöglichen.

Diese Lösung ist zwar innerhalb von Unternehmensnetzwerken effektiv, aber sie ist nicht für die Verwendung durch Benutzer oder Anwendungen außerhalb der AD-Domäne konzipiert. Mit dem Wachstum der internetbasierten Anwendungen und dem Aufkommen cloudnativer Apps haben sich auch die Sicherheitsmodelle weiterentwickelt.

Bei dem heutigen cloudnativen Identitätsmodell wird von einer verteilten Architektur ausgegangen. Apps können überall bereitgestellt werden und können überall mit anderen Apps kommunizieren. Clients können von überall aus mit diesen Apps kommunizieren, und tatsächlich können Clients aus einer beliebigen Kombination von Plattformen und Geräten bestehen. Cloudnative Identitätslösungen verwenden offene Standards, um einen sicheren Zugriff von Clients auf Anwendungen zu ermöglichen. Diese Clients reichen von menschlichen Benutzern auf PCs oder Smartphones über andere Apps, die irgendwo online gehostet werden, bis hin zu Set-Top-Boxes und IoT-Geräten, auf denen eine beliebige Softwareplattform irgendwo auf der Welt ausgeführt wird.

Moderne cloudnative Identitätslösungen verwenden in der Regel Zugriffstoken, die von einem sicheren Tokendienst/Tokenserver (STS) an einen Sicherheitsprinzipal ausgegeben werden, sobald dessen Identität ermittelt wurde. Das Zugriffstoken, in der Regel ein JSON-Webtoken (JWT), enthält Ansprüche hinsichtlich des Sicherheitsprinzipals. Diese Ansprüche umfassen mindestens die Identität des Benutzers, können aber auch andere Ansprüche enthalten, die von Anwendungen verwendet werden können, um den Grad des Zugriffs zu bestimmen, der dem Prinzipal gewährt werden soll.

In der Regel ist der STS nur für die Authentifizierung des Prinzipals verantwortlich. Die Ermittlung der Zugriffsebene auf Ressourcen bleibt anderen Teilen der Anwendung überlassen.

Referenzen