Introduktion
Contoso Retail kører Azure Functions til at drive hændelsesdrevet ordrebehandling og synkronisering af lager. Disse er HTTP-udløste funktioner, som eksterne partnersystemer kalder direkte – udløst af indgående webhooks, når et køb bekræftes eller et aktieniveau ændres. En sikkerhedsgennemgang afslørede fire kontrolhuller, som ikke var blevet adresseret siden den første udrulning. Flere produktionsfunktioner accepterer uautentificerede anmodninger – enhver kalder med URL'en kan udløse dem. Cosmos DB-forbindelsesstrenge gemmes som klartekst-applikationsindstillinger, synlige for alle med læseadgang til App Service-konfigurationsskærmen. Der findes ingen indgående netværksbegrænsninger, så funktionsendepunkterne accepterer trafik fra hvor som helst på internettet. Deres Logic Apps-integrationsarbejdsgange udgør et fjerde hul: forbindelsesressourcer, der deles på tværs af flere apps, indeholder hardkodede legitimationsoplysninger, som ingen ejer, og ingen roterer.
Ingen af disse huller giver en øjeblikkelig fejl. En uautentificeret HTTP-trigger virker stadig. En klartekst-forbindelsesstreng bliver ved med at autentificere sig til databasen. Eksponeringen er tavs, indtil et legitimationsbevis bliver stjålet, en funktion misbruges, eller en undersøgelse af et brud afslører, at alle endpoints hele tiden har været åbne for internettet.
Serverløse arbejdsbelastninger kræver den samme tre-lags sikkerhedsmodel, som du anvender på enhver API-overflade. Det første lag styrer, hvem der kan påkalde funktionen—autentificering og autorisation. Det andet lag styrer, hvordan funktionen fungerer, når den foretager downstream-kald—managed identity. Det tredje lag styrer, hvad der kan nå funktionsendepunktet i første omgang – netværksisolering.
Dette modul fungerer gennem hvert lag for både Azure Functions og Azure Logic Apps. For Funktionsapps konfigurerer du Azure App Service Authentication med Microsoft Entra ID, tildeler en administreret identitet for at eliminere forbindelsesstrenge og anvender indgående IP-begrænsninger, private endepunkter, virtuel netværksintegration og Key Vault-referencer. For Logic-apps anvender du de samme administrerede identiteter og netværksmønstre, vælger den rigtige hostingplan baseret på netværkskravene og beskytter følsomme data, der er eksponeret gennem kørselshistorikken.
Ved slutningen af dette modul kan du konfigurere autentificering, managed identity og netværksisolering for Azure Function-apps og Logic-apps i en produktionssikkerhedsposition.
Læringsmål
Når du har fuldført dette modul, kan du:
- Konfigurer autentificerings- og autorisationskontroller for Azure Function-apps
- Implementér netværksadgangskontroller for Funktionsapps, herunder virtuel netværksintegration og private endepunkter
- Anvend managed identity, connector-sikkerhed og netværksisolering for Azure Logic-apps