Az Azure Functions biztonságossá tétele

A kiszolgáló nélküli függvények biztonságos fejlesztésének, üzembe helyezésének és üzemeltetésének tervezése sok szempontból megegyezik minden webalapú vagy felhőalapú alkalmazás esetében. Azure-alkalmazás szolgáltatás biztosítja a függvényalkalmazások üzemeltetési infrastruktúráját. Ez a cikk biztonsági stratégiákat tartalmaz a függvénykód futtatásához, és azt, hogy az App Service hogyan segítheti a függvények védelmét.

Az App Service platformösszetevői – beleértve az Azure-beli virtuális gépeket, a tárolást, a hálózati kapcsolatokat, a webes keretrendszereket, a felügyeleti és integrációs funkciókat – aktívan védve vannak és szigorú biztonsági védelemmel vannak ellátva. Az App Service folyamatosan szigorú megfelelőségi ellenőrzéseket végez, hogy meggyőződjön arról, hogy:

  • Az alkalmazás erőforrásait a többi ügyfél Azure-erőforrásai védik.
  • A virtuálisgép-példányok és a futtatókörnyezeti szoftverek rendszeresen frissülnek az újonnan felfedezett biztonsági rések kezelése érdekében.
  • A titkos kódok (például kapcsolati sztring) az alkalmazás és más Azure-erőforrások (például az SQL Database) közötti kommunikációja az Azure-ban marad, és nem lépi át a hálózati határokat. A titkos kulcsok mindig titkosítva vannak, ha tárolják őket.
  • Az App Service kapcsolati funkcióin, például a hibrid kapcsolaton keresztüli összes kommunikáció titkosítva van.
  • Csatlakozás távfelügyeleti eszközök, például az Azure PowerShell, az Azure CLI, az Azure SDK-k és a REST API-k mind titkosítva vannak.
  • A 24 órás fenyegetéskezelés védi az infrastruktúrát és a platformot a kártevők, az elosztott szolgáltatásmegtagadás (DDoS), a középen belüli (MITM) és egyéb fenyegetések ellen.

Az Azure-beli infrastruktúrával és platformbiztonságmal kapcsolatos további információkért tekintse meg az Azure Trust Centert.

A Microsoft felhőbiztonsági referenciamutatóját követő biztonsági javaslatokért tekintse meg az Azure Functions azure-beli biztonsági alapkonfigurációját.

Biztonságos művelet

Ez a szakasz ismerteti a függvényalkalmazás lehető legbiztonságosabb konfigurálását és futtatását.

Felhőhöz készült Defender

Felhőhöz készült Defender integrálható a függvényalkalmazással a portálon. Ingyenesen biztosítja a konfigurációval kapcsolatos biztonsági rések gyors értékelését. A dedikált csomagban futó függvényalkalmazások további költségekkel is használhatják Felhőhöz készült Defender továbbfejlesztett biztonsági funkcióit. További információ: A Azure-alkalmazás Szolgáltatás webalkalmazásainak és API-inak védelme.

Naplózás és monitorozás

A támadások észlelésének egyik módja a tevékenységfigyelés és a naplózási elemzés. A Függvények integrálhatók az Alkalmazás Elemzések a függvényalkalmazás napló-, teljesítmény- és hibaadatainak gyűjtéséhez. Az alkalmazás Elemzések automatikusan észleli a teljesítmény rendellenességeit, és hatékony elemzési eszközöket tartalmaz a problémák diagnosztizálásához és a függvények használatának megértéséhez. További információ: Az Azure Functions monitorozása.

A Functions az Azure Monitor-naplókkal is integrálható, így a könnyebb elemzés érdekében összevonhatja a függvényalkalmazás-naplókat a rendszereseményekkel. Diagnosztikai beállítások használatával konfigurálhatja a platformnaplók és a függvények metrikáinak streamelési exportálását a kívánt célhelyre, például egy Logs Analytics-munkaterületre. További információ: Az Azure Functions monitorozása az Azure Monitor-naplókkal.

A nagyvállalati szintű fenyegetésészleléshez és a válaszautomatizáláshoz streamelje naplóit és eseményeit egy Logs Analytics-munkaterületre. Ezután csatlakoztathatja a Microsoft Sentinelt ehhez a munkaterülethez. További információ: What is Microsoft Sentinel.

