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.
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:
- Gebruik een ontwikkelaarsaccount met een van de ontwikkelhulpprogramma's die worden ondersteund door de Azure Identity-bibliotheek.
- Gebruik een service principal.
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
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 toepassingsservice-principals maken voor gebruik tijdens lokale ontwikkeling, waarmee u de toegang kunt beperken tot alleen wat de app nodig heeft.
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.
Navigeer naar de overzichtspagina van Microsoft Entra ID in Azure Portal.
Selecteer Alle groepen in het menu aan de linkerkant.
Selecteer Nieuwe groep op de pagina Groepen.
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.
Selecteer de koppeling Geen leden geselecteerd onder Leden om leden toe te voegen aan de groep.
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.
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.
Navigeer in Azure Portal naar de overzichtspagina van de resourcegroep die uw app bevat.
Selecteer Toegangsbeheer (IAM) in de linkernavigatie.
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.
Gebruik op het tabblad Rol het zoekvak om de rol te vinden die u wilt toewijzen. Selecteer de rol en kies Volgende.
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 .
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
Meld u vervolgens aan bij Azure met behulp van een van de verschillende ontwikkelhulpprogramma's die kunnen worden gebruikt om verificatie uit te voeren in uw ontwikkelomgeving. Het account dat u verifieert, moet ook aanwezig zijn in de Microsoft Entra-groep die u eerder hebt gemaakt en geconfigureerd.
Ontwikkelaars kunnen Azure CLI gebruiken om te verifiëren. Apps die gebruikmaken van DefaultAzureCredential of AzureCLICredential kunnen dit account vervolgens gebruiken om app-aanvragen te verifiëren.
Voer de az login opdracht uit om te verifiëren met de Azure CLI. Op een systeem met een standaardwebbrowser start de Azure CLI de browser om de gebruiker te verifiëren.
az login
Voor systemen zonder een standaardwebbrowser gebruikt de opdracht az login de verificatiestroom voor apparaatcode. De gebruiker kan de Azure CLI ook dwingen om de apparaatcodestroom te gebruiken in plaats van een browser te starten door het argument --use-device-code op te geven.
az login --use-device-code
Verifiëren bij Azure-services vanuit uw app
Het azidentity-pakket biedt verschillende referenties die zijn aangepast aan de ondersteuning van verschillende scenario's en Microsoft Entra-verificatiestromen. In de volgende stappen ziet u hoe u DefaultAzureCredential gebruikt wanneer u lokaal en in productie met service-principals werkt.
De code implementeren
Als u Azure SDK-clientobjecten wilt verifiëren bij Azure, moet uw toepassing de DefaultAzureCredential-klasse gebruiken. In dit scenario controleert DefaultAzureCredential opeenvolgend of de ontwikkelaar zich heeft aangemeld bij Azure met behulp van de Azure CLI of Azure Developer CLI. Als de ontwikkelaar is aangemeld bij Azure met behulp van een van deze hulpprogramma's, zal de app de inloggegevens die bij het hulpprogramma worden gebruikt, inzetten om zich bij Azure te verifiëren.
Voeg eerst het azidentity-pakket toe aan uw toepassing.
go get github.com/Azure/azure-sdk-for-go/sdk/azidentity
Voor elke Go-code waarmee een Azure SDK-clientobject in uw app wordt gemaakt, wilt u het volgende doen:
- Importeer het
azidentity-pakket. - Maak een instantie van het type
DefaultAzureCredential. - Geef het exemplaar van type
DefaultAzureCredentialdoor aan de constructor van de Azure SDK-client.
Een voorbeeld van deze stappen wordt weergegeven in het volgende codesegment.
import (
"context"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/storage/azblob"
)
const (
account = "https://<replace_with_your_storage_account_name>.blob.core.windows.net/"
containerName = "sample-container"
blobName = "sample-blob"
sampleFile = "path/to/sample/file"
)
func main() {
// create a credential
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
// TODO: handle error
}
// create a client for the specified storage account
client, err := azblob.NewClient(account, cred, nil)
if err != nil {
// TODO: handle error
}
// TODO: perform some action with the azblob Client
// _, err = client.DownloadFile(context.TODO(), <containerName>, <blobName>, <target_file>, <DownloadFileOptions>)
}