Delen via


Python-apps verifiëren bij Azure-services tijdens lokale ontwikkeling met behulp van ontwikkelaarsaccounts

Tijdens lokale ontwikkeling moeten toepassingen worden geverifieerd bij Azure om verschillende Azure-services te kunnen gebruiken. Verifieer lokaal met behulp van een van deze methoden:

In dit artikel wordt uitgelegd hoe u verifieert met behulp van een ontwikkelaarsaccount met hulpprogramma's die worden ondersteund door de Azure Identity-bibliotheek. In de volgende secties leert u het volgende:

  • Microsoft Entra-groepen gebruiken om machtigingen voor meerdere ontwikkelaarsaccounts efficiënt te beheren.
  • Rollen toewijzen aan ontwikkelaarsaccounts voor bereikmachtigingen.
  • Aanmelden bij ondersteunde lokale ontwikkelhulpprogramma's.
  • Verifiëren met behulp van een ontwikkelaarsaccount vanuit uw app-code.

Ondersteunde ontwikkelhulpprogramma's voor verificatie

Voor een app die tijdens lokale ontwikkeling bij Azure kan worden geverifieerd met behulp van de Azure-referenties van de ontwikkelaar, moet de ontwikkelaar zijn aangemeld bij Azure vanuit een van de volgende ontwikkelhulpprogramma's:

  • Azure-opdrachtregelinterface (CLI)
  • Azure-ontwikkelaars-CLI
  • Azure PowerShell
  • Visual Studio Code

De Azure Identity-bibliotheek kan detecteren dat de ontwikkelaar is aangemeld vanuit een van deze hulpprogramma's. De bibliotheek kan vervolgens het Microsoft Entra-toegangstoken verkrijgen via het hulpprogramma om de app te verifiëren bij Azure als de aangemelde gebruiker.

Deze benadering maakt gebruik van de bestaande Azure-accounts van de ontwikkelaar om het verificatieproces te stroomlijnen. Het account van een ontwikkelaar heeft echter waarschijnlijk meer machtigingen dan vereist is voor de app, waardoor de machtigingen van de app in productie worden overschreden. Als alternatief kunt u service-principals voor toepassingen maken voor gebruik tijdens de lokale ontwikkeling, waarbij u deze zo kunt instellen dat ze alleen de toegang hebben die nodig is voor de app.

Een Microsoft Entra-groep maken voor lokale ontwikkeling

Maak een Microsoft Entra-groep om de rollen (machtigingen) die de app nodig heeft in lokale ontwikkeling in te kapselen in plaats van de rollen toe te wijzen aan afzonderlijke service-principal-objecten. Deze aanpak biedt de volgende voordelen:

  • Elke ontwikkelaar heeft dezelfde rollen toegewezen op groepsniveau.
  • Als er een nieuwe rol nodig is voor de app, hoeft deze alleen aan de groep voor de app te worden toegevoegd.
  • Als een nieuwe ontwikkelaar lid wordt van het team, wordt er een nieuwe toepassingsservice-principal gemaakt voor de ontwikkelaar en toegevoegd aan de groep, zodat de ontwikkelaar over de juiste machtigingen beschikt om aan de app te werken.
  1. Navigeer naar de overzichtspagina van Microsoft Entra ID in Azure Portal.

  2. Selecteer Alle groepen in het menu aan de linkerkant.

  3. Selecteer Nieuwe groep op de pagina Groepen.

  4. Vul op de pagina Nieuwe groep de volgende formuliervelden in:

    • groepstype: selecteer Security.
    • Groepsnaam: Voer een naam in voor de groep die een verwijzing naar de app- of omgevingsnaam bevat.
    • Groepsbeschrijving: Voer een beschrijving in waarmee het doel van de groep wordt uitgelegd.

    Een schermopname die laat zien hoe u een groep maakt in Azure Portal.

  5. Selecteer de koppeling Geen leden geselecteerd onder Leden om leden toe te voegen aan de groep.

  6. Zoek in het uitklapvenster dat wordt geopend naar de service-principal die u eerder hebt gemaakt en selecteer deze uit de gefilterde resultaten. Kies de knop Selecteren onderaan het deelvenster om uw selectie te bevestigen.

  7. Selecteer Maken onder aan de pagina Nieuwe groep om de groep te maken en terug te keren naar de pagina Alle groepen . Als de nieuwe groep niet wordt weergegeven, wacht u even en vernieuwt u de pagina.

Rollen toewijzen aan de groep

