Ascentiv https://ascentiv.ch IT Consulting Mon, 17 May 2021 08:37:19 +0000 de hourly 1 https://wordpress.org/?v=6.9 Single Sign-On für kundenspezifische Applikationen https://ascentiv.ch/single-sign-on-fuer-kundenspezifische-applikationen/ Sun, 21 Mar 2021 15:10:00 +0000 https://asc-company-2024.azurewebsites.net/?p=824 .avia-section.av-kmg9hvbx-3b8416b63cc2d81753255cb2bca4dc8d{ background-color:#01405a; background-image:unset; }

Single Sign-On für kundenspezifische Applikationen

Die gleichen Anmeldeinformationen für Firmenapplikationen verwenden wie für Office 365? Kunden und Lieferanten sicheren und kontrollierten Zugriff auf interne Applikationen ermöglichen?
Wir zeigen die Herausforderungen beim Identity Management auf
und veranschaulichen einen cloud basierten Lösungsansatz, der diesen Anforderungen gerecht wird.

von Stefan Zettel

Die Probleme mit Identity Silos

In der Vergangenheit war es üblich, Benutzernamen, Passwörter (Hashs) und die entsprechenden Berechtigungen pro Applikation zu speichern. Das hatte zur Folge, dass derselbe Benutzer für jede Applikation unterschiedliche Anmeldeinformationen verwenden musste.
Die Administration war aufwändig, wenn zum Beispiel ein Mitarbeiter das Unternehmen verliess oder die Berechtigungen in mehreren Applikationen geändert wurden. Cloud basierte Applikationen waren genauso davon betroffen wie firmeninterne, On-Premises Anwendungen.

Authentifizierung

(engl. Authentication, AuthN)

Bin ich wirklich die Person, welche ich vorgebe zu sein? Diese Überprüfung wird heute noch oft anhand von Benutzername und Passwort durchgeführt. Die Authentifizierung ist unabhängig von der Applikation und deren Funktionalität.

Autorisierung (Berechtigung)

(engl. Authorization, AuthZ)

Welche Berechtigungen hat ein Benutzer auf bestimmte Funktionalitäten einer Applikation? Diese Berechtigungen werden z.B. von einem Administrator definiert. Die möglichen Berechtigungen sind abhängig von der Applikation und deren Funktionalität.

Eine kleine Verbesserung brachte die Authentifizierung von firmeninternen Applikationen durch einen lokalen Verzeichnisdienst wie z.B. Active Directory. Dadurch wurden die Identitäten zentral verwaltet. Einfache, gruppenbasierte Berechtigungen waren häufig anzutreffen. Wegen technischen Einschränkungen (Windows Authentication) waren diese Lösungen nicht Internet kompatibel und daher nur innerhalb des Firmennetzwerks einsetzbar. Applikationen waren jedoch nach wie vor nicht zentral administrierbar, die Berechtigungen mussten auf jeder Applikation spezifisch aufgesetzt werden.

Die Lösung mit Token basierter Authentifizierung

Um zu ermöglichen, dass jeder Benutzer:

  • nur ein einziges Anmeldekonto (Login) benötigt
  • sich nur einmal anmelden muss, um unterschiedliche Apps zu verwenden

ist eine Lösung erforderlich, bei welcher die Authentifizierung und die Autorisierung von der eigentlichen Applikation entkoppelt ist. Dadurch wird es möglich, beliebige Applikationen zentral zu registrieren und deren Berechtigungen für entsprechende Benutzergruppen pro Applikation zu definieren (SSO, Single Sign On).
Ein Identity Provider ist ein solcher Dienst, welcher einen Benutzer authentifiziert und ein applikationsspezifisches Datenpaket (Token) zurückliefert, welches digital signierte Informationen über den Anwender und deren Berechtigungen (Claims) enthält.

