Share via


Een toepassing migreren voor het gebruik van verbindingen zonder wachtwoord met Azure Blob Storage

Toepassingsaanvragen voor Azure-services moeten worden geverifieerd met behulp van configuraties zoals toegangssleutels voor accounts of verbindingen zonder wachtwoord. U moet echter waar mogelijk prioriteit geven aan verbindingen zonder wachtwoord in uw toepassingen. Traditionele verificatiemethoden die gebruikmaken van wachtwoorden of geheime sleutels maken beveiligingsrisico's en complicaties. Ga naar de verbindingen zonder wachtwoord voor Azure Services Hub voor meer informatie over de voordelen van het verplaatsen naar verbindingen zonder wachtwoord.

In de volgende zelfstudie wordt uitgelegd hoe u een bestaande toepassing migreert om verbinding te maken met behulp van verbindingen zonder wachtwoord. Dezelfde migratiestappen moeten van toepassing zijn, ongeacht of u toegangssleutels, verbindingsreeks s of een andere benadering op basis van geheimen gebruikt.

Rollen en gebruikers configureren voor lokale ontwikkelingsverificatie

Zorg er bij het lokaal ontwikkelen voor dat het gebruikersaccount dat toegang heeft tot blobgegevens over de juiste machtigingen beschikt. U hebt Inzender voor Opslagblobgegevens nodig om blobgegevens te lezen en schrijven. Als u uzelf deze rol wilt toewijzen, moet u de rol Gebruikerstoegang Beheer istrator of een andere rol met de actie Microsoft.Authorization/roleAssignments/write toegewezen krijgen. U kunt Azure RBAC-rollen toewijzen aan een gebruiker met behulp van Azure Portal, Azure CLI of Azure PowerShell. Meer informatie over de beschikbare bereiken voor roltoewijzingen vindt u op de overzichtspagina van het bereik.

In dit scenario wijst u machtigingen toe aan uw gebruikersaccount, dat is afgestemd op het opslagaccount, om het principe van minimale bevoegdheden te volgen. Deze procedure biedt gebruikers alleen de minimale machtigingen die nodig zijn en maakt veiligere productieomgevingen.

In het volgende voorbeeld wordt de rol Inzender voor opslagblobgegevens toegewezen aan uw gebruikersaccount, dat zowel lees- als schrijftoegang biedt tot blobgegevens in uw opslagaccount.

Belangrijk

In de meeste gevallen duurt het een of twee minuten voordat de roltoewijzing is doorgegeven in Azure, maar in zeldzame gevallen kan het maximaal acht minuten duren. Als u verificatiefouten ontvangt wanneer u de code voor het eerst uitvoert, wacht u even en probeert u het opnieuw.

  1. Zoek uw opslagaccount in Azure Portal met behulp van de hoofdzoekbalk of linkernavigatiebalk.

  2. Selecteer op de overzichtspagina van het opslagaccount toegangsbeheer (IAM) in het menu aan de linkerkant.

  3. Selecteer op de pagina Toegangsbeheer (IAM) het tabblad Roltoewijzingen .

  4. Selecteer + Toevoegen in het bovenste menu en voeg vervolgens roltoewijzing toe in de resulterende vervolgkeuzelijst.

    A screenshot showing how to assign a role.

  5. Gebruik het zoekvak om de resultaten te filteren op de gewenste rol. Zoek in dit voorbeeld naar Inzender voor Opslagblobgegevens en selecteer het overeenkomende resultaat en kies vervolgens Volgende.

  6. Selecteer onder Toegang toewijzen de optie Gebruiker, groep of service-principal en kies vervolgens + Leden selecteren.

  7. Zoek in het dialoogvenster naar uw Microsoft Entra-gebruikersnaam (meestal uw user@domain e-mailadres) en kies Vervolgens onderaan het dialoogvenster Selecteren .

  8. Selecteer Beoordelen + toewijzen om naar de laatste pagina te gaan en vervolgens opnieuw beoordelen en toewijzen om het proces te voltooien.