Bepaal vervolgens welke rollen (machtigingen) uw app nodig heeft voor welke resources en wijs deze rollen toe aan de Microsoft Entra-groep die u hebt gemaakt. Aan groepen kan een rol worden toegewezen op het niveau van de bron, bron-groep of abonnement. In dit voorbeeld ziet u hoe u rollen toewijst binnen het bereik van de resourcegroep, omdat de meeste apps al hun Azure-resources groeperen in één resourcegroep.

  1. Navigeer in Azure Portal naar de overzichtspagina van de resourcegroep die uw app bevat.

  2. Selecteer Toegangsbeheer (IAM) in de linkernavigatie.

  3. Selecteer + Toevoegen en kies vervolgens roltoewijzing toevoegen in de vervolgkeuzelijst op de pagina Toegangsbeheer (IAM). De pagina Roltoewijzing toevoegen bevat verschillende tabbladen voor het configureren en toewijzen van rollen.

  4. Gebruik op het tabblad Rol het zoekvak om de rol te vinden die u wilt toewijzen. Selecteer de rol en kies Volgende.

  5. Op het tabblad Leden :

    • Voor de waarde 'toegang toewijzen aan' selecteert u gebruiker, gebruikersgroep of service-principal.
    • Voor de waarde Leden kiest u + Leden selecteren om het flyoutdeelvenster Leden selecteren te openen.
    • Zoek naar de Microsoft Entra-groep die u eerder hebt gemaakt en selecteer deze in de gefilterde resultaten. Kies Selecteren om de groep te selecteren en het uitklapdeelvenster te sluiten.
    • Selecteer Beoordelen en toewijzen onderaan het tabblad Leden .

    Een schermopname die laat zien hoe u een rol toewijst aan de Microsoft Entra-groep.

  6. Selecteer op het tabblad Controleren en toewijzen de optie Controleren en toewijzen onderaan de pagina.

Aanmelden bij Azure met behulp van hulpprogramma's voor ontwikkelaars

Kies een van de volgende methoden om te verifiëren met uw Azure-account:

Ontwikkelaars die Visual Studio Code gebruiken, kunnen zich rechtstreeks verifiëren met hun ontwikkelaarsaccount via de editor via de broker. Apps die gebruikmaken van DefaultAzureCredential of VisualStudioCodeCredential kunnen dit account vervolgens gebruiken om app-aanvragen te verifiëren via een naadloze ervaring voor eenmalige aanmelding.

  1. Ga in Visual Studio Code naar het deelvenster Extensies en installeer de Azure Resources-extensie . Met deze extensie kunt u Azure-resources rechtstreeks vanuit Visual Studio Code bekijken en beheren. Er wordt ook gebruikgemaakt van de ingebouwde Microsoft-verificatieprovider van Visual Studio Code voor verificatie met Azure.

    Schermopname van de Azure Resources-extensie.

  2. Open het opdrachtenpalet in Visual Studio Code en zoek en selecteer Azure: Aanmelden.

    Schermopname die laat zien hoe u zich aanmeldt bij Azure in Visual Studio Code.

    Aanbeveling

    Open het commando palet met Ctrl+Shift+P op Windows/Linux of Cmd+Shift+P op macOS.

  3. Voeg het azure-identity-broker Python-pakket toe aan uw app:

    pip install azure-identity-broker
    

Verifiëren bij Azure-services vanuit uw app

De Azure Identity-bibliotheek biedt implementaties van TokenCredential die ondersteuning bieden voor verschillende scenario's en Microsoft Entra-verificatiestromen. In de volgende stappen ziet u hoe u DefaultAzureCredential of een specifieke referentie voor het ontwikkelhulpprogramma gebruikt wanneer u lokaal met gebruikersaccounts werkt.

De code implementeren

  1. Voeg het azure-identity-pakket toe aan uw toepassing:

    pip install azure-identity
    

    Opmerking

    Bij het gebruik van VisualStudioCodeCredential moet u ook het azure-identity-broker-pakket installeren.

    pip install azure-identity-broker
    

    Voeg de benodigde import instructies toe voor de azure.identity module en de Azure-serviceclientmodule die uw app nodig heeft.

  2. Kies een van de referentie-implementaties op basis van uw scenario.

Een referentie gebruiken die specifiek is voor uw ontwikkelhulpprogramma

Geef een TokenCredential exemplaar dat correspondeert met een specifieke ontwikkeltool door aan de constructor van de Azure-serviceclient, zoals AzureCliCredential.

from azure.identity import AzureCliCredential
from azure.storage.blob import BlobServiceClient

credential = AzureCliCredential()

blob_service_client = BlobServiceClient(
   account_url="https://<account-name>.blob.core.windows.net",
   credential=credential)

Een referentie gebruiken die beschikbaar is voor gebruik in elk ontwikkelhulpprogramma

Gebruik een DefaultAzureCredential exemplaar dat is geoptimaliseerd voor alle lokale ontwikkelhulpprogramma's. Voor dit voorbeeld is de omgevingsvariabele AZURE_TOKEN_CREDENTIALS vereist die is ingesteld op dev. Zie Een categorie referentietype uitsluiten voor meer informatie.

from azure.identity import DefaultAzureCredential
from azure.storage.blob import BlobServiceClient

credential = DefaultAzureCredential(require_envvar=True)

blob_service_client = BlobServiceClient(
   account_url="https://<account-name>.blob.core.windows.net",
   credential=credential)

Aanbeveling

Wanneer uw team meerdere ontwikkelhulpprogramma's gebruikt om te verifiëren met Azure, geeft u de voorkeur aan DefaultAzureCredential boven hulpprogrammaspecifieke referenties.