Azure Functions-App – Azure Defender-Konformität

Azure Functions-App – Azure Defender-Konformität

Azure Defender auf Azure verfügt über zwei Richtlinien für die Azure-Funktionsauthentifizierung, die ich von anderen Azure-Ressourcen, die HTTP-Aufrufe unterstützen, nicht implementieren kann.

  • Funktions-Apps sollten Clientzertifikate (eingehende Clientzertifikate) aktiviert haben.
  • Für Funktions-Apps muss die Authentifizierung aktiviert sein

Wenn ich in Azure Datafactory die Authentifizierung als systemverwaltete Identität wähle und versuche, ein Zertifikat an die Header weiterzugeben, wird dies von Microsoft nicht unterstützt (wie sie mir in einem Supportticket sagten: „In sehr seltenen Fällen können Sie sich gleichzeitig mit zwei verschiedenen Authentifizierungstypen authentifizieren, die MSI-Authentifizierung sollte ausreichen.“)

Systemgesteuerte Identitätsauthentifizierung

Hat jemand erfolgreich Clientzertifikate und Authentifizierung für eine Funktions-App aktiviert und den Client authentifiziert? Können Sie die Konfiguration auf der Clientseite für eine Logik-App oder Datafactory freigeben?

Antwort1

Es wäre einfacher, Ihre Frage zu beantworten, wenn Sie mehr Details zu Ihrem Anwendungsfall angeben könnten. Trotzdem werde ich versuchen, sie mit meinen Annahmen zu beantworten. (in Fettschrift)

Verwenden einer Webaktivität in Azure Data Factory zum Aufrufen einer Azure-Funktion.

Leider können Sie die Authentifizierungsmethoden „Systemseitig zugewiesene verwaltete Identität“ und „Clientzertifikat“ nicht gleichzeitig in der Webaktivität verwenden.

Wenn Sie beide Methoden gleichzeitig verwenden möchten, dann

  1. Sie müssen die Authentifizierung für verwaltete Identitäten in der Webaktivität aktivieren und
  2. Übergeben Sie das Zertifikat in einem benutzerdefinierten Header und validieren Sie es im Code der Azure-Funktion.

Bitte beachten Sie, dass die Übergabe des Zertifikats in einem benutzerdefinierten Header nichts mit den integrierten Azure-Funktionen zu tun hat.Client-Zertifikatmodus. Sie sollten den Client-Zertifikatmodus eingeschaltet lassenIgnorierenStatus unter den allgemeinen Einstellungen der Azure-Funktion. In diesem Fall leitet der Front-End-Load Balancer der Azure-Funktion die Header transparent an den Clientcode weiter.

Bereitstellung von zwei unabhängigen Methoden zur Authentifizierung bei Azure Function

Wenn Sie der Azure-Funktion erlauben möchten, die beiden Methoden unabhängig voneinander für ihre Clients bereitzustellen, sollten Sie dieerlaubenOption unter den Einstellungen für den Client-Zertifikatmodus in der Azure-Funktion. In diesem Fall werden die Clients vom Frontend-Load Balancer zunächst nach einem Zertifikat gefragt. Wenn kein Zertifikat bereitgestellt wird, leitet der Load Balancer die Anforderung an die Easy-Auth-Middleware weiter, um den Anrufer zu authentifizieren. Nicht authentifizierte Anforderungen werden von der Middleware blockiert.

Mit dieser Fallback-Methode können Sie zwei Authentifizierungsmethoden unabhängig voneinander bereitstellen. Bitte lassen Sie mich wissen, ob meine Annahmen richtig sind oder ob Sie weitere Details benötigen, wie Sie die Komponenten konfigurieren müssen, um die vorgeschlagenen Lösungen umzusetzen.

verwandte Informationen