Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Note
Dit is niet de nieuwste versie van dit artikel. Zie de .NET 10-versie van dit artikel voor de huidige release.
Warning
Deze versie van ASP.NET Core wordt niet meer ondersteund. Zie de .NET- en .NET Core-ondersteuningsbeleidvoor meer informatie. Zie de .NET 10-versie van dit artikel voor de huidige release.
Apps die in Azure zijn geïmplementeerd en die te maken hebben met een wisselende hoge vraag, profiteren van schaalbaarheid om aan die vraag te voldoen. Schaalbare apps kunnen worden uitgeschaald om ervoor te zorgen dat de capaciteit tijdens pieken in de werkbelasting toeneemt en vervolgens automatisch omlaag worden geschaald wanneer de piek afneemt, wat de kosten kan verlagen. Bij horizontaal schalen (uitschalen) worden nieuwe instanties van een resource toegevoegd, zoals VM's of databasereplica's. In dit artikel wordt gedemonstreerd hoe u een horizontaal schaalbare ASP.NET Core-app implementeert in Azure-container-apps door de volgende taken uit te voeren:
- het voorbeeldproject instellen
- De app implementeren in Azure Container Apps
- Problemen met de app oplossen en schalen
- De Azure-services maken
- De Azure-services verbinden
- de app configureren en opnieuw implementeren
In dit artikel worden Razor-pagina's gebruikt, maar het meeste hiervan geldt ook voor andere ASP.NET Core-apps.
In sommige gevallen kunnen basis-ASP.NET Core-apps zonder speciale overwegingen worden geschaald. Voor apps die gebruikmaken van bepaalde frameworkfuncties of architectuurpatronen zijn echter extra configuraties vereist, waaronder de volgende:
Beveiligde formulierinzendingen: Razor Pagina's, MVC- en Web-API-apps zijn vaak afhankelijk van formulierinzendingen. Deze apps gebruiken standaard cross-site request forgery-tokens en interne gegevensbeveiligingsservices om de aanvragen te beveiligen. Wanneer deze apps worden geïmplementeerd in de cloud, moeten deze apps worden geconfigureerd voor het beheren van problemen met de gegevensbeveiligingsservice op een veilige, gecentraliseerde locatie.
SignalR circuits: Blazor Server-apps vereisen het gebruik van een gecentraliseerde Azure SignalR-service om veilig te kunnen schalen. Deze services maken ook gebruik van de eerder genoemde gegevensbeschermingsservices.
gecentraliseerde services voor caching of statusbeheer: schaalbare apps kunnen gebruikmaken van Azure Cache voor Redis om gedistribueerde caching te bieden. Azure Storage- is mogelijk nodig om de status op te slaan voor frameworks zoals Microsoft Orleans. Dit kan helpen bij het schrijven van apps die de status beheren in veel verschillende app-exemplaren.
De stappen in dit artikel laten zien hoe u de voorgaande problemen correct kunt oplossen door een schaalbare app te implementeren in Azure Container Apps. De meeste concepten in deze zelfstudie zijn ook van toepassing bij het schalen van Azure App Service exemplaren.
Het voorbeeldproject instellen
Gebruik de GitHub Explorer-voorbeeld-app om deze zelfstudie te volgen. Kloon de app vanuit GitHub met behulp van de volgende opdracht:
git clone "https://github.com/dotnet/AspNetCore.Docs.Samples.git"
Ga naar de map /tutorials/scalable-razor-apps/start en open de ScalableRazor.csproj.
De voorbeeld-app gebruikt een zoekformulier om op naam door GitHub-opslagplaatsen te bladeren. Het formulier is afhankelijk van de ingebouwde ASP.NET Core-gegevensbeschermingsservices om problemen met antivervalsing af te handelen. Wanneer de app horizontaal wordt geschaald in Container Apps, genereert de gegevensbeveiligingsservice standaard een uitzondering.
De app testen
- Start de app in Visual Studio. Het project bevat een Docker-bestand, wat betekent dat de pijl naast de knop Uitvoeren kan worden geselecteerd om de app te starten met behulp van een Docker Desktop-installatie of de standaard-ASP.NET Core lokale webserver.
Gebruik het zoekformulier om te bladeren naar GitHub-opslagplaatsen op naam.
De app implementeren in Azure Container Apps
Visual Studio wordt gebruikt om de app te implementeren in Azure Container Apps. Container-apps bieden een beheerde service die is ontworpen om het hosten van container-apps en microservices te vereenvoudigen.
Note
Veel van de resources die voor de app zijn gemaakt, vereisen een locatie. Voor deze app is locatie niet belangrijk. Een echte app moet een locatie selecteren die het dichtst bij de clients ligt. U kunt een locatie bij u in de buurt selecteren.
Klik in Visual Studio Solution Explorer met de rechtermuisknop op het projectknooppunt op het hoogste niveau en selecteer Publiceren.
Selecteer in het publicatiedialoogvenster Azure als het implementatiedoel en selecteer vervolgens Volgende.
Selecteer voor het specifieke doel Azure Container Apps (Linux)en selecteer vervolgens Volgende.
Maak een nieuwe container-app om in te implementeren. Selecteer het groene + pictogram om een nieuw dialoogvenster te openen en voer de volgende waarden in:
- container-appnaam: laat de standaardwaarde staan of voer een naam in.
- abonnementsnaam: selecteer het abonnement waarnaar u wilt implementeren.
- resourcegroep: selecteer nieuwe en maak een nieuwe resourcegroep met de naam msdocs-scalable-razor.
-
Container-appsomgeving: Selecteer Nieuwe om het dialoogvenster container-appsomgeving te openen en voer de volgende waarden in:
- omgevingsnaam: behoud de standaardwaarde.
- Locatie: Selecteer een locatie bij u in de buurt.
-
Azure Log Analytics-werkruimte: selecteer Nieuw om het dialoogvenster Log Analytics-werkruimte te openen.
- naam: laat de standaardwaarde staan.
- Locatie: selecteer een locatie bij u in de buurt en selecteer vervolgens OK- om het dialoogvenster te sluiten.
- Kies OK om het containerapps-omgevingsdialoogvenster te sluiten.
- Selecteer Maken om het dialoogvenster voor oorspronkelijke container-apps te sluiten. Visual Studio maakt de container-app-resource in Azure.
Zodra de resource is gemaakt, controleert u of deze is geselecteerd in de lijst met container-apps en selecteert u vervolgens Volgende.
Je moet een Azure Container Registry maken om het gepubliceerde image-artifact voor je app op te slaan. Selecteer het groene +-pictogram op het scherm containerregister.
Laat de standaardwaarden staan en selecteer vervolgens maken.
Nadat het containerregister is gemaakt, controleert u of het is geselecteerd en selecteert u vervolgens voltooien om de dialoogvensterwerkstroom te sluiten en een samenvatting van het publicatieprofiel weer te geven.
Als u in Visual Studio wordt gevraagd de beheerdersgebruiker toegang te geven tot de gepubliceerde Docker-container, selecteert u Ja.
Selecteer Publiceren in de rechterbovenhoek van het overzicht van het publicatieprofiel om de app in Azure te implementeren.
Wanneer de implementatie is voltooid, start Visual Studio de browser om de gehoste app weer te geven. Zoek naar Microsoft in het formulierveld en er wordt een lijst met opslagplaatsen weergegeven.
De app schalen en problemen oplossen
De app werkt momenteel zonder problemen, maar we willen de app op meer exemplaren schalen in afwachting van grote verkeersvolumes.
- Zoek in Azure Portal naar de
razorscaling-app-****container-app in de zoekbalk op het hoogste niveau en selecteer deze in de resultaten. - Selecteer op de overzichtspagina Schaal in het linkernavigatievenster en selecteer vervolgens + Bewerken enimplementeren.
- Ga op de pagina Revisies naar het tabblad Schaal.
- Stel zowel de minimale als het maximum aantal exemplaren in op 4 en selecteer vervolgens Maken. Deze configuratiewijziging garandeert dat uw app horizontaal wordt geschaald over vier exemplaren.
Ga terug naar de app. Wanneer de pagina wordt geladen, lijkt het erop dat alles correct werkt. Wanneer echter een zoekterm wordt ingevoerd en verzonden, kan er een fout optreden. Als er geen fout wordt weergegeven, dient u het formulier meerdere keren in.
Problemen met de fout oplossen
Het is niet onmiddellijk duidelijk waarom de zoekaanvragen mislukken. De browserhulpprogramma's geven aan dat er een 400 Bad Request-reactie is teruggestuurd. U kunt echter de logboekfuncties van container-apps gebruiken om fouten in uw omgeving vast te stellen.
Selecteer op de overzichtspagina van de container-app Logboeken in het linkernavigatievenster.
Sluit op de pagina Logboeken het pop-upvenster dat wordt geopend en navigeer naar het tabblad Tabellen.
Vouw het aangepaste logboeken-item uit om het ContainerAppConsoleLogs_CL-knooppunt weer te geven. Deze tabel bevat verschillende logboeken voor de container-app die kan worden opgevraagd om problemen op te lossen.
Stel in de queryeditor een eenvoudige query op om te zoeken in de ContainerAppConsoleLogs_CL Logboeken tabel voor recente uitzonderingen, zoals het volgende script:
ContainerAppConsoleLogs_CL | where Log_s contains "exception" | sort by TimeGenerated desc | limit 500 | project ContainerAppName_s, Log_sMet de voorgaande query wordt in de ContainerAppConsoleLogs_CL tabel gezocht naar rijen die de woord-uitzondering bevatten. De resultaten worden gerangschikt op basis van de gegenereerde tijd, beperkt tot 500 resultaten en bevatten alleen de ContainerAppName_s en Log_s kolommen om de resultaten gemakkelijker te lezen.
Selecteer uitvoeren. Er wordt een lijst met resultaten weergegeven. Lees de logboeken en houd er rekening mee dat de meeste gerelateerd zijn aan antivervalsingstokens en cryptografie.
Important
De fouten in de app worden veroorzaakt door de .NET-gegevensbeveiligingsservices. Wanneer meerdere exemplaren van de app worden uitgevoerd, is er geen garantie dat de HTTP POST-aanvraag om het formulier in te dienen wordt gerouteerd naar dezelfde container die de pagina in eerste instantie heeft geladen vanuit de HTTP GET-aanvraag. Als de aanvragen worden verwerkt door verschillende exemplaren, worden de antivervalsingstokens niet correct verwerkt en ontstaat er een uitzondering.
In de volgende stappen wordt dit probleem opgelost door de gegevensbeveiligingssleutels in een Azure-opslagservice te centraliseren en te beveiligen met Key Vault.
De Azure-services maken
Om de voorgaande fouten op te lossen, worden de volgende services gemaakt en verbonden met de app:
- Azure Storage-account: verwerkt het opslaan van gegevens voor de Data Protection Services. Biedt een centrale locatie voor het opslaan van sleutelgegevens naarmate de app groeit. Opslagaccounts kunnen ook worden gebruikt voor het opslaan van documenten, wachtrijgegevens, bestandsshares en vrijwel elk type blobgegevens.
- Azure KeyVault-: deze service slaat geheimen op voor een app en wordt gebruikt om versleutelingsproblemen voor de Data Protection Services te beheren.
De opslagaccountservice maken
- Voer in de zoekbalk van Azure Portal
Storage accountsin en selecteer het overeenkomende resultaat. - Selecteer op de vermeldingspagina van opslagaccounts +maken.
- Voer op het tabblad Basisinformatie de volgende waarden in:
- abonnement: selecteer hetzelfde abonnement dat u hebt gekozen voor de container-app.
- Resourcegroep: Selecteer de msdocs-scalable-razor Resourcegroep die u eerder hebt gemaakt.
- naam van het opslagaccount: geef het account een naam scalablerazorstorageXXXXXX waarbij de X willekeurige getallen van uw keuze zijn. Deze naam moet uniek zijn in heel Azure.
- regio: selecteer dezelfde regio die u eerder hebt geselecteerd.
- Laat de rest van de waarden op standaardwaarden staan en selecteer Review. Nadat Azure de invoer heeft gevalideerd, selecteert u Maken.
Azure richt het nieuwe opslagaccount in. Wanneer de taak is voltooid, kiest u Ga naar de resource om de nieuwe service weer te geven.
De opslagcontainer maken
Maak een container om de gegevensbeveiligingssleutels van de app op te slaan.
- Selecteer op de overzichtspagina voor het nieuwe opslagaccount Storage-browser in het linkernavigatievenster.
- Selecteer Blob-containers.
- Selecteer + Container toevoegen om het uitklapmenu Nieuwe container te openen.
- Voer een naam in van scalablerazorkeys, laat de rest van de instellingen op de standaard staan en selecteer vervolgens Maak.
De nieuwe containers worden weergegeven in de paginalijst.
Sleutelkluisservice maken
Maak een sleutelkluis voor het opslaan van de sleutels die de gegevens in de blobopslagcontainer beveiligen.
- Voer in de zoekbalk van Azure Portal
Key Vaultin en selecteer het overeenkomende resultaat. - Klik op de overzichtspagina van de sleutelkluis op "+maken".
- Voer op het tabblad Basisinformatie de volgende waarden in:
- abonnement: selecteer hetzelfde abonnement dat eerder is geselecteerd.
- Resourcegroep: Selecteer de msdocs-scalable-razor resourcegroep die u eerder hebt gemaakt.
- Key Vault-naam: voer de naam in scalablerazorvaultXXXX.
- regio: selecteer een regio in de buurt van uw locatie.
- Laat de rest van de instellingen op de standaardinstelling staan en selecteer vervolgens Controleren enmaken. Wacht totdat Azure uw instellingen valideert en selecteer vervolgens maken.
Azure richt de nieuwe sleutelkluis in. Wanneer de taak is voltooid, selecteert u Ga naar de resource om de nieuwe service weer te geven.
De sleutel maken
Maak een geheime sleutel om de gegevens in het blob-opslagaccount te beveiligen.
- Selecteer op de hoofdoverzichtspagina van de sleutelkluis Sleutels in het linkernavigatievenster.
- Selecteer op de pagina Een sleutel maken+ Genereren/importeren om het vervolgmenu Een sleutel maken te openen.
- Voer razorkey in het veld Naam in. Laat de rest van de instellingen op de standaardwaarden staan en selecteer vervolgens Aanmaken. Er wordt een nieuwe sleutel weergegeven op de pagina met de sleutellijst.
De Azure-services verbinden
De Container App vereist een beveiligde verbinding met het opslagaccount en de sleutelkluisservices om de fouten in de gegevensbeveiliging op te lossen en correct te schalen. De nieuwe services worden met elkaar verbonden met behulp van de volgende stappen:
Important
Toewijzingen van beveiligingsrollen via serviceconnector en andere hulpprogramma's duren doorgaans een of twee minuten om door te geven, en in sommige zeldzame gevallen kan het maximaal acht minuten duren.
Verbinding maken met het opslagaccount
- Navigeer in Azure Portal naar de overzichtspagina van de container-app.
- Selecteer in het linkernavigatievenster Service-connector
- Kies op de pagina Serviceconnector + maken om het flyoutdeelvenster Verbinding maken te openen en voer de volgende waarden in:
- Container: selecteer de container-app die u eerder hebt gemaakt.
- servicetype: kies Storage - blob.
- abonnement: selecteer het eerder gebruikte abonnement.
- verbindingsnaam: laat de standaardwaarde staan.
- opslagaccount: selecteer het opslagaccount dat u eerder hebt gemaakt.
- Clienttype: Selecteer .NET.
- Selecteer Volgende: Verificatie om door te gaan naar de volgende stap.
- Selecteer door het systeem toegewezen beheerde identiteit en kies Volgende: Netwerken.
- Laat de standaardnetwerkopties geselecteerd en selecteer vervolgens Controleren enmaken.
- Nadat Azure de instellingen heeft gevalideerd, selecteert u maken.
De serviceconnector maakt een door het systeem toegewezen beheerde identiteit in de container-app mogelijk. Er wordt ook een rol van Storage Blob Data Contributor aan de identiteit toegekend, zodat gegevensbewerkingen op de opslagcontainers kunnen worden uitgevoerd.
De sleutelkluis verbinden
- Navigeer in Azure Portal naar de overzichtspagina van uw Container App.
- Selecteer in de navigatie aan de linkerkant Service connector.
- Kies op de pagina Serviceconnector + maken om het flyoutdeelvenster Verbinding maken te openen en voer de volgende waarden in:
- Container: selecteer de container-app die u eerder hebt gemaakt.
- Service type: kies Key Vault.
- abonnement: selecteer het eerder gebruikte abonnement.
- verbindingsnaam: laat de standaardwaarde staan.
- Sleutelkluis: selecteer de sleutelkluis die u eerder hebt gemaakt.
- Clienttype: Selecteer .NET.
- Selecteer Volgende: Verificatie om door te gaan naar de volgende stap.
- Selecteer door het systeem toegewezen beheerde identiteit en kies Volgende: Netwerken.
- Laat de standaardnetwerkopties geselecteerd en selecteer vervolgens Controleren enmaken.
- Nadat Azure de instellingen heeft gevalideerd, selecteert u maken.
De serviceconnector wijst een rol toe aan de identiteit, zodat deze databewerkingen op de sleutels van de sleutelkluis kan uitvoeren.
De app configureren en opnieuw implementeren
De benodigde Azure-resources zijn gemaakt. In deze sectie is de app-code geconfigureerd voor het gebruik van de nieuwe resources.
Installeer de volgende NuGet-pakketten:
- Azure.Identity: biedt klassen om te werken met de Azure-services voor identiteits- en toegangsbeheer.
- Microsoft.Extensions.Azure: biedt nuttige extensiemethoden voor het uitvoeren van kernconfiguraties van Azure.
- Azure.Extensions.AspNetCore.DataProtection.Blobs: Hiermee kunt u ASP.NET Core DataProtection-sleutels opslaan in Azure Blob Storage, zodat sleutels kunnen worden gedeeld in verschillende exemplaren van een web-app.
- Azure.Extensions.AspNetCore.DataProtection.Keys: Hiermee kunt u sleutels in rust beveiligen met behulp van de azure Key Vault-functie Key Encryption/Wrapping.
dotnet add package Azure.Identity dotnet add package Microsoft.Extensions.Azure dotnet add package Azure.Extensions.AspNetCore.DataProtection.Blobs dotnet add package Azure.Extensions.AspNetCore.DataProtection.KeysWerk
Program.csbij met de volgende gemarkeerde code:using Azure.Identity; using Microsoft.AspNetCore.DataProtection; using Microsoft.Extensions.Azure; var builder = WebApplication.CreateBuilder(args); var BlobStorageUri = builder.Configuration["AzureURIs:BlobStorage"]; var KeyVaultURI = builder.Configuration["AzureURIs:KeyVault"]; builder.Services.AddRazorPages(); builder.Services.AddHttpClient(); builder.Services.AddServerSideBlazor(); builder.Services.AddAzureClientsCore(); builder.Services.AddDataProtection() .PersistKeysToAzureBlobStorage(new Uri(BlobStorageUri), new DefaultAzureCredential()) .ProtectKeysWithAzureKeyVault(new Uri(KeyVaultURI), new DefaultAzureCredential()); var app = builder.Build(); if (!app.Environment.IsDevelopment()) { app.UseExceptionHandler("/Error"); app.UseHsts(); } app.UseHttpsRedirection(); app.UseStaticFiles(); app.UseRouting(); app.UseAuthorization(); app.MapRazorPages(); app.Run();
Met de voorgaande wijzigingen kan de app gegevensbeveiliging beheren met behulp van een gecentraliseerde, schaalbare architectuur.
DefaultAzureCredential detecteert de configuraties van beheerde identiteiten die eerder zijn ingeschakeld wanneer de app opnieuw wordt geïmplementeerd.
Note
In het voorgaande voorbeeld wordt gebruikgemaakt DefaultAzureCredential van het vereenvoudigen van verificatie bij het ontwikkelen van apps die in Azure worden geïmplementeerd door referenties te combineren die worden gebruikt in Azure-hostingomgevingen met referenties die worden gebruikt in lokale ontwikkeling. Wanneer u naar productie gaat, is een alternatief zoals ManagedIdentityCredential mogelijk geschikter. Zie Azure-gehoste .NET-apps verifiëren bij Azure-resources met behulp van een door het systeem toegewezen beheerde identiteit voor meer informatie.
Werk de tijdelijke aanduidingen in AzureURIs sectie van het appsettings.json-bestand bij om het volgende op te nemen:
Vervang de tijdelijke aanduiding
<storage-account-name>door de naam van hetscalablerazorstorageXXXX-opslagaccount.Vervang de tijdelijke aanduiding
<container-name>door de naam van descalablerazorkeys-opslagcontainer.Vervang de tijdelijke aanduiding
<key-vault-name>door de naam van descalablerazorvaultXXXXsleutelkluis.Vervang in de sleutelkluis-URI de tijdelijke aanduiding
<key-name>door de naamrazorkeydie u eerder hebt gemaakt.{ "GitHubURL": "https://api.github.com", "Logging": { "LogLevel": { "Default": "Information", "Microsoft.AspNetCore": "Warning" } }, "AllowedHosts": "*", "AzureURIs": { "BlobStorage": "https://<storage-account-name>.blob.core.windows.net/<container-name>/keys.xml", "KeyVault": "https://<key-vault-name>.vault.azure.net/keys/<key-name>/" } }
De app opnieuw implementeren
De app is nu correct geconfigureerd voor het gebruik van de Azure-services die eerder zijn gemaakt. Implementeer de app opnieuw om de codewijzigingen toe te passen.
- Klik met de rechtermuisknop op het projectknooppunt in Solution Explorer en selecteer Publiceren.
- Selecteer in de overzichtsweergave van het publicatieprofiel de knop Publiceren in de rechterbovenhoek.
Visual Studio implementeert de app opnieuw in de container-appsomgeving die u eerder hebt gemaakt. Wanneer de processen zijn voltooid, opent de browser de startpagina van de app.
Test de app opnieuw door te zoeken naar Microsoft in het zoekveld. De pagina moet nu opnieuw worden geladen met de juiste resultaten telkens wanneer u verzendt.
Rollen configureren voor lokale ontwikkeling
De bestaande code en configuratie van de app kunnen ook lokaal worden uitgevoerd tijdens de ontwikkeling. De DefaultAzureCredential-klasse die eerder is geconfigureerd, kan lokale omgevingsreferenties ophalen om te verifiëren bij Azure Services. U moet uw eigen account dezelfde rollen toewijzen die zijn toegewezen aan de beheerde identiteit van uw app, zodat de verificatie werkt. Dit moet hetzelfde account zijn dat u gebruikt om u aan te melden bij Visual Studio of de Azure CLI.
Note
DefaultAzureCredential vereenvoudigt verificatie bij het ontwikkelen van apps die in Azure worden geïmplementeerd door referenties te combineren die worden gebruikt in Azure-hostingomgevingen met referenties die worden gebruikt in lokale ontwikkeling. Wanneer u overstapt op productie, is een alternatief een betere keuze, zoals ManagedIdentityCredential. Zie Azure-gehoste .NET-apps verifiëren bij Azure-resources met behulp van een door het systeem toegewezen beheerde identiteit voor meer informatie.
Aanmelden bij uw lokale ontwikkelomgeving
U moet aangemeld zijn bij de Azure CLI, Visual Studio of Azure PowerShell zodat uw referenties kunnen worden opgehaald door DefaultAzureCredential.
az login
Rollen toewijzen aan uw ontwikkelaarsaccount
- Navigeer in Azure Portal naar het
scalablerazor****opslagaccount dat u eerder hebt gemaakt. - Selecteer IAM- (Access Control) in het linkernavigatievenster.
- Kies + toevoegen en selecteer vervolgens roltoewijzing toevoegen in de vervolgkeuzelijst.
- Zoek op de pagina Roltoewijzing toevoegen naar
Storage blob data contributor, selecteer het overeenkomende resultaat en selecteer dan Volgende. - Zorg ervoor dat gebruiker, groep of service-principal is geselecteerd en selecteer dan + Selecteer leden.
- Zoek in de fly-out Selecteer leden naar uw eigen user@domain account en selecteer dit uit de resultaten.
- Kies Volgende en selecteer Beoordelen entoewijzen. Nadat Azure de instellingen heeft gevalideerd, selecteert u Beoordelen en opnieuw toewijzen.
Zoals eerder vermeld, kan het een à twee minuten duren voordat roltoewijzingsmachtigingen zijn verspreid, of in zeldzame gevallen maximaal acht minuten.
Herhaal de vorige stappen om een rol toe te wijzen aan uw account, zodat deze toegang heeft tot de sleutelkluisservice en het geheim.
- Navigeer in de Azure-portal naar de
razorscalingkeyssleutelkluis die u eerder hebt gemaakt. - Selecteer IAM- (Access Control) in het linkernavigatievenster.
- Kies + toevoegen en selecteer vervolgens roltoewijzing toevoegen in de vervolgkeuzelijst.
- Zoek op de pagina Roltoewijzing toevoegen naar
Key Vault Crypto Service Encryption User, selecteer het overeenkomende resultaat en selecteer dan Volgende. - Zorg ervoor dat gebruiker, groep of service-principal is geselecteerd en selecteer dan + Selecteer leden.
- Zoek in de fly-out Selecteer leden naar uw eigen user@domain account en selecteer dit uit de resultaten.
- Kies Volgende en selecteer Beoordelen entoewijzen. Nadat azure uw instellingen heeft gevalideerd, selecteert u Beoordelen en opnieuw toewijzen.
Mogelijk moet u opnieuw wachten totdat deze roltoewijzing is doorgegeven.
U kunt vervolgens terugkeren naar Visual Studio en de app lokaal uitvoeren. De code blijft werken zoals verwacht.
DefaultAzureCredential gebruikt uw bestaande referenties vanuit Visual Studio of de Azure CLI.
Note
DefaultAzureCredential vereenvoudigt verificatie bij het ontwikkelen van apps die in Azure worden geïmplementeerd door referenties te combineren die worden gebruikt in Azure-hostingomgevingen met referenties die worden gebruikt in lokale ontwikkeling. Wanneer u overstapt op productie, is een alternatief een betere keuze, zoals ManagedIdentityCredential. Zie Azure-gehoste .NET-apps verifiëren bij Azure-resources met behulp van een door het systeem toegewezen beheerde identiteit voor meer informatie.
Patronen voor bedrijfsweb-apps
Zie Enterprise-web-app-patronenvoor hulp bij het maken van een betrouwbare, veilige, uitvoerbare, testbare en schaalbare ASP.NET Core-app. Er is een volledige voorbeeldweb-app van productiekwaliteit beschikbaar waarmee de patronen worden geïmplementeerd.