Aanmelden en de app-code migreren om wachtwoordloze verbindingen te gebruiken

Zorg ervoor dat u voor lokale ontwikkeling bent geverifieerd met hetzelfde Microsoft Entra-account waaraan u de rol hebt toegewezen. U kunt zich verifiëren via populaire ontwikkelhulpprogramma's, zoals de Azure CLI of Azure PowerShell. De ontwikkelhulpprogramma's waarmee u zich kunt verifiëren, variëren per taal.

Meld u aan bij Azure via de Azure CLI met behulp van de volgende opdracht:

az login

Werk vervolgens uw code bij voor het gebruik van verbindingen zonder wachtwoord.

  1. Als u wilt gebruiken DefaultAzureCredential in een .NET-toepassing, installeert u het Azure.Identity pakket:

    dotnet add package Azure.Identity
    
  2. Voeg boven aan het bestand de volgende code toe:

    using Azure.Identity;
    
  3. Identificeer de locaties in uw code die een BlobServiceClient verbinding maken met Azure Blob Storage. Werk uw code bij zodat deze overeenkomt met het volgende voorbeeld:

    DefaultAzureCredential credential = new();
    
    BlobServiceClient blobServiceClient = new(
        new Uri($"https://{storageAccountName}.blob.core.windows.net"),
        credential);
    
  1. Zorg ervoor dat u de naam van het opslagaccount bijwerkt in de URI van uw BlobServiceClient. U vindt de naam van het opslagaccount op de overzichtspagina van Azure Portal.

    Screenshot showing how to find the storage account name.

De app lokaal uitvoeren

Nadat u deze codewijzigingen hebt aangebracht, voert u uw toepassing lokaal uit. De nieuwe configuratie moet uw lokale referenties ophalen, zoals de Azure CLI, Visual Studio of IntelliJ. Met de rollen die u hebt toegewezen aan uw lokale dev-gebruiker in Azure, kan uw app lokaal verbinding maken met de Azure-service.

De Azure-hostingomgeving configureren

Zodra uw toepassing is geconfigureerd voor het gebruik van verbindingen zonder wachtwoord en lokaal wordt uitgevoerd, kan dezelfde code worden geverifieerd bij Azure-services nadat deze is geïmplementeerd in Azure. In de volgende secties wordt uitgelegd hoe u een geïmplementeerde toepassing configureert om verbinding te maken met Azure Blob Storage met behulp van een beheerde identiteit.

De beheerde identiteit maken

U kunt een door de gebruiker toegewezen beheerde identiteit maken met behulp van Azure Portal of de Azure CLI. Uw toepassing gebruikt de identiteit om te verifiëren bij andere services.

  1. Zoek boven aan Azure Portal naar beheerde identiteiten. Selecteer het resultaat beheerde identiteiten .
  2. Selecteer + Maken boven aan de overzichtspagina beheerde identiteiten .
  3. Voer op het tabblad Basisinformatie de volgende waarden in:
    • Abonnement: Selecteer uw gewenste abonnement.
    • Resourcegroep: selecteer de gewenste resourcegroep.
    • Regio: Selecteer een regio in de buurt van uw locatie.
    • Naam: Voer een herkenbare naam in voor uw identiteit, zoals MigrationIdentity.
  4. Selecteer Controleren en maken onderaan de pagina.
  5. Wanneer de validatiecontroles zijn voltooid, selecteert u Maken. Azure maakt een nieuwe door de gebruiker toegewezen identiteit.

Nadat de resource is gemaakt, selecteert u Ga naar de resource om de details van de beheerde identiteit weer te geven.

A screenshot showing how to create a user assigned managed identity.

De beheerde identiteit koppelen aan uw web-app

U moet uw web-app configureren voor het gebruik van de beheerde identiteit die u hebt gemaakt. Wijs de identiteit toe aan uw app met behulp van Azure Portal of de Azure CLI.