A megfigyelhetőséggel kapcsolatos további biztonsági javaslatokért tekintse meg az Azure Functions azure-beli biztonsági alapkonfigurációját.

HTTPS megkövetelése

Alapértelmezés szerint az ügyfelek HTTP vagy HTTPS használatával is csatlakozhatnak a függvényvégpontokhoz. A HTTP-t hTTP-kre kell átirányítani, mert a HTTPS az SSL/TLS protokoll használatával biztosít biztonságos kapcsolatot, amely titkosítva és hitelesítve is van. További információ: HTTPS kényszerítése.

Ha HTTPS-t igényel, a legújabb TLS-verziót is meg kell követelnie. Ennek módjáról a TLS-verziók kényszerítése című témakörben olvashat.

További információt a Biztonságos kapcsolatok (TLS) című témakörben talál.

Függvényelérési kulcsok

A Functions segítségével kulcsokkal megnehezítheti a HTTP-függvényvégpontok elérését a fejlesztés során. Ha egy HTTP-aktivált függvény HTTP-hozzáférési szintje nincs beállítva anonymous, a kéréseknek tartalmazniuk kell egy API-hozzáférési kulcsot a kérelemben.

Bár a kulcsok alapértelmezett biztonsági mechanizmust biztosítanak, érdemes lehet megfontolni a HTTP-végpontok éles környezetben történő biztonságossá tételének egyéb lehetőségeit. Például nem ajánlott nyilvános alkalmazásokban megosztani a megosztott titkos kódokat. Ha a függvény nyilvános ügyfélről van meghívva, érdemes megfontolnia egy másik biztonsági mechanizmus implementálását. További információ: HTTP-végpont biztonságossá tétele éles környezetben.

A függvénykulcs értékeinek megújításakor manuálisan újra kell terjesztenie a frissített kulcsértékeket az összes olyan ügyfélnek, amely meghívja a függvényt.

Engedélyezési hatókörök (függvényszintű)

A függvényszintű kulcsoknak két hozzáférési hatóköre van:

  • Függvény: Ezek a kulcsok csak azokra a függvényekre vonatkoznak, amelyek alatt definiálva vannak. API-kulcsként való használat esetén ezek csak a függvényhez való hozzáférést teszik lehetővé.

  • Gazdagép: A gazdagép hatókörével rendelkező kulcsok a függvényalkalmazás összes függvényének eléréséhez használhatók. API-kulcsként való használat esetén ezek lehetővé teszik a függvényalkalmazás bármely függvényéhez való hozzáférést.

Az egyes kulcsok neve hivatkozásként van elnevezve, és a függvény és a gazdagép szintjén van egy alapértelmezett kulcs (az "alapértelmezett" név). A függvénykulcsok elsőbbséget élveznek a gazdagépkulcsokkal szemben. Ha két kulcs azonos néven van definiálva, a függvénykulcsot mindig a rendszer használja.

Főkulcs (rendszergazdai szintű)

Minden függvényalkalmazáshoz tartozik egy rendszergazdai szintű gazdagépkulcs is _master. Amellett, hogy gazdagépszintű hozzáférést biztosít az alkalmazás összes függvényéhez, a főkulcs rendszergazdai hozzáférést is biztosít a futtatókörnyezeti REST API-khoz. Ez a kulcs nem vonható vissza. A hozzáférési szint adminbeállításakor a kéréseknek a főkulcsot kell használniuk; minden más kulcs hozzáférési hibát eredményez.

Figyelemfelhívás

A főkulcs által megadott függvényalkalmazás emelt szintű engedélyei miatt nem szabad megosztania ezt a kulcsot harmadik felekkel, és nem szabad natív ügyfélalkalmazásokban terjesztenie. A rendszergazdai hozzáférési szint kiválasztásakor körültekintően járjon el.

Rendszerkulcs

