Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
Az Azure Functions hatékony kiszolgáló nélküli infrastruktúrát biztosít, amellyel könnyedén fejleszthet méretezhető, igény szerinti HTTP-végpontokat. A JavaScript vagy a TypeScript használatával olyan kiszolgáló nélküli alkalmazásokat hozhat létre, amelyek különböző eseményekre reagálnak, így anélkül összpontosíthat a kódírásra, hogy a kiszolgálók kezelésével kellene foglalkoznia. Ez az útmutató segítséget nyújt a kiszolgáló nélküli Node.js-alkalmazások Azure Functions használatával történő fejlesztésének megkezdésében, és zökkenőmentesen integrálható más Azure-szolgáltatásokkal.
Mi az a függvényerőforrás?
Az Azure-függvényerőforrás egy logikai egység az összes kapcsolódó függvényhez egyetlen Azure-beli földrajzi helyen. Az erőforrás egyetlen függvényt vagy több függvényt tartalmazhat, amelyek függetlenek lehetnek egymástól, vagy kapcsolódhatnak bemeneti vagy kimeneti kötésekhez. Számos gyakori függvény közül választhat, vagy létrehozhatja sajátját.
A függvény erőforrás-beállításai közé tartoznak a tipikus kiszolgáló nélküli konfigurációk, beleértve a környezeti változókat, a hitelesítést, a naplózást és a CORS-t.
Tartós, állapotalapú függvények
A Durable Functions megőrzi az állapotot, vagy felügyeli a hosszú ideig futó függvényeket az Azure-ban. Hozza létre az első tartós függvényt a JavaScriptben.
A statikus webalkalmazások függvényeket tartalmaznak
Ha olyan statikus előtér-ügyfélalkalmazást fejleszt (például Angular, React vagy Vue), amely kiszolgáló nélküli API-kra is szükség van, használja statikus webalkalmazásokat függvényekkel, hogy mindkettőt összecsomagolják.
Proxy az ügyfélalkalmazásból az API-ba
Ha statikus webalkalmazással szeretné üzembe helyezni az API-t, nem kell proxyt használnia az ügyfélalkalmazás API-hívásaihoz. A proxy akkor jön létre, ha felügyelt alkalmazásként telepíti az Azure Functions alkalmazást.
Ha helyi fejlesztést használ statikus webalkalmazással és Azure Functions használatával, az Azure Static Web Apps CLI biztosítja a helyi proxyt.
Az Azure-függvényhez konfigurálni kívánt gyakori biztonsági beállítások
Az Alábbi gyakori beállításokat kell konfigurálni az Azure-függvény biztonságossá tételéhez:
-
Hitelesítés és engedélyezés:
- A hatékony hitelesítéshez használja a Microsoft Entra-azonosítót (korábban Azure Active Directory). Konfigurálja a függvényalkalmazást úgy, hogy OAuth2-jogkivonatokat igényeljen az éles számítási feladatokhoz.
- Kerülje a függvénykulcsok használatát a bizalmas alkalmazásokhoz. Ehelyett integráljon a Microsoft Entra-azonosítóval, vagy ellenőrizze a JWT-jogkivonatokat a függvénykódban.
- Felügyelt identitások használatával hitelesítheti a függvényalkalmazást más Azure-erőforrásokkal, biztosítva, hogy minden függvény csak a szükséges hozzáférést kapja.
-
Konfigurációs beállítások:
- Alkalmazásbeállítások – alkalmazásbeállítások létrehozása olyan beállításokhoz, amelyek nem befolyásolják a biztonságot.
- Titkos kódok és kulcsok – a biztonságot befolyásoló beállítások esetén használja ezt a rétegzett megközelítést:
- Először használja a Microsoft Entra-azonosítót a támogatott hitelesítéshez.
- Az Entra-azonosítót nem támogató integrációk esetén tárolja a titkos kulcsokat az Azure Key Vaultban , és kérje le ezeket a beállításokat a Key Vaultból.
- Soha ne ágyazza be a titkos kódokat kód- vagy konfigurációs fájlokba.
- További platformbiztonsági beállításokért tekintse meg az Azure Functions biztonságossá tételét.
-
Hálózati biztonság:
- CORS – konfigurálja a kliens domének beállításait. Ne használja
*az összes tartományt. - Virtuális hálózati integráció – privát végpontok vagy virtuális hálózati integráció használata a hálózati kitettség korlátozására és a megbízható forrásokból érkező bejövő forgalom korlátozására.
- CORS – konfigurálja a kliens domének beállításait. Ne használja
-
HTTPS és titkosítás:
- TLS/SSL-beállítás HTTPS-hez – alapértelmezés szerint az API HTTP- és HTTPS-kéréseket fogad el. Csak a TLS/SSL-beállításokban engedélyezze a HTTPS-t. Mivel a függvényalkalmazás biztonságos altartományon található, azonnal (a következővel
httpsegyütt) használhatja, és késleltetheti a tartománynév megvásárlását, és a tartományhoz tartozó tanúsítványt is használhatja, amíg el nem készül.
- TLS/SSL-beállítás HTTPS-hez – alapértelmezés szerint az API HTTP- és HTTPS-kéréseket fogad el. Csak a TLS/SSL-beállításokban engedélyezze a HTTPS-t. Mivel a függvényalkalmazás biztonságos altartományon található, azonnal (a következővel
-
Üzembe helyezés és figyelés:
- Üzembehelyezési pontok – hozzon létre egy üzembehelyezési pontot, például
stagevagypreflightküldjön le erre a pontra. Ha készen áll, cserélje le ezt a szakaszt az éles környezetbe. Nem szokás manuálisan leküldni az éles környezetbe. A kódbázisnak képesnek kell lennie arra, hogy jelezze az adott ponton található verziót vagy véglegesítést. - Engedélyezze az Application Insights használatát a valós idejű telemetria, riasztások és anomáliaérzékelés céljaira, hogy figyelje a függvényeket és a naplókat gyanús tevékenységek szempontjából.
- Üzembehelyezési pontok – hozzon létre egy üzembehelyezési pontot, például
Átfogó biztonsági útmutatásért tekintse meg az Azure Functions biztonságossá tételét ismertető témakört.
Az Azure Functions üzemeltetési lehetőségei
Az Azure Functionst a követelményektől függően különböző módokon üzemeltetheti:
Azure Functions-erőforrás-üzemeltetési csomagok
Azure Functions-erőforrás létrehozásakor az alábbi üzemeltetési csomagok közül választhat:
- Használati terv: Csak arra az időre kell fizetnie, amikor a függvények automatikus skálázással futnak.
- Rugalmas felhasználású csomag: Továbbfejlesztett vezérlést biztosít a mindig kész példányokkal a hidegindítások, a virtuális hálózati integráció és a konfigurálható példányméretek (512 MB-ról 4 GB-ra) csökkentése érdekében. Ez a csomag olyan új Linux-alapú számítási feladatokhoz ajánlott, amelyek nagyvállalati biztonsági és teljesítménybeli funkciókat igényelnek. Vegye figyelembe, hogy ez a csomag hasonlóan a fogyasztásalapú csomaghoz, végrehajtásalapú számlázást használ, azonban az olyan funkciók, mint a folyamatosan elérhető példányok, további költségeket vonnak maguk után.
- Prémium csomag: Fokozott teljesítményt biztosít az előre felmelegített példányokkal, a virtuális hálózati kapcsolattal és a hosszabb végrehajtási időtartamokkal.
- Dedikált (App Service-) csomag: Függvények futtatása dedikált virtuális gépeken a kiszámítható költségek és a futtatókörnyezet teljes felügyelete érdekében.
A megfelelő üzemeltetési csomag kiválasztásával kapcsolatos további információkért tekintse meg az Azure Functions üzemeltetési lehetőségeit.
Azure Container Apps-erőforrás
Másik lehetőségként üzembe helyezheti az Azure Functionst egy Azure Container Apps-erőforrásban tárolóalapú számítási feladatként. Ez a beállítás teljes körű felügyeletet biztosít a tárolókörnyezet felett, és ideális, ha egyéni függőségekre, hosszan futó folyamatokra van szüksége, vagy ha más tárolóalapú mikroszolgáltatásokkal szeretné kombinálni a függvényeket. További információt az Azure Functionst üzemeltető Azure Container Appsben talál.
Az Azure Functions fejlesztésének előfeltételei
- Node.js LTS – Használja a legújabb hosszú távú támogatási (LTS) verziót a legjobb kompatibilitási és biztonsági frissítésekhez az Azure Functions használatával.
- Azure Functions Core Tools – A helyi fejlesztéshez és hibakereséshez használja az aktuális főverziót.
Egyszerű JavaScript-függvény HTTP-kérésekhez
A függvény egy exportált aszinkron függvény, amely kérelem- és környezetinformációkat tartalmaz. Az Alábbi részleges képernyőkép az Azure Portalról a függvénykódot mutatja.
import { app, HttpRequest, HttpResponseInit, InvocationContext } from "@azure/functions";
export async function status(request: HttpRequest, context: InvocationContext): Promise<HttpResponseInit> {
context.log(`Http function processed request for url "${request.url}"`);
return {
status: 200,
jsonBody: {
env: process.env
}
};
};
app.http('status', {
route: "status",
methods: ['GET'],
authLevel: 'anonymous',
handler: status
});
Függvények helyi fejlesztése Visual Studio Code-tal és bővítményekkel
Hozza létre az első függvényt a Visual Studio Code használatával. A Visual Studio Code számos részletet leegyszerűsít az Azure Functions-bővítménnyel.
Ezzel a bővítménysel JavaScript- és TypeScript-függvényeket hozhat létre gyakori sablonokkal.
Integráció más Azure-szolgáltatásokkal
A kiszolgáló nélküli függvények eltávolítják a kiszolgáló konfigurációjának és felügyeletének nagy részét, így csak a szükséges kódra összpontosíthat.
- Low-code fejlesztési megoldások: Az Azure Functions használatával olyan függvényeket hozhat létre, amelyeket más Azure-szolgáltatások aktiválnak, vagy amelyeket triggerkötések használatával más Azure-szolgáltatásokba adhat ki. A v4 programozási modell az összes eseményindítót és kötést közvetlenül a kódban regisztrálja, így a konfiguráció típusa biztonságos és intuitív.
- Nagy kódszámú függvények: Az Azure SDK-k segítségével koordinálhatja és vezérelheti a többi Azure-szolgáltatást. Felügyelt identitások használatával biztonságosan hitelesítheti függvényeit más Azure-erőforrásokkal anélkül, hogy hitelesítő adatokat kellene kezelnie.