Voer de volgende stappen uit in Azure Portal om een identiteit aan uw app te koppelen. Dezelfde stappen zijn van toepassing op de volgende Azure-services:

  • Azure Spring Apps
  • Azure Container Apps
  • Azure-VM's
  • Azure Kubernetes Service
  1. Navigeer naar de overzichtspagina van uw web-app.

  2. Selecteer Identiteit in het linkernavigatievenster.

  3. Schakel op de pagina Identiteit over naar het tabblad Door de gebruiker toegewezen .

  4. Selecteer + Toevoegen om de flyout Door de gebruiker toegewezen beheerde identiteit toevoegen te openen.

  5. Selecteer het abonnement dat u eerder hebt gebruikt om de identiteit te maken.

  6. Zoek op naam naar MigrationIdentity en selecteer deze in de zoekresultaten.

  7. Selecteer Toevoegen om de identiteit aan uw app te koppelen.

    Screenshot showing how to create a user assigned identity.

Rollen toewijzen aan de beheerde identiteit

Vervolgens moet u machtigingen verlenen aan de beheerde identiteit die u hebt gemaakt voor toegang tot uw opslagaccount. Verken machtigingen door een rol toe te wijzen aan de beheerde identiteit, net als bij uw lokale ontwikkelgebruiker.

  1. Navigeer naar de overzichtspagina van uw opslagaccount en selecteer Toegangsbeheer (IAM) in het linkernavigatievenster.

  2. Roltoewijzing toevoegen kiezen

    Screenshot showing how to add a role to a managed identity.

  3. Zoek in het zoekvak voor rollen naar Inzender voor opslagblobgegevens. Dit is een algemene rol die wordt gebruikt voor het beheren van gegevensbewerkingen voor blobs. U kunt elke rol toewijzen die geschikt is voor uw use-case. Selecteer de bijdrager voor opslagblobgegevens in de lijst en kies Volgende.

  4. Selecteer beheerde identiteit in het scherm Roltoewijzing toevoegen voor de optie Toegang toewijzen aan. Kies vervolgens +Leden selecteren.

  5. Zoek in de flyout naar de beheerde identiteit die u op naam hebt gemaakt en selecteer deze in de resultaten. Kies Selecteren om het flyoutmenu te sluiten.

    Screenshot showing how to select the assigned managed identity.

  6. Selecteer Volgende een paar keer totdat u Controleren en toewijzen kunt selecteren om de roltoewijzing te voltooien.

De toepassingscode bijwerken

U moet uw toepassingscode configureren om te zoeken naar de specifieke beheerde identiteit die u hebt gemaakt tijdens de implementatie in Azure. In sommige scenario's voorkomt het expliciet instellen van de beheerde identiteit voor de app dat andere omgevingsidentiteiten per ongeluk worden gedetecteerd en automatisch worden gebruikt.

  1. Kopieer op de overzichtspagina van de beheerde identiteit de waarde van de client-id naar het klembord.

  2. Pas de volgende taalspecifieke wijzigingen toe:

    Maak een DefaultAzureCredentialOptions object en geef het door aan DefaultAzureCredential. Stel de eigenschap ManagedIdentityClientId in op de client-id.

    DefaultAzureCredential credential = new(
        new DefaultAzureCredentialOptions
        {
            ManagedIdentityClientId = managedIdentityClientId
        });
    
  3. Implementeer uw code opnieuw in Azure nadat u deze wijziging hebt aangebracht om de configuratie-updates toe te passen.

De app testen

Nadat u de bijgewerkte code hebt geïmplementeerd, bladert u naar uw gehoste toepassing in de browser. Uw app moet verbinding kunnen maken met het opslagaccount. Houd er rekening mee dat het enkele minuten kan duren voordat de roltoewijzingen zijn doorgegeven via uw Azure-omgeving. Uw toepassing is nu geconfigureerd om zowel lokaal als in een productieomgeving uit te voeren zonder dat de ontwikkelaars geheimen in de toepassing zelf hoeven te beheren.

Volgende stappen

In deze zelfstudie hebt u geleerd hoe u een toepassing migreert naar verbindingen zonder wachtwoord.

U kunt de volgende bronnen lezen om de concepten die in dit artikel worden besproken, uitgebreider te verkennen: