App Servicen todentaminen ja verkko
Ottakaa verkkosovelluksessanne käyttöön sisäänrakennetut todentamispalveluntarjoajat (Entra ID, Google, GitHub) ja rajoittakaa saapuvaa liikennettä VNet Integrationin ja käyttörajoitusten avulla.
App Servicen todentaminen ja verkko on ilmainen Cloud & IT Cert Prep-oppitunti CoddyKitissä. Tämä on oppitunti 4/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Cloud & IT Cert Prep-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Cloud & IT Cert Prep-kurssilla on yhteensä 4 oppituntia.
Sisäänrakennettu todentaminen App Servicessä
Azure App Service sisältää todentamis- ja valtuutusmoduulin (josta käytetään joskus nimeä EasyAuth), joka käsittelee sisäänkirjautumisprosessit, tunnusten vahvistamisen ja istuntojen hallinnan ilman sovellukseen tehtäviä koodimuutoksia. Voit ottaa sen käyttöön suoraan Azure-portaalissa ja valita useista identiteetintarjoajista. Tämä sopii erinomaisesti todentamisen nopeaan lisäämiseen ohjelmointirajapintaan tai sisäiseen työkaluun ilman, että OAuth-prosesseja tarvitsee toteuttaa itse.
Tuetut identiteetintarjoajat
App Servicen todentaminen tukee suoraan useita identiteetintarjoajia: Microsoft Entra ID (yritysten ja organisaatioiden kirjautumisia varten), Google, Facebook, Twitter/X, GitHub sekä mitä tahansa OpenID Connect -yhteensopivaa palveluntarjoajaa. Rekisteröi sovelluksesi valitulle palveluntarjoajalle saadaksesi asiakastunnuksen ja salaisuuden ja määritä ne sitten App Servicessä. Voit ottaa useita palveluntarjoajia käyttöön samanaikaisesti, jolloin käyttäjät voivat valita kirjautumistapansa.
# Enable Microsoft Entra ID authentication via CLI
az webapp auth microsoft update \
--name MyUniqueWebApp \
--resource-group MyRG \
--client-id '<Entra-App-Client-ID>' \
--client-secret '<Client-Secret>' \
--issuer 'https://sts.windows.net/<TenantId>/'
# Set action when unauthenticated (redirect or 401)
az webapp auth update \
--name MyUniqueWebApp \
--resource-group MyRG \
--unauthenticated-client-action RedirectToLoginPageTunnussäilö ja käyttäjän claimien käyttäminen
Kun todentaminen on käytössä, App Service tallentaa vahvistetut tunnukset tunnussäilöön — jokaista käyttäjäistuntoa kohden olevaan pysyvään säilöön. Sovelluskoodisi voi käyttää todennetun käyttäjän claimeja EasyAuth-moduulin lisäämien erityisten HTTP-pyyntöotsakkeiden kautta: X-MS-CLIENT-PRINCIPAL-NAME (sähköposti/UPN), X-MS-CLIENT-PRINCIPAL-ID (objektitunnus) ja X-MS-TOKEN-AAD-ACCESS-TOKEN raakaa käyttöoikeustunnusta varten.
// Node.js: read user identity from EasyAuth headers
app.get('/profile', (req, res) => {
const userName = req.headers['x-ms-client-principal-name'];
const userId = req.headers['x-ms-client-principal-id'];
res.json({ name: userName, id: userId });
});
// Or decode the full claims JSON from the header
const principalHeader = req.headers['x-ms-client-principal'];
const claims = JSON.parse(Buffer.from(principalHeader, 'base64').toString());VNet-integraatio lähtevää liikennettä varten
VNet-integraation avulla App Service -sovellus voi tehdä lähteviä kutsuja Azure Virtual Networkin sisällä oleviin resursseihin, kuten näennäiskoneisiin, SQL-tietokantoihin ja sisäisiin ohjelmointirajapintoihin, ilman että resursseja tarvitsee altistaa julkiselle internetille. Sovellus saa näennäisen verkkoliitännän VNetin delegoidussa aliverkossa ja voi käyttää kaikkia resursseja, joihin VNetistä on yhteys, mukaan lukien VPN:n tai ExpressRouten kautta käytettävät paikalliset resurssit. VNet-integraatio on käytettävissä Standard-palvelutasosta alkaen.
# Enable VNet Integration
az webapp vnet-integration add \
--name MyUniqueWebApp \
--resource-group MyRG \
--vnet MyVNet \
--subnet AppServiceSubnet
# Route ALL traffic through the VNet (including internet)
az webapp config appsettings set \
--name MyUniqueWebApp \
--resource-group MyRG \
--settings WEBSITE_VNET_ROUTE_ALL=1Yksityiset päätepisteet saapuvaa liikennettä varten
Siinä missä VNet-integraatio käsittelee lähtevää liikennettä, yksityinen päätepiste käsittelee saapuvaa liikennettä — se tekee App Servicestä käytettävän vain VNetin sisältä yksityisen IP-osoitteen kautta. Ulkoinen internet-yhteys osoitteeseen azurewebsites.net estetään, kun yksityinen päätepiste on ainoa käyttötapa. Tätä käytetään sisäisissä ohjelmointirajapinnoissa ja hallintaportaaleissa, joita ei pidä koskaan altistaa julkiselle internetille.
# Create a private endpoint for the web app
az network private-endpoint create \
--name MyWebAppPE \
--resource-group MyRG \
--vnet-name MyVNet \
--subnet PrivateEndpointSubnet \
--private-connection-resource-id \
'/subscriptions/.../providers/Microsoft.Web/sites/MyUniqueWebApp' \
--group-id sites \
--connection-name MyWebAppConnectionKäyttörajoitukset
App Servicen käyttörajoitusten avulla voit määrittää saapuvalle liikenteelle IP-osoitteiden sallittujen tai estettyjen osoitteiden luettelon. Säännöt arvioidaan tärkeysjärjestyksessä (pienempi numero = suurempi tärkeys). Voit rajoittaa käytön tiettyihin IP-osoitealueisiin (esimerkiksi toimistosi VPN:n ulospäin näkyvään IP-osoitteeseen), Azure-palvelutunnisteisiin (esimerkiksi AzureLoadBalancer) tai tiettyihin VNet-aliverkkoihin. Käytä käyttörajoituksia lukitaksesi testiympäristösi käyttöönottopaikan niin, että vain tiimisi IP-osoitealueelta voi muodostaa siihen yhteyden.
# Allow only a specific IP range
az webapp config access-restriction add \
--name MyUniqueWebApp \
--resource-group MyRG \
--priority 100 \
--action Allow \
--ip-address 203.0.113.0/24 \
--rule-name 'OfficeRange'
# Allow Azure Front Door service tag
az webapp config access-restriction add \
--name MyUniqueWebApp \
--resource-group MyRG \
--priority 200 \
--action Allow \
--service-tag AzureFrontDoor.Backend \
--rule-name 'FrontDoor'Hybrid Connections
Hybrid Connections (BizTalkista) mahdollistaa App Servicen yhteyden paikallisiin resursseihin ilman VNet-integraatiota tai VPN-yhdyskäytävää. Paikalliseen ympäristöön asennettu kevyt välitysagentti muodostaa lähtevän yhteyden Azure Service Busiin, ja sovelluksesi muodostaa yhteyden välityksen kautta. Hybrid Connections toimii TCP-tasolla ja tukee kaikkia portteja — se soveltuu esimerkiksi vanhoihin paikallisiin tietokantoihin tai ohjelmointirajapintoihin yhdistämiseen, kun niitä ei voida siirtää Azureen.
# Add a Hybrid Connection to reach on-prem SQL
az webapp hybrid-connection add \
--name MyUniqueWebApp \
--resource-group MyRG \
--namespace myServiceBusNS \
--hybrid-connection on-prem-sql-relay
# The Hybrid Connection Manager agent must be installed
# and configured on the on-premises server to complete the relayHallittu identiteetti App Servicelle
Määritä App Service -sovelluksellesi hallittu identiteetti, jotta se voi todentautua muihin Azure-palveluihin (Key Vault, Blob Storage, SQL Database) ilman tunnistetietojen tallentamista mihinkään. Azure hallitsee identiteetin tunnistetietoja automaattisesti. Käytä järjestelmän määrittämää identiteettiä (sidottu sovelluksen elinkaareen) tai käyttäjän määrittämää identiteettiä (jaettu useiden sovellusten kesken). Myönnä identiteetille RBAC-roolit kohderesursseissa.
# Enable system-assigned managed identity
az webapp identity assign \
--name MyUniqueWebApp \
--resource-group MyRG
# Grant the identity access to Key Vault secrets
az keyvault set-policy \
--name MyKeyVault \
--object-id $(az webapp identity show \
--name MyUniqueWebApp \
--resource-group MyRG \
--query principalId -o tsv) \
--secret-permissions get listCORSin käyttöönotto
Cross-Origin Resource Sharing (CORS) hallitsee, mitkä toimialueet voivat tehdä selaimesta käsin ohjelmointirajapintakutsuja App Service -sovellukseesi. Määritä sallitut alkuperät CORS-asetuksissa — älä palauta tuotannossa yleismerkkiä (*) todennusta käyttävissä ohjelmointirajapinnoissa. App Servicen sisäänrakennettu CORS-tuki lisää Access-Control-Allow-Origin-vastausotsakkeet automaattisesti, joten yksinkertaisissa tapauksissa sovelluskoodiin ei tarvita CORS-väliohjelmistoa.
# Allow specific origin
az webapp cors add \
--name MyUniqueWebApp \
--resource-group MyRG \
--allowed-origins https://www.contoso.com
# View current CORS settings
az webapp cors show \
--name MyUniqueWebApp \
--resource-group MyRG
# Remove a CORS origin
az webapp cors remove \
--name MyUniqueWebApp \
--resource-group MyRG \
--allowed-origins https://old.contoso.comApp Service Environments (ASE)
App Service Environment (ASE) on täysin eristetty ja omistettu App Servicen käyttöönotto, joka toimii omassa VNetissäsi. Se tarjoaa parhaan verkkotason eristyksen, skaalautuvuuden (enintään 200 instanssia) ja vaatimustenmukaisuuden. ASE v3 poistaa erillisen julkisen IP-osoitteen tarpeen ja tukee yksityisiä päätepisteitä suoraan. Haittapuolena ovat huomattavasti suuremmat kustannukset — ASE on tarkoitettu yritysten työkuormille, joilla on tiukat eristysvaatimukset.
Tietoturvan parhaiden käytäntöjen yhteenveto
Varmista App Service -käyttöönoton tietoturva seuraavasti: pakota käyttöön vain HTTPS, rajoita saapuvia IP-osoitteita käyttörajoituksilla, ota hallittu identiteetti käyttöön määrityksiin tallennettavien salaisuuksien välttämiseksi, tallenna salaisuudet Key Vaultiin Key Vault -viittauksia käyttäen, käytä TLS-versiota 1.2 vähimmäisversiona, ota uhkien tunnistamista varten käyttöön Defender for App Service ja tarkista säännöllisesti sovellusresurssia koskevat Azure Security Centerin suositukset.
# Enforce HTTPS and minimum TLS version
az webapp update \
--name MyUniqueWebApp \
--resource-group MyRG \
--https-only true
az webapp config set \
--name MyUniqueWebApp \
--resource-group MyRG \
--min-tls-version '1.2' \
--ftps-state DisabledPikatarkistus
Testaa tämän oppitunnin Microsoft Azure Fundamentals (AZ-900) -käsitteiden ymmärtämistäsi.
Oppitunnin yhteenveto
Tässä oppitunnissa opit, että sisäänrakennettu todentaminen (EasyAuth) lisää identiteetintarjoajan kirjautumisen ilman koodimuutoksia, VNet-integraatio reitittää lähtevän liikenteen virtuaaliverkon kautta, kun taas yksityiset päätepisteet rajoittavat saapuvan liikenteen, ja hallittu identiteetti mahdollistaa salasanattoman todentautumisen muihin Azure-palveluihin. Seuraavaksi tutustumme Azure Container Registryyn.
Opi Cloud & IT Cert Prep tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 150
- Oppitunnit
- 600
Usein kysytyt kysymykset
Onko oppitunti ”App Servicen todentaminen ja verkko” ilmainen?
Kyllä – oppitunnin ”App Servicen todentaminen ja verkko” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Cloud & IT Cert Prep-kurssin, päivitä CoddyKit PROhon. Cloud & IT Cert Prep-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”App Servicen todentaminen ja verkko”?
Ottakaa verkkosovelluksessanne käyttöön sisäänrakennetut todentamispalveluntarjoajat (Entra ID, Google, GitHub) ja rajoittakaa saapuvaa liikennettä VNet Integrationin ja käyttörajoitusten avulla. Harjoittelet Cloud & IT Cert Prep-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Cloud & IT Cert Prep-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Cloud & IT Cert Prep-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 4/4.
Kuinka kauan ”App Servicen todentaminen ja verkko”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Cloud & IT Cert Prep-oppitunnilla?
Kyllä. Jokainen Cloud & IT Cert Prep-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- App Service -suunnitelman ja verkkosovelluksen luominen
- Käyttöönoton paikat ja vaihto
- Automaattinen skaalaus ja mukautetut toimialueet
- App Servicen todentaminen ja verkko