Bizonyos bővítményekhez rendszer által felügyelt kulcsra lehet szükség a webhookvégpontok eléréséhez. A rendszerkulcsok olyan bővítményspecifikus függvényvégpontokhoz lettek kialakítva, amelyeket belső összetevők hívnak meg. Az Event Grid-eseményindító például megköveteli, hogy az előfizetés rendszerkulcsot használjon az eseményindító végpontjának meghívásakor. A Durable Functions rendszerkulcsokkal is meghívja a Durable Task bővítmény API-kat.

A rendszerkulcsok hatókörét a bővítmény határozza meg, de általában a teljes függvényalkalmazásra vonatkozik. A rendszerkulcsok csak adott bővítményekkel hozhatók létre, és nem állíthatja be explicit módon az értékeiket. A többi kulcshoz hasonlóan a portálról vagy a kulcs API-kkal is létrehozhat egy új értéket a kulcshoz.

Kulcsok összehasonlítása

Az alábbi táblázat a különböző hozzáférési kulcsok felhasználási módjait hasonlítja össze:

Művelet Hatókör Érvényes kulcsok
Függvény végrehajtása Adott függvény Függvény
Függvény végrehajtása Bármely függvény Függvény vagy gazdagép
Rendszergazdai végpont meghívása Függvényalkalmazás Gazdagép (csak főkiszolgáló)
Durable Task Extension API-k meghívása Függvényalkalmazás1 2. rendszer
Bővítményspecifikus webhook meghívása (belső) Függvényalkalmazás1 2. rendszer

1A bővítmény által meghatározott hatókör.
2A bővítmények által megadott nevek.

A hozzáférési kulcsokkal kapcsolatos további információkért tekintse meg a HTTP-eseményindító kötéséről szóló cikket.

Titkos adattárak

A kulcsok alapértelmezés szerint egy Blob Storage-tárolóban vannak tárolva a AzureWebJobsStorage beállítás által megadott fiókban. Az AzureWebJobsSecretStorageType beállítással felülbírálhatja ezt a viselkedést, és más helyen tárolhatja a kulcsokat.

Hely Érték Leírás
Második tárfiók blob A kulcsokat egy másik tárfiók blobtárolójában tárolja az AzureWebJobsSecretStorageSas SAS URL-címe alapján.
Fájlrendszer files A kulcsok megmaradnak a fájlrendszerben, ami a Functions 1.x verziójának alapértelmezett értéke.
Azure Key Vault keyvault Az AzureWebJobsSecretStorageKeyVaultUri kulcstartója a kulcsok tárolására szolgál.
A Kubernetes titkos kódjai kubernetes Az AzureWebJobsKubernetesSecretName erőforráskészlete a kulcsok tárolására szolgál. Csak akkor támogatott, ha a Functions-futtatókörnyezetet a Kubernetesben futtatja. Az Azure Functions Core Tools automatikusan létrehozza az értékeket a Kubernetesben való üzembe helyezéskor.

A Key Vault kulcstárolóhoz való használatakor a szükséges alkalmazásbeállítások a felügyelt identitás típusától függenek. A Functions 3.x-es verziója csak a rendszer által hozzárendelt felügyelt identitásokat támogatja.

A beállítás neve Rendszer által hozzárendelt Felhasználó által hozzárendelt Alkalmazásregisztráció
AzureWebJobsSecretStorageKeyVaultUri
AzureWebJobsSecretStorageKeyVaultClientId X
AzureWebJobsSecretStorageKeyVaultClientSecret X X
AzureWebJobsSecretStorageKeyVaultTenantId X X

Hitelesítés/engedélyezés

Bár a függvénykulcsok némi megoldást nyújthatnak a nem kívánt hozzáférésre, a függvényvégpontok biztonságossá tételének egyetlen módja a függvényekhez hozzáférő ügyfelek pozitív hitelesítésének megvalósítása. Ezután identitás alapján hozhat engedélyezési döntéseket.

App Service-hitelesítés/engedélyezés engedélyezése

Az App Service platform lehetővé teszi a Microsoft Entra ID és több külső identitásszolgáltató használatát az ügyfelek hitelesítéséhez. Ezzel a stratégiával egyéni engedélyezési szabályokat implementálhat a függvényekhez, és használhatja a függvénykód felhasználói adatait. További információ: Hitelesítés és engedélyezés a Azure-alkalmazás szolgáltatásban és az ügyfélidentitások használata.