Sobald ein Benutzer z.B. auf die CRM App zugreift, bemerkt diese, dass kein gültiges Token mitgeliefert wurde und leitet den Benutzer deshalb für den Anmeldeprozess an den Identity Provider weiter. Sind Benutzername und Passwort verifiziert, werden ev. auch noch weitere Faktoren abgefragt (MFA). Dazu sendet der Identity Provider z.B. eine Benachrichtigung an eine Authenticator App, welche vom Benutzer auf dem Mobiltelefon bestätigt werden muss.
Nach einer erfolgreichen Authentifizierung werden auch die spezifischen Berechtigungen, welche der Benutzer Huber auf die CRM App hat, ausgelesen. Anschliessend stellt der Identity Provider ein digital signiertes und zeitlich begrenztes Datenpaket aus (Token), welches den Benutzername und beliebige, weitere Informationen zur App Berechtigung enthalten kann.

Schlussendlich wird der Benutzer zurück an die CRM App verwiesen. Diese überprüft das Token anhand der digitalen Signatur und wertet die darin enthaltenen Informationen aus (in unserem Beispiel also Alter und Administratorenberechtigung).
Greift der Benutzer auf andere Applikationen zu (z.B. HR App), wird ein neues, applikationsspezifisches Token ausgestellt, ohne dass sich der Benutzer erneut anmelden muss.

Ein Identity Provider ermöglicht es also, Anmeldeinformationen, Berechtigungen und Applikationsinformationen zentral abzulegen, zu administrieren und zu verifizieren, ohne dass eine Applikation davon Kenntnis haben muss (Entkopplung).

Identity und Access Management als SaaS Angebot

Nebst Authentifizierung, Autorisierung, Single Sign-On und MFA gibt es viele weitere Aspekte zum Thema Identity und Access Management. Zum Beispiel falls neue Mitarbeiter eingestellt werden bzw. diese die Firma verlassen (onboarding/offboarding), wenn Benutzer ihr Passwort selbständig ändern oder zurücksetzen möchten oder falls kundenspezifische Apps integriert werden sollen.

Nebst anderen IdP Providern wird Microsoft Azure Active Directory (AAD) häufig im Unternehmensbereich eingesetzt. AAD ist eine SaaS basierte Identity Plattform, welche auch die Basis für Office 365 bildet. Ein individueller AAD Kunde (Mandant wie z.B. Unternehmen, Schule oder andere Organisation) wird durch einen Tenant repräsentiert, welcher unter anderem Benutzeraccounts, Berechtigungen und Applikationsregistrierungen enthält. Die Daten in den Tenants sind gegenüber den anderen Kunden jedoch komplett isoliert, obwohl die Software und der Endpunkt (https://login.microsoftonline.com/) von allen AAD Kunden geteilt werden.

Zusammenarbeit mit Kunden und Lieferanten

Für die Zusammenarbeit mit Kunden und Lieferanten ergeben sich neue Möglichkeiten, falls diese Partner ebenfalls einen cloudbasierten Identity Provider wie z.B. AAD einsetzen. Das Unternehmen kann z.B. seine e-Invoicing App ihren Lieferanten zur Verfügung stellen, die dank Identity Federation ihre eigenen Benutzerkonten verwenden können.

Greifen die Benutzer von Lieferant A auf die e-Invoicing App zu, werden diese für den Anmeldevorgang zum IdP des Lieferanten A weitergeleitet. Nach erfolgreicher Authentifizierung kehrt der Lieferantenbenutzer wieder zum IdP des Unternehmens zurück. Dieser stellt nun anhand der aufgesetzten Berechtigungen (Benutzer Lieferant A, e-Invoice App) ein spezifisches Token aus.
Damit diese Verbunds Authentifizierung gelingt, muss der Unternehmensadministrator vorgängig eine Vertrauensbeziehung zu Lieferant A aufsetzen und die e-Invoice App Registrierung entsprechend konfigurieren.

Der Lieferant ist also verantwortlich für die Benutzerauthentifizierung (Login mit MFA), das Unternehmen verantwortet die Autorisierung auf die entsprechende App.
Auf diese Weise lassen sich auch viele weitere Enterprise Applikationen wie SAP, Workday, Salesforce, AWS etc. einfach integrieren.

Fazit

Die Verwendung einer cloudbasierten Identity Plattform ist die Basis für eine erfolgreiche Anbindung von Partnerorganisationen und Applikationen. Nicht nur Applikationen von Drittherstellern lassen sich einbinden, sondern auch eigene, kundenspezifisch erstellte Web und Mobile Applikationen. Verbesserungen wie Multifaktor Authentifizierung oder Passwortlose Authentifizierung sind für solche Applikationen sofort verfügbar.

Haben sie Fragen oder sind sie interessiert an unseren Dienstleistungen? Wir freuen uns von Ihnen zu hören.

Jetzt kontaktieren
]]> Wie vermeide ich finanzielle Überraschungen für Applikations Hosting in der Cloud? https://ascentiv.ch/wie-vermeide-ich-finanzielle-ueberraschungen-fuer-applikations-hosting-in-der-cloud/ Tue, 09 Feb 2021 13:04:00 +0000 https://asc-company-2024.azurewebsites.net/?p=938 .avia-section.av-av_section-4dbbb2b1667738a7c6c17e04d841463c{ background-color:#01405a; background-image:unset; }

