kras99 - stock.adobe.com

Die richtige Authentifizierung für Azure Functions auswählen

Die Sicherheit von Azure Functions ist für die Aufrechterhaltung der Integrität und Zuverlässigkeit Ihrer Anwendungen von großer Bedeutung. Lesen Sie sich diese Methoden durch.

Immer mehr Unternehmen verlagern ihren Betrieb in die Cloud und werden so zu anfälligen Zielen für Cyberkriminelle. Trotz ihrer vielen Vorteile bleiben Azure Functions anfällig für diese Bedrohungen.

Der Azure-Functions-Dienst von Microsoft hat die Art und Weise, wie Unternehmen Anwendungen entwickeln und warten, verändert. Durch die Möglichkeit, Code zu schreiben, der auf Ereignisse reagiert, können Entwickler der Geschäftslogik den Vorrang vor der Infrastruktur geben. Angesichts des erhöhten Risikos von Cyberangriffen ist es jedoch entscheidend, Sicherheitskontrollen für diese Funktionen zu priorisieren.

Azure bietet verschiedene Authentifizierungsmethoden, die von einfachen schlüsselbasierten Techniken bis hin zu fortschrittlicheren Ansätzen mit Azure-Active-Directory-Integration (AD) reichen. Entwickler und Unternehmen wählen eine Methode aus, die ihren Sicherheitsanforderungen und Geschäftszielen am besten entspricht. Informieren Sie sich über diese Methoden sowie über Best Practices für die Authentifizierung.

Azure AD

Identitätsanbieter
Abbildung 1: Wählen Sie Ihren Identitätsanbieter und Ihren Mietertyp.

Azure AD ist der Cloud-basierte Identitäts- und Zugriffsverwaltungsdienst von Microsoft. Dieser Dienst kombiniert zentrale Verzeichnisdienste, Anwendungszugriffsmanagement und Identitätsschutz in einem einzigen Dienst. Er ermöglicht Benutzern den Zugriff auf externe Ressourcen, wie Microsoft 365, das Azure-Portal und andere SaaS-Anwendungen.

Azure AD bietet viele nützliche Funktionen, wie beispielsweise die Multifaktor-Authentifizierung (MFA), die die Sicherheit erhöht, indem sie mehrere Authentifizierungsmethoden erfordert. Die Plattform umfasst auch bedingte Zugriffsrichtlinien, die automatische Zugriffskontrollentscheidungen für Ihre Cloud-Anwendungen auf der Grundlage bestimmter Bedingungen ermöglichen.

Azure AD Identity Protection nutzt maschinelle Lernalgorithmen, um verdächtige Aktivitäten zu erkennen, die die identitätsbasierte Sicherheit gefährden. Durch die Integration von Azure AD mit Azure Functions können Anwender eine sicherere Anwendungsumgebung bereitstellen.

Azure-App-Service-Authentifizierung

Die Azure-App-Service-Authentifizierung – auch bekannt als Easy Auth – rationalisiert den Authentifizierungsprozess für Entwickler. Mit dieser Funktion werden Webanwendungen und APIs gesichert, ohne dass komplexer Code für die Authentifizierung geschrieben werden muss.

Die Azure-App-Service-Authentifizierung unterstützt verschiedene Identitätsanbieter, darunter Azure AD, Facebook, Google, Twitter und Microsoft-Konten. Seine Vielseitigkeit ermöglicht es Ihnen, einen vorhandenen Identitätsanbieter zu verwenden, der den Anforderungen der Anwendung am besten entspricht.

Ein Vorteil der Azure-App-Service-Authentifizierung ist, dass Azure die Feinheiten des Authentifizierungsprozesses verwaltet. Dadurch können sich Entwickler auf die Entwicklung von Anwendungen konzentrieren, anstatt sich mit den komplexen Sicherheits- und Authentifizierungsfragen zu beschäftigen. Ein weiterer Vorteil ist die automatische Aktualisierung von Token, die den Entwicklern die Verwaltung von Token-Lebenszyklen erspart.

Auswahl des Zugangs
Abbildung 2: Wählen Sie aus, welchen Zugang Sie gewähren möchten.

Die Funktion ermöglicht es Entwicklern, Benutzerinformationen über einfache HTTP-Header abzurufen, um das Benutzererlebnis zu personalisieren. Die Azure-App-Service-Authentifizierung lässt sich gut in Azure-AD-Funktionen wie MFA und bedingter Zugriff integrieren, was die Sicherheitslage weiter verbessert.

OAuth und OpenID Connect

OAuth und OpenID Connect sind weit verbreitete Industriestandardprotokolle, die den Ressourcenzugriff effektiv verwalten und sichern. Diese Protokolle bieten eine zuverlässige Möglichkeit für Benutzer, sich über ihre bestehenden Konten bei beliebten Identitätsanbietern wie Google, Facebook und Microsoft zu authentifizieren.