Kérelmek hitelesítése az Azure API Management (APIM) használatával

Az APIM számos API-biztonsági lehetőséget kínál a bejövő kérésekhez. További információ: API Management hitelesítési szabályzatok. Ha az APIM működik, konfigurálhatja a függvényalkalmazást úgy, hogy csak az APIM-példány IP-címéről fogadjon kérelmeket. További információ: IP-címkorlátozások.

Engedélyek

Mint minden alkalmazáshoz vagy szolgáltatáshoz, a cél a függvényalkalmazás futtatása a lehető legalacsonyabb engedélyekkel.

Felhasználói felügyeleti engedélyek

A Functions támogatja a beépített Azure szerepköralapú hozzáférés-vezérlést (Azure RBAC). A Functions által támogatott Azure-szerepkörök a Közreműködő, a Tulajdonos és az Olvasó.

Az engedélyek a függvényalkalmazás szintjén hatályosak. A közreműködői szerepkör szükséges a legtöbb függvényalkalmazás-szintű feladat végrehajtásához. A közreműködői szerepkörre és a Figyelési olvasó engedélyre is szüksége van ahhoz, hogy meg tudja tekinteni a naplóadatokat az Alkalmazás Elemzések. Csak a Tulajdonos szerepkör törölhet függvényalkalmazásokat.

Függvények rendszerezése jogosultságok szerint

Csatlakozás ion-sztringek és az alkalmazásbeállításokban tárolt egyéb hitelesítő adatok a függvényalkalmazás összes függvényét azonos engedélykészlettel ruházzák fel a társított erőforrásban. A hitelesítő adatokat nem használó függvények külön függvényalkalmazásba való áthelyezésével minimalizálhatja az adott hitelesítő adatokhoz való hozzáféréssel rendelkező függvények számát. A különböző függvényalkalmazásokban lévő függvények közötti adatátadáshoz mindig használhat olyan technikákat, mint a függvényláncolás .

Felügyelt identitások

A Microsoft Entra-azonosítóból származó felügyelt identitás lehetővé teszi az alkalmazás számára, hogy könnyen hozzáférjen más, Microsoft Entra által védett erőforrásokhoz, például az Azure Key Vaulthoz. Az identitás kezelését az Azure-platform végzi, és nem szükséges hozzá semmilyen titkos kulcs kiosztása vagy rotálása. A Microsoft Entra ID-ban található felügyelt identitásokról további információt az Azure-erőforrások felügyelt identitásai című témakörben talál.

Az alkalmazás számára kétféle identitástípust lehet megadni:

  • A rendszer által hozzárendelt identitás az alkalmazáshoz kötött, és adott esetben azzal együtt törlődik. Egy alkalmazás csak egy rendszer által hozzárendelt identitással rendelkezhet.
  • A felhasználó által hozzárendelt identitás különálló Azure-erőforrás, amely hozzárendelhető az alkalmazáshoz. Egy alkalmazás több felhasználó által hozzárendelt identitással is rendelkezhet.

A felügyelt identitások titkos kulcsok helyett használhatók egyes triggerekből és kötésekből származó kapcsolatokhoz. Lásd: Identitásalapú kapcsolatok.

További információ: Felügyelt identitások használata az App Service-ben és az Azure Functionsben.

CORS-hozzáférés korlátozása

A forrásközi erőforrás-megosztás (CORS) lehetővé teszi, hogy egy másik tartományban futó webalkalmazások kéréseket intézhessenek a HTTP-eseményindító végpontjaihoz. Az App Service beépített támogatást nyújt a szükséges CORS-fejlécek HTTP-kérelmekben való átadásához. A CORS-szabályok függvényalkalmazás szintjén vannak definiálva.

Bár csábító helyettesítő karaktert használni, amely lehetővé teszi az összes webhely számára a végpont elérését, ez nem teszi lehetővé a CORS használatát, amely segít megelőzni a helyek közötti szkriptelési támadásokat. Ehelyett adjon hozzá egy külön CORS-bejegyzést az egyes webalkalmazások tartományához, amelyeknek hozzá kell férniük a végponthoz.

Titkos kódok kezelése