Wie vermeide ich finanzielle Überraschungen für Applikations Hosting in der Cloud?

Die Kosteneinschätzung für Cloud gehostete Applikationen ist nicht immer einfach, Überraschungen sind daher nicht ausgeschlossen. In diesem Artikel erfahren Sie, wie Sie Kosten im Betrieb und bei der Entwicklung sparen, und gleichzeitig von neuen Cloud Features profitieren können.

von Stefan Zettel

Unerwartet hohe Cloud Kosten

Obwohl die IT-Budgets für Cloud basierte Dienste weltweit wachsen, verfolgen nur wenige Firmen, was diese Ausgaben in Bezug auf konkrete Geschäftsergebnisse wirklich bringen. Laufen ein paar virtuelle Maschinen ein paar Wochen länger, weil jemand vergass diese manuell herunterzufahren oder sind temporär generierte Daten plötzlich x-mal grösser, ist die Überraschung Ende Monat oft recht gross, wenn die monatliche Rechnung viel höher ausfällt als erwartet.

Der einfachste Weg ist nicht immer der günstigste

Oft werden existierende on-Premises Applikationen eins-zu-eins in die Cloud verschoben. Bei diesem «Lift and Shift» werden IaaS Dienste wie virtuelle Server benutzt, um unter anderem Datenbanken, Web Server und die eigentlichen Anwendungen zu betreiben. Da diese Applikationen typischerweise nicht für die Cloud entwickelt wurden, laufen diese z.B. auch, wenn sie von keinem Benutzer verwendet werden. Oder sie sind auf maximale Benutzerauslastung ausgelegt und benötigen daher unnötig viele Ressourcen.
Wegen der Verwendung von IaaS Diensten wird auch der kundenseitige Administrations-aufwand nicht erheblich gesenkt.

IaaS

(Infrastructure as a Service)

Der Kunde verwendet virtualisierte Server, Netzwerke, Load Balancer, Firewalls etc. welche in der Cloud betrieben werden. Er muss z.B. die Netzwerkkomponenten selber konfigurieren und sich auch selber um die Sicherheitsupdates der Basissoftware kümmern. Datenbanken, Web Server und Applikationen muss der Kunde selber ausrollen. Der Kunde übernimmt viel Verantwortung, gewinnt dafür aber auch grösstmögliche Flexibilität.

PaaS

Platform as a Service

Der Cloud Provider übernimmt viel Verantwortung und stellt dem Kunden höherwertige Dienste zur Verfügung, inklusive Ausfallsicherheit (Redundanz) und Skalierbarkeit. Der Provider übernimmt die Wartung und Konfiguration der zugrundeliegenden Infrastruktur wie z.B. Netzwerken, Betriebssystemen, Datenbanken oder Web Server.
Der Kunde kann sich ausschliesslich auf die Bereitstellung der Applikationen konzentrieren.

Bei der Datenhaltung gibt es ebenfalls oft Kostenüberraschungen. Zum Beispiel wenn eine Applikation für den periodischen Datenaustausch viele grosse Dateien in Verzeichnisse ablegt. Der oft günstigere, Cloud native Blob Storage (AWS S3 oder Azure Blob) ist wegen technischen Einschränkungen von herkömmlichen Applikationen nicht einfach so verwendbar.
Auch wenn Blob Storage verwendet werden kann, muss anhand der Zugriffshäufigkeit geklärt werden, ob alle Daten oder wenigstens Teile davon auf einen günstigeren Datenspeicher (z.B. Cold, Archive) ausgelagert werden kann.