OAuth (Open Authorization) ist ein Protokoll, das es Anwendungen ermöglicht, den Zugriff auf Serverressourcen zu autorisieren, ohne Passwörter weiterzugeben. Dieses Protokoll gibt Token aus, die Anwendungen für den Zugriff auf Ressourcen verwenden.

OpenID Connect ist eine einfache Identitätsschicht, die auf dem OAuth-2.0-Protokoll aufbaut. Es ermöglicht Clients, die Identität von Benutzern auf der Grundlage der von einem Autorisierungsserver durchgeführten Authentifizierung zu überprüfen und grundlegende Profilinformationen über die Benutzer zu erhalten.

Die Integration dieser Protokolle in Azure Functions bietet eine effektiv und sichere Authentifizierungsmethode, schützt Benutzerpasswörter durch die Verwendung von Tokens für den Zugriff und ermöglicht Benutzern die Authentifizierung mit bestehenden Konten von gängigen Plattformen.

Schlüsselbasierte Authentifizierung

Bei der schlüsselbasierten Authentifizierung hat jede Funktion einen zugehörigen Schlüssel, der als Kennwort dient. Die aufrufende Entität muss den Schlüssel in der Kopfzeile der HTTP-Anfrage angeben, um die Funktion erfolgreich aufzurufen. Obwohl diese Methode einfach zu implementieren ist, bietet sie ein geringeres Maß an Sicherheit und eignet sich am besten für interne, nicht sensible Anwendungen.

In Azure Functions bieten Funktions- und Host-Schlüssel eine zusätzliche Sicherheitsebene für Funktionen. Jede Funktion in einer Anwendung hat ihren eigenen Funktionsschlüssel. Wenn Sie eine Funktion anfordern, geben Sie den Funktionsschlüssel in der Kopfzeile oder als Query-String-Parameter in der URL an. Auf diese Weise werden die Schlüssel für die einzelnen Funktionen neu generiert, ohne dass das Auswirkungen auf andere Funktionen hat.

Host-Schlüssel
Abbildung 3: Filtern Sie Ihre Host-Schlüssel.

Host-Schlüssel werden jedoch von allen Funktionen innerhalb derselben Funktions-App gemeinsam genutzt. Diese können nützlich sein, um einen Client zu autorisieren, eine beliebige Funktion in der App aufzurufen, ohne einen spezifischen Funktionsschlüssel anzugeben.

Ein Hauptvorteil der Verwendung von Funktions- und Host-Schlüssel ist die Möglichkeit, Schlüssel bei Bedarf schnell zu erzeugen, zu erneuern und zu widerrufen. Außerdem bieten sie ein grundlegendes Maß an Sicherheit, das für bestimmte Szenarien geeignet ist – insbesondere für interne, weniger sensible Anwendungen.

Behandeln Sie diese Schlüssel wie sensible Daten. Obwohl sie eine Sicherheitsebene bieten, sind sie kein Ersatz für eine umfassende Authentifizierungs- und Autorisierungsstrategie.

Fünf Best Practices für die Sicherheit von Azure Functions

Neben der Auswahl der besten Authentifizierungsplattform für die Azure Functions gibt es weitere Möglichkeiten und Konfigurationsoptionen. Befolgen Sie diese fünf standardmäßigen Best Practices:

1. Halten Sie Funktionen und Schlüssel immer auf dem neuesten Stand: Dazu gehören das Patchen und Aktualisieren von Funktionen auf ihre neuesten Versionen und das häufige Rotieren von Schlüsseln, um das Risiko einer unbefugten Nutzung zu verringern.

2. Regelmäßiges Auditing und Überprüfung der Zugriffsrichtlinien: Führen Sie regelmäßige Audits von Azure Functions durch und überprüfen Sie die Zugriffsrichtlinien. Regelmäßige Audits helfen dabei, potenzielle Schwachstellen und unbefugten Zugriff zu identifizieren. Die Überarbeitung der Zugriffsrichtlinien hält die Sicherheitsmaßnahmen auf dem neuesten Stand.

3. Wenden Sie das Prinzip der geringsten Privilegien an: Dieses Prinzip (Principle of least Privilege, POLP) besagt, dass jeder Benutzer oder Prozess nur die minimalen Privilegien haben sollte, die für die Ausführung seiner Funktion erforderlich sind. Die Einschränkung von Zugriffsrechten verringert den potenziellen Schaden durch versehentliche oder böswillige Aktionen.

4. Sichern Sie Funktionsendpunkte mit IP-Beschränkungen: Definieren Sie eine Liste zulässiger IP-Adressen, die durch IP-Beschränkungen auf Ihre Azure-Funktionen zugreifen kann, und so die allgemeine Sicherheitslage verbessern.

5. Erzwingen Sie nur HTTPS: Erzwingen Sie die Verwendung von HTTPS für die gesamte Kommunikation mit Azure Functions. HTTPS verschlüsselt Daten während der Übertragung und schützt sie so vor dem Abhören und vor Manipulationen und gewährleistet die Integrität und Vertraulichkeit der Daten.

Erfahren Sie mehr über Cloud Computing