A kód futtatásához a különböző szolgáltatásokhoz és erőforrásokhoz való csatlakozáshoz a függvényalkalmazásoknak hozzá kell tudniuk férni a titkos kódokhoz, például a kapcsolati sztring és a szolgáltatáskulcsokhoz. Ez a szakasz bemutatja, hogyan tárolhatja a függvényekhez szükséges titkos kulcsokat.

Soha ne tároljon titkos kódokat a függvénykódban.

Alkalmazásbeállítások

Alapértelmezés szerint a függvényalkalmazás által használt kapcsolati sztring és titkos kulcsokat, valamint a kötéseket alkalmazásbeállításokként tárolja. Ez elérhetővé teszi ezeket a hitelesítő adatokat a függvénykód és a függvény által használt különböző kötések számára is. Az alkalmazásbeállítás (kulcs) neve a tényleges érték lekérésére szolgál, ami a titkos kód.

Például minden függvényalkalmazáshoz szükség van egy társított tárfiókra, amelyet a futtatókörnyezet használ. Alapértelmezés szerint a tárfiókhoz való kapcsolat egy nevesített AzureWebJobsStoragealkalmazásbeállításban van tárolva.

Az alkalmazásbeállításokat és kapcsolati sztring titkosítva tárolja a rendszer az Azure-ban. A visszafejtésük csak az alkalmazás folyamatmemóriájába való injektálás előtt történik, amikor az alkalmazás elindul. A titkosítási kulcsok rendszeres elforgatása. Ha inkább a titkos kulcsok biztonságos tárolását szeretné kezelni, az alkalmazás beállításának inkább az Azure Key Vaultra kell hivatkoznia.

A beállításokat alapértelmezés szerint a local.settings.json fájlban is titkosíthatja, amikor függvényeket fejleszt a helyi számítógépen. További információ: A helyi beállítások fájljának titkosítása.

Key Vault-hivatkozások

Bár az alkalmazásbeállítások a legtöbb függvényhez elegendőek, előfordulhat, hogy ugyanazokat a titkos kulcsokat több szolgáltatásban is meg szeretné osztani. Ebben az esetben a titkos kódok redundáns tárolása több potenciális biztonsági rést eredményez. Biztonságosabb megközelítés egy központi titkos társzolgáltatás használata, és a titkos kódok helyett erre a szolgáltatásra mutató hivatkozások használata.

Az Azure Key Vault egy központosított titkos kulcskezelést biztosító szolgáltatás, amely teljes körűen szabályozza a hozzáférési szabályzatokat és a naplózási előzményeket. Key Vault-referenciát használhat egy kapcsolati sztring vagy kulcs helyén az alkalmazásbeállításokban. További információ: Key Vault-hivatkozások használata az App Service-hez és az Azure Functionshez.

Identitásalapú kapcsolatok

Az identitások titkos kódok helyett használhatók egyes erőforrásokhoz való csatlakozáshoz. Ez azzal az előnnyel jár, hogy nincs szükség titkos kódok kezelésére, és részletesebb hozzáférés-vezérlést és naplózást biztosít.

Amikor olyan kódot ír, amely létrehozza a Kapcsolatot a Microsoft Entra-hitelesítést támogató Azure-szolgáltatásokkal, választhat, hogy titkos kód vagy kapcsolati sztring helyett identitást használ. Mindkét kapcsolati módszer részleteit az egyes szolgáltatások dokumentációja tartalmazza.

Egyes Azure Functions-eseményindítók és kötéskiterjesztések identitásalapú kapcsolat használatával konfigurálhatók. Ma ez magában foglalja az Azure Blob és az Azure Queue bővítményeket. Ha tudni szeretné, hogyan konfigurálhatja ezeket a bővítményeket identitás használatára, olvassa el az Identitásalapú kapcsolatok használata az Azure Functionsben című témakört.

Használati kvóták beállítása

Érdemes lehet használati kvótát beállítani a használati tervben futó függvényekre. Ha napi GB-s korlátot állít be a függvényalkalmazásban lévő függvények teljes végrehajtására vonatkozóan, a végrehajtás leáll a korlát elérésekor. Ez segíthet enyhíteni a függvényeket végrehajtó rosszindulatú kódokat. A függvények fogyasztásának becsléséről a Használati terv költségeinek becslése című témakörben olvashat.

