Azure function authentication
Um was geht es hier eigentlich?
Wenn Sie mit Logic Apps oder anderen Automatisierungs-Aufgaben im Azure arbeiten, dann stellen Sie fest, dass eine neu erstellte Azure Funktion von jedem Client oder Endgerät aufgerufen werden kann ohne eine Authentifizierung anzufordern. Dies wird in den meisten Umgebungen nicht zugelassen, denn in der Regel stellen die Azure Funktioen Informationen dar oder führen interne Aufgaben aus, die Sie nicht für jeden im Internet freigeben wollen.
Was wird in diesem Artikel beschrieben?
In diesem Artikel beschreibe ich wie Sie die Authentifizierung in einer Azure Funktion aktivieren, so dass nur Ressourcen desselben Tenants sich anmelden können.
Azure Funktion
Nachdem Sie eine Azure Funktion erstellt haben, wechseln Sie in der Navigation der Funktion auf Authentication und fügen den Microsoft Identity Provider hinzu, wie im Bild dargestellt.
Ändern Sie anschließend die Art des Authentifizierungs-Request und wählen HTTP 401 aus.
Wenn Sie diesen Eintrag gespeichert haben, öffnen Sie über den “Edit” Knopf den Eintrag des Microsoft Identity Providers.
In dieser Ansicht wird die Application-ID angezeigt, die Sie später für die Authentifizierung benötigen, bitte speichern Sie diese für die Nutzung in einer Logic App ab.
Logic App Anmeldung an der Azure Funktion
Voraussetzung
Damit Sie diese Funktion nutzen können müssen Sie von einer Identity Ihres Tenants die Verbindung herstellen. Da Logic apps in der Regel nicht Standardmäßig für die Identity aktiviert sind, müssen Sie dies erst aktivieren. Hierzu öffnen Sie Ihre Logic app und öffnen Identity. Falls die Identity für diese Logic App noch nicht aktiviert wurde, aktivieren Sie dies und klicken anschließend auf Speichern.
Sie können nun in Ihrer Logic App im Designer, die Verbindung zur Azure Funktion über die Managed Identity herstellen. Wählen Sie hierfür lediglich die Option “Managed Identity” bei der Authentifizierung Ihres Steps aus und fügen die Application ID aus der Azure Funktion hier ein.
Wenn Sie die Logic app nun testen, werden Sie sehen, dass die Authentifizierung mit der Managed Identity unter Angabe der Application ID der Azure Funktion durchgeführt werden kann. Ein Aufruf der Azure Funktion Url im Browser ohne eine Authentifizierung hingegen, wird nicht mehr funktionieren.
Gut zu wissen…
Weiter oben in diesem Artikel fügen wir der Azure Funktion einen Identity Provider hinzu und in dieser Einstellung wird ebenfalls eine neue App Registrierung erstellt. Schaut man sich diese App Registrierung im Entra ID an und geht in die Zertifikate und Geheimnisse “Certificates and Secrets”, dann stellt man fest, das ein Secret mit einer Laufzeit von 10 Jahren soeben erstellt wurde.
Dieses Secret wird jedoch nicht verwendet und kann problemlos gelöscht werden.
Sollten Sie hierzu Fragen haben, so schreiben Sie es gerne in einen Kommentar.