Vorteile von Plattform Services nutzen

Alle grossen Cloud Anbieter haben ein riesiges Angebot von PaaS basierten Diensten, welche oft skalierbar und resilient aufgebaut sind. Zum Beispiel Web Application Hosting, relationale und nicht relationale Datenbanken, Data Analytics Funktionalität, Serverless Functions und Machine Learning Lösungen mit vortrainierten ML Modellen.
Die Verwendung solcher Dienste erlauben komplexe neue Applikationsfunktionalitäten, welche ohne PaaS kaum denkbar wären. Der operationelle Administrationsaufwand ist bei solchen PaaS Diensten erstaunlich gering, oft beschränkt er sich auf das Monitoring.
Für einfachere, kundenspezifische Applikationen ist die Migration in die Cloud oft recht unkompliziert. Meistens reicht es, einen App Hosting Service (Azure App Service oder AWS Elastic Beanstalk) und den entsprechenden Datenbankservice in die Cloud zu verschieben. Applikationsüberwachung und -protokollierung, HTTPS Zertifikatsmanagement und Custom Domain Registrierung sind Teil des Serviceangebots.

Softwareentwicklung vereinfachen und beschleunigen

PaaS basierte Dienste bringen nicht nur Vorteile im Betrieb sondern auch in der Software Entwicklung. SaaS (Software as as Service) basierte DevOps Angebote ermöglichen es, mit verteilten Teams zu arbeiten, agile Projekte aufzusetzen, Sourcecode sicher in der Cloud zu speichern, zu verwalten und zu überprüfen (Code Reviews). Eine grosse Anzahl von vorgefertigten und konfigurierbaren Tasks ermöglicht es, den Arbeitsablauf (Build, Test und Deployment) auf Knopfdruck zu automatisieren. Somit können Softwareänderungen und Bugfixes schnell und nachvollziehbar innerhalb von Minuten ausgerollt werden.

Auch durch die Integration von PaaS Services lässt sich die Applikationsentwicklung beschleunigen. Identity Management Lösungen wir z.B. Azure Active Directory erlauben es, die Benutzerverwaltung und Berechtigungsmodelle auszulagern. Gleichzeitig profitiert der Benutzer von neuen Funktionalitäten wie Single Sign-On und Multi Factor Authentication.

Fazit

Richtig eingesetzt, bietet die Cloud für Applikationshosting viele neue Möglichkeiten. Skalierbarkeit, Verfügbarkeit und Resilienz sind bei Cloud Plattformen eingebaut. Der Administrationsaufwand kann gesenkt und die Sicherheit erhöht werden. Diese Vorteile kommen jedoch nur dann voll zum Tragen, wenn PaaS basierte Dienste eingesetzt werden.
Um eine kosteneffiziente Cloud Nutzung zu erreichen, muss vorerst klar sein, welches Problem genau gelöst werden soll. Steht die Nutzung neuer Features im Vordergrund, welche ohne Cloud nicht möglich wären (z.B. Push Notifications, Bots, Voice und Video Communication, Office 365 Integration, AI Dienste etc.)? Dann werde die Kosten vermutlich steigen, der Kundennutzen jedoch auch.
Sind operationelle Aspekte wichtig? Dann können mit PaaS basierten Diensten die Gesamtkosten vermutlich gesenkt werden, wenn interne IT-Ressourcen eingespart und der Administrationsaufwand gesenkt werden kann.
Schlussendlich müssen auch Langzeitfolgen betrachtet werden. Was kosten die Cloud-Dienste über mehrere Jahre? Was bedeutet die Bindung zu einem Cloud Provider? Könnten Daten und Services zum Beispiel jemals migriert werden?

Haben sie Fragen oder sind sie interessiert an unseren Dienstleistungen? Wir freuen uns von Ihnen zu hören.

Jetzt kontaktieren
]]>