Adatellenőrzés engedélyezése

A függvények által használt triggerek és kötések nem biztosítanak további adatérvényesítést. A kódnak ellenőriznie kell az eseményindítótól vagy bemeneti kötéstől kapott adatokat. Ha egy felsőbb rétegbeli szolgáltatás sérül, nem szeretné, hogy a függvényeken áthaladó, páratlan bemenetek áramlanak. Ha például a függvény egy Azure Storage-üzenetsorból tárol adatokat egy relációs adatbázisban, ellenőriznie kell az adatokat, és paramétereznie kell a parancsokat az SQL-injektálási támadások elkerülése érdekében.

Ne feltételezze, hogy a függvénybe érkező adatokat már ellenőrizték vagy megtisztították. Azt is érdemes ellenőrizni, hogy a kimeneti kötésekre írt adatok érvényesek-e.

Hibakezelés

Bár alapszintűnek tűnik, fontos, hogy jó hibakezelést írjon a függvényekben. A nem kezelt hibák felborulnak a gazdagépre, és a futtatókörnyezet kezeli őket. A különböző kötések másképp kezelik a hibák feldolgozását. További információkért tekintse meg az Azure Functions hibakezelését.

Távoli hibakeresés letiltása

Győződjön meg arról, hogy a távoli hibakeresés le van tiltva, kivéve, ha aktívan hibakeresést végez a függvények között. A távoli hibakeresést a függvényalkalmazás konfigurációjának Általános Gépház lapján tilthatja le a portálon.

CORS-hozzáférés korlátozása

Az Azure Functions támogatja a forrásközi erőforrás-megosztást (CORS). A CORS a portálon és az Azure CLI-ben van konfigurálva. A CORS által engedélyezett forráslista a függvényalkalmazás szintjén érvényes. Ha a CORS engedélyezve van, a válaszok tartalmazzák a fejlécet Access-Control-Allow-Origin . További információ: Eltérő eredetű erőforrás-megosztás

Ne használjon helyettesítő karaktereket az engedélyezett forráslistában. Ehelyett sorolja fel azokat a tartományokat, amelyektől a kérések lekérésére számít.

Titkosított adatok tárolása

Az Azure Storage titkosítja egy inaktív tárfiók összes adatát. További információért lásd: Azure Storage titkosítás a nyugalmi adatokhoz.

Alapértelmezés szerint az adatok a Microsoft által felügyelt kulcsokkal lesznek titkosítva. A titkosítási kulcsok további szabályozásához megadhatja az ügyfél által felügyelt kulcsokat, amelyek a blob- és fájladatok titkosításához használhatók. Ezeknek a kulcsoknak jelen kell lenniük az Azure Key Vault for Functionsben ahhoz, hogy hozzáférhessenek a tárfiókhoz. További információ: Inaktív titkosítás ügyfél által felügyelt kulcsokkal.

A függvényalkalmazások gyakran további erőforrásoktól függnek, ezért az alkalmazás védelmének része ezeknek a külső erőforrásoknak a védelme. A legtöbb függvényalkalmazás legalább az Alkalmazás Elemzések és az Azure Storage függőségét tartalmazza. Az erőforrások biztonságossá tételével kapcsolatos útmutatásért tekintse meg az Azure Monitor azure-beli biztonsági alapkonfigurációját és a Storage Azure biztonsági alapkonfigurációját.

Fontos

A tárfiók fontos alkalmazásadatok tárolására szolgál, néha magában az alkalmazáskódban is. Korlátoznia kell a hozzáférést más alkalmazásoktól és felhasználóktól a tárfiókhoz.

Az alkalmazáslogika által használt erőforrástípusokra vonatkozó útmutatást is érdemes elolvasnia, mind eseményindítókként, mind kötésekként, valamint a függvénykódból.

Biztonságos üzembe helyezés

Az Azure Functions integrációs eszközei megkönnyítik a helyi függvényprojekt kódjának közzétételét az Azure-ban. Fontos megérteni, hogyan működik az üzembe helyezés az Azure Functions-topológia biztonságának figyelembe vételekor.

