2017-02-16 4 views
2

Derzeit sind meine Funktionen öffentlich zugänglich. Gibt es eine Möglichkeit, es so zu machen, dass sie nur über etwas anderes wie ein API-Gateway und nicht direkt zugänglich sind? Ich habe versucht, ein VNET über das "Netzwerk" Blade hinzuzufügen, aber ich denke nicht, dass das irgendetwas getan hat (ich könnte die Funktionen immer noch öffentlich aufrufen) ... Ich denke, das macht es einfach so, dass die Funktionen auf Ressourcen in einem privaten Netzwerk zugreifen können. Ich habe in den Einstellungen keine Optionen gesehen, um die IP privat zu machen. Ich bin nicht sehr versiert in Networking-Themen, also Entschuldigung, wenn ich unklar bin.Machen Sie Azure-Funktionen nicht öffentlich zugänglich?

+0

Ich hätte App Service Environment dafür verwendet, aber Function App scheint (noch) nicht in der "Available App Types" -Auswahl verfügbar –

+0

@KaiWalter Leider Funktionen ist nicht in dieser Benutzeroberfläche aufgeführt, aber Sie müssen nur ein tun Erstellen Sie auf der obersten Ebene und wählen Sie "App Service Plan" als Hosting-Option für die Function App. –

+0

Siehe auch ... http://stackoverflow.com/questions/43241431/azure-functions-can-you-use-web-config-restrictions-eg-ip-restriction-or-bas – SteveC

Antwort

2

Die built-in keys support soll dafür eine Option bieten. Sie können verlangen, dass alle Anforderungen einen API-Schlüssel enthalten, der nur für Ressourcen freigegeben ist, die Ihnen wichtig sind. In der Tat erfordern alle HTTP-ausgelösten Funktionen standardmäßig einen Schlüssel. Sie müssten diese Anforderung explizit entfernen.

Schlüssel sind jedoch keine Netzwerklösung, und wenn Sie die Schlüssel verlieren, kann jemand auf Ihre APIs zugreifen (bis Sie die Schlüssel rollen). Sie haben Recht, dass die VNet-Unterstützung Point-to-Site ist, dh sie kann auf Ressourcen zugreifen, aber die Funktions-App ist nicht selbst geschützt. Eine App-Service-Umgebung würde das lösen, obwohl Kai's Kommentar zu der ursprünglichen Frage richtig ist - ASE ist noch nicht für Funktionen verfügbar.

Zusätzlich zu Schlüsseln können Sie unter Verwendung von App Service Authentication/Authorization einen AAD-Dienstprinzipal anfordern. Dies ist effektiv wie ein Schlüssel, hat aber zusätzliche Vorteile, wenn Sie andere Entitäten in AAD modellieren. Solange du nicht weißt, dass du das brauchst, bleibe ich bei Schlüsseln.

2

Mit der CORS-Funktion können Sie den Zugriff auf Ihre Azure-Funktion einschränken. Um dies zu konfigurieren, überprüfen Sie den folgenden Link: Azure Function Settings, in der CORS-Sektion.

+0

Funktioniert das nicht nur für JavaScript in einem Browser? – SteveC

Verwandte Themen