Üzembehelyezési hitelesítő adatok

Az App Service üzembe helyezéseihez üzembehelyezési hitelesítő adatokra van szükség. Ezek az üzembehelyezési hitelesítő adatok a függvényalkalmazás üzembe helyezésének védelmére szolgálnak. Az üzembehelyezési hitelesítő adatokat az App Service platform kezeli, és inaktív állapotban titkosítja.

Kétféle üzembehelyezési hitelesítő adat létezik:

  • Felhasználói szintű hitelesítő adatok: a teljes Azure-fiókhoz tartozó hitelesítő adatok egy készlete. Az App Service-ben bármely olyan alkalmazáshoz, bármely előfizetésben üzembe helyezhető, amelyhez az Azure-fiók hozzáféréssel rendelkezik. Ez az alapértelmezett készlet, amely a portál grafikus felhasználói felületén (például az alkalmazás erőforráslapjának Áttekintés és tulajdonságok) van felszínre. Ha egy felhasználó szerepköralapú hozzáférés-vezérléssel (RBAC) vagy coadmin engedélyekkel kap alkalmazáshozzáférést, a felhasználó a hozzáférés visszavonásáig használhatja saját felhasználói szintű hitelesítő adatait. Ezeket a hitelesítő adatokat ne ossza meg más Azure-felhasználókkal.

  • Alkalmazásszintű hitelesítő adatok: az egyes alkalmazásokhoz tartozó hitelesítő adatok egy készlete. Csak arra az alkalmazásra telepíthető. Az egyes alkalmazások hitelesítő adatai automatikusan jönnek létre az alkalmazás létrehozásakor. Manuálisan nem konfigurálhatók, de bármikor alaphelyzetbe állíthatók. Ahhoz, hogy a felhasználó hozzáférést kapjon az alkalmazásszintű hitelesítő adatokhoz az RBAC-n keresztül, az adott felhasználónak közreműködőnek vagy annál magasabb szintűnek kell lennie az alkalmazásban (beleértve a beépített webhely-közreműködői szerepkört is). Az olvasók nem tehetnek közzé, és nem férhetnek hozzá ezekhez a hitelesítő adatokhoz.

A Key Vault jelenleg nem támogatott az üzembehelyezési hitelesítő adatok esetében. Az üzembehelyezési hitelesítő adatok kezelésével kapcsolatos további információkért lásd: Üzembehelyezési hitelesítő adatok konfigurálása Azure-alkalmazás Szolgáltatáshoz.

FTP letiltása

Alapértelmezés szerint minden függvényalkalmazásban engedélyezve van egy FTP-végpont. Az FTP-végpont üzembehelyezési hitelesítő adatokkal érhető el.

Az FTP nem ajánlott a függvénykód üzembe helyezéséhez. Az FTP-telepítések manuálisak, és az eseményindítók szinkronizálását igénylik. További információkért tekintse meg az FTP üzembe helyezését.

Ha nem ftp-t szeretne használni, tiltsa le a portálon. Ha az FTP használata mellett dönt, az FTPS-t kell kikényszerítenie.

Az scm-végpont védelme

Minden függvényalkalmazás rendelkezik egy megfelelő scm szolgáltatásvégponttal, amelyet a Speciális eszközök (Kudu) szolgáltatás használ az üzemelő példányokhoz és más App Service-webhelykiterjesztésekhez. A függvényalkalmazás scm-végpontja mindig egy URL-cím az űrlapon https://<FUNCTION_APP_NAME.scm.azurewebsites.net>. Ha hálózatelkülönítést használ a függvények védelméhez, ezt a végpontot is figyelembe kell vennie.

Külön SCM-végponttal vezérelheti az elkülönített vagy virtuális hálózaton futó függvényalkalmazások üzembe helyezését és egyéb speciális eszközeit. Az scm-végpont támogatja az alapszintű hitelesítést (üzembehelyezési hitelesítő adatok használatával) és az egyszeri bejelentkezést az Azure Portal hitelesítő adataival. További információ: Hozzáférés a Kudu szolgáltatáshoz.

Folyamatos biztonsági ellenőrzés

Mivel a fejlesztési folyamat minden lépésénél figyelembe kell venni a biztonságot, érdemes biztonsági érvényesítéseket is implementálni egy folyamatos üzembe helyezési környezetben. Ezt néha DevSecOps-nak is nevezik. Az Azure DevOps üzembehelyezési folyamathoz való használatával integrálhatja az érvényesítést az üzembe helyezési folyamatba. További információkért lásd : Folyamatos biztonsági ellenőrzés hozzáadása a CI/CD-folyamathoz.

Hálózati biztonság

A függvényalkalmazás hálózati hozzáférésének korlátozásával szabályozhatja, hogy ki férhet hozzá a függvényvégpontokhoz. A Functions az App Service-infrastruktúrát használja annak érdekében, hogy a függvények internetes cím nélkül férhessenek hozzá az erőforrásokhoz, vagy hogy az internet-hozzáférést egy függvényvégpontra korlátozzák. Ezekről a hálózati lehetőségekről az Azure Functions hálózatkezelési lehetőségei című témakörben olvashat bővebben.

Hozzáférési korlátozások beállítása

A hozzáférési korlátozások lehetővé teszik az alkalmazás forgalmának szabályozására vonatkozó engedélyezési/megtagadási szabályok listáját. A szabályok kiértékelése prioritási sorrendben történik. Ha nincsenek meghatározva szabályok, akkor az alkalmazás bármilyen címről fogadja a forgalmat. További információ: Azure-alkalmazás szolgáltatáshozzáférés korlátozásai.

A tárfiók védelme

Függvényalkalmazás létrehozásakor létre kell hoznia egy általános célú Azure Storage-fiókot, amely támogatja a Blob, a Queue és a Table Storage szolgáltatást. Ezt a tárfiókot lecserélheti egy olyan fiókra, amely szolgáltatásvégpontokkal vagy privát végpontokkal van védve. További információért lásd: Tárfiók korlátozása virtuális hálózatra.

Hozzáférés személyes oldalakhoz

Az Azure privát végpont egy hálózati adapter, amely privát és biztonságos módon csatlakoztatja Önt egy Azure privát kapcsolat által működtetett szolgáltatáshoz. A privát végpont a virtuális hálózat egyik magánhálózati IP-címét használja, így hatékonyan bekapcsolja a szolgáltatást a virtuális hálózatba.

A Privát végpontot a Prémium és az App Service-csomagokban üzemeltetett függvényekhez használhatja.

Ha privát végpontokra szeretne hívásokat kezdeményezni, győződjön meg arról, hogy a DNS-keresések feloldódnak a privát végponton. Ezt a viselkedést az alábbi módok egyikével kényszerítheti ki:

  • Integrálható az Azure DNS privát zónáival. Ha a virtuális hálózat nem rendelkezik egyéni DNS-kiszolgálóval, ez automatikusan megtörténik.
  • Az alkalmazás által használt DNS-kiszolgáló privát végpontjának kezelése. Ehhez ismernie kell a privát végpont címét, majd egy A rekord használatával meg kell mutatnia a címet elérni kívánt végpontot.
  • Konfigurálja saját DNS-kiszolgálóját az Azure DNS privát zónáiba való továbbításhoz.

További információ: Privát végpontok használata a Web Appshez.

A függvényalkalmazás üzembe helyezése külön-külön

Azure-alkalmazás szolgáltatáskörnyezet (A Standard kiadás) dedikált üzemeltetési környezetet biztosít a függvények futtatásához. A Standard kiadás lehetővé teszi egyetlen előtér-átjáró konfigurálását, amellyel minden bejövő kérést hitelesíthet. További információ: Webalkalmazási tűzfal (WAF) konfigurálása az App Service-környezethez.

Átjárószolgáltatás használata

Az átjárószolgáltatások, például az Azure-alkalmazás Gateway és az Azure Front Door lehetővé teszik webalkalmazási tűzfal (WAF) beállítását. A WAF-szabályok az észlelt támadások monitorozására vagy blokkolására szolgálnak, amelyek további védelmi réteget biztosítanak a függvények számára. WAF beállításához a függvényalkalmazásnak A Standard kiadás vagy privát végpontok (előzetes verzió) használatával kell futnia. További információ: Privát végpontok használata.

Következő lépések