Azure-verificatie in Java-ontwikkelomgevingen

Dit artikel bevat een overzicht van de ondersteuning van de Azure Identity-bibliotheek voor Verificatie met Microsoft Entra-token. Deze ondersteuning maakt verificatie mogelijk voor toepassingen die lokaal worden uitgevoerd op ontwikkelcomputers via een set TokenCredential implementaties.

In dit artikel worden de volgende onderwerpen behandeld:

Zie Problemen met de verificatie van ontwikkelomgevingen oplossen voor het oplossen van problemen met de verificatie van de ontwikkelomgeving.

Referentie voor apparaatcode

Met de referentie voor apparaatcode wordt een gebruiker interactief geverifieerd op apparaten met een beperkte gebruikersinterface. Het werkt door de gebruiker te vragen een aanmeldings-URL op een browsercomputer te bezoeken wanneer de toepassing probeert te verifiëren. De gebruiker voert vervolgens de apparaatcode in die wordt vermeld in de instructies, samen met de aanmeldingsreferenties. Na een geslaagde verificatie wordt de toepassing die verificatie heeft aangevraagd, geverifieerd op het apparaat waarop deze wordt uitgevoerd.

Zie Microsoft Identity Platform en de stroom voor het verlenen van OAuth 2.0-apparaatautorisatie voor meer informatie.

Toepassingen inschakelen voor apparaatcodestroom

Voer de volgende stappen uit om een gebruiker te verifiëren via de apparaatcodestroom:

  1. Ga naar Microsoft Entra-id in Azure Portal en zoek uw app-registratie.
  2. Navigeer naar de sectie Verificatie .
  3. Controleer onder Voorgestelde omgeleide URI's de URI die eindigt op /common/oauth2/nativeclient.
  4. Selecteer onder Standaardclienttype ja voor de toepassing Behandelen als een openbare client.

Met deze stappen kan de toepassing worden geverifieerd, maar u bent nog steeds niet gemachtigd om u aan te melden bij Microsoft Entra-id of om namens u toegang te krijgen tot resources. Als u dit probleem wilt oplossen, gaat u naar API-machtigingen en schakelt u Microsoft Graph en de resources in die u wilt openen.

U moet ook de beheerder van uw tenant zijn om toestemming te verlenen aan uw toepassing wanneer u zich voor de eerste keer aanmeldt.

Als u de optie voor de apparaatcodestroom niet kunt configureren op uw Microsoft Entra-id, moet uw app mogelijk meerdere tenants hebben. Als u van uw app meerdere tenants wilt maken, gaat u naar het deelvenster Verificatie en selecteert u Vervolgens Accounts in een organisatiemap. Selecteer vervolgens Ja voor de toepassing Behandelen als openbare client.

Een gebruikersaccount verifiëren met apparaatcodestroom

In het volgende voorbeeld ziet u hoe u de SecretClient verificatie vanuit de clientbibliotheek azure-security-keyvault-secrets gebruikt op DeviceCodeCredential een IoT-apparaat.

DeviceCodeCredential deviceCodeCredential = new DeviceCodeCredentialBuilder()
  .challengeConsumer(challenge -> {
    // lets user know of the challenge
    System.out.println(challenge.getMessage());
  }).build();

// Azure SDK client builders accept the credential as a parameter
SecretClient client = new SecretClientBuilder()
  .vaultUrl("https://<your Key Vault name>.vault.azure.net")
  .credential(deviceCodeCredential)
  .buildClient();

Interactieve browserreferenties

Deze referentie verifieert interactief een gebruiker met de standaardsysteembrowser en biedt een soepele verificatie-ervaring door u uw eigen referenties te laten gebruiken om uw toepassing te verifiëren.

Toepassingen inschakelen voor een interactieve OAuth 2-stroom

Als u wilt gebruiken InteractiveBrowserCredential, moet u een toepassing registreren in Microsoft Entra ID met machtigingen om u namens een gebruiker aan te melden. Volg de eerdere stappen voor de apparaatcodestroom om uw toepassing te registreren. Zoals eerder vermeld, moet een beheerder van uw tenant toestemming verlenen aan uw toepassing voordat een gebruikersaccount zich kan aanmelden.

U ziet mogelijk dat in InteractiveBrowserCredentialBuilder, een omleidings-URL is vereist. Voeg de omleidings-URL toe aan de subsectie Omleidings-URI's onder de sectie Verificatie van uw geregistreerde Microsoft Entra-toepassing.

Een gebruikersaccount interactief verifiëren in de browser

In het volgende voorbeeld ziet u hoe u de SecretClientclientbibliotheek azure-security-keyvault-secrets kunt verifiëren met behulp van de InteractiveBrowserCredential.

InteractiveBrowserCredential interactiveBrowserCredential = new InteractiveBrowserCredentialBuilder()
  .clientId("<your client ID>")
  .redirectUrl("http://localhost:8765")
  .build();

// Azure SDK client builders accept the credential as a parameter
SecretClient client = new SecretClientBuilder()
  .vaultUrl("https://<your Key Vault name>.vault.azure.net")
  .credential(interactiveBrowserCredential)
  .buildClient();

Azure CLI-referentie

De Azure CLI-referenties worden geverifieerd in een ontwikkelomgeving met de ingeschakelde gebruiker of service-principal in Azure CLI. De Azure CLI wordt gebruikt op basis van een gebruiker die al is aangemeld en gebruikt de CLI om de toepassing te verifiëren bij Microsoft Entra ID.

Aanmelden bij Azure CLI voor AzureCliCredential

Meld u aan als een gebruiker met de volgende Azure CLI-opdracht :

az login

Meld u aan als een service-principal met de volgende opdracht:

az login \
    --service-principal \
    --username <client-ID> \
    --password <client-secret> \
    --tenant <tenant-ID>

Als het account of de service-principal toegang heeft tot meerdere tenants, controleert u of de gewenste tenant of het gewenste abonnement de status Ingeschakeld heeft in de uitvoer van de volgende opdracht:

az account list

Voordat u code gebruikt, voert u AzureCliCredential de volgende opdracht uit om te controleren of het account is geconfigureerd.

az account get-access-token

Mogelijk moet u dit proces na een bepaalde periode herhalen, afhankelijk van de geldigheid van het vernieuwingstoken in uw organisatie. Over het algemeen is de geldigheidsperiode van het vernieuwingstoken een paar weken tot een paar maanden. AzureCliCredential vraagt u zich opnieuw aan te melden.

Een gebruikersaccount verifiëren met Azure CLI

In het volgende voorbeeld ziet u hoe u de SecretClient verificatie vanuit de clientbibliotheek azure-security-keyvault-secrets gebruikt met behulp van het AzureCliCredential werkstation waarop Azure CLI is geïnstalleerd en aangemeld.

AzureCliCredential cliCredential = new AzureCliCredentialBuilder().build();

// Azure SDK client builders accept the credential as a parameter.
SecretClient client = new SecretClientBuilder()
  .vaultUrl("https://<your Key Vault name>.vault.azure.net")
  .credential(cliCredential)
  .buildClient();

IntelliJ-referentie

De IntelliJ-referentie wordt geverifieerd in een ontwikkelomgeving met het account in Azure Toolkit voor IntelliJ. Het gebruikt de aangemelde gebruikersgegevens op de IntelliJ IDE en gebruikt deze om de toepassing te verifiëren bij Microsoft Entra ID.

Aanmelden bij Azure Toolkit voor IntelliJ voor IntelliJCredential

Gebruik de volgende stappen om u aan te melden:

  1. Open Bestand > Instellingen > Plugins in uw IntelliJ-venster.
  2. Zoek in de marketplace naar 'Azure Toolkit for IntelliJ'. Installeer en start IDE opnieuw op.
  3. De nieuwe menuopdracht Extra > Azure-aanmelding > zoeken
  4. Met apparaataanmelding kunt u zich aanmelden als een gebruikersaccount. Volg de instructies om u aan te melden op de login.microsoftonline.com website met de apparaatcode. IntelliJ vraagt u om uw abonnementen te selecteren. Selecteer het abonnement met de resources waartoe u toegang wilt hebben.

In Windows hebt u ook het KeePass-databasepad nodig om IntelliJ-referenties te lezen. U vindt het pad in IntelliJ-instellingen onder Bestand > Instellingen > Uiterlijk en Gedragssysteem > Instellingen > Wachtwoorden. Noteer de locatie van het pad KeePassDatabase.

Een gebruikersaccount verifiëren met IntelliJ IDEA

In het volgende voorbeeld ziet u hoe u de SecretClientclientbibliotheek azure-security-keyvault-secrets kunt verifiëren met behulp van het IntelliJCredential op een werkstation waarop IntelliJ IDEA is geïnstalleerd en dat de gebruiker zich heeft aangemeld met een Azure-account.

IntelliJCredential intelliJCredential = new IntelliJCredentialBuilder()
  // KeePass configuration isrequired only for Windows. No configuration needed for Linux / Mac.
  .keePassDatabasePath("C:\\Users\\user\\AppData\\Roaming\\JetBrains\\IdeaIC2020.1\\c.kdbx")
  .build();

// Azure SDK client builders accept the credential as a parameter
SecretClient client = new SecretClientBuilder()
  .vaultUrl("https://<your Key Vault name>.vault.azure.net")
  .credential(intelliJCredential)
  .buildClient();

Visual Studio Code-referentie

De Visual Studio Code-referentie maakt verificatie mogelijk in ontwikkelomgevingen waar VS Code is geïnstalleerd met de VS Code Azure-accountextensie. Het maakt gebruik van de aangemelde gebruikersgegevens in de VS Code IDE en gebruikt deze om de toepassing te verifiëren bij Microsoft Entra ID.

Aanmelden bij Visual Studio Code Azure-accountextensie voor VisualStudioCodeCredential

Nn-integratie met de Azure-accountextensie verwerkt de Visual Studio Code-verificatie. Als u deze vorm van verificatie wilt gebruiken, installeert u de Azure-accountextensie en gebruikt u vervolgens het Opdrachtpalet weergeven > om de Opdracht Azure: Aanmelden uit te voeren. Met deze opdracht wordt een browservenster geopend en wordt een pagina weergegeven waarmee u zich kunt aanmelden bij Azure. Nadat u het aanmeldingsproces hebt voltooid, kunt u de browser sluiten zoals aangegeven. Als u uw toepassing uitvoert (in het foutopsporingsprogramma of ergens op de ontwikkelcomputer), wordt de referentie van uw aanmelding gebruikt.

Een gebruikersaccount verifiëren met Visual Studio Code

In het volgende voorbeeld ziet u hoe u de SecretClientclientbibliotheek azure-security-keyvault-secrets kunt verifiëren met behulp van het VisualStudioCodeCredential werkstation waarop Visual Studio Code is geïnstalleerd en dat de gebruiker zich heeft aangemeld met een Azure-account.

VisualStudioCodeCredential visualStudioCodeCredential = new VisualStudioCodeCredentialBuilder().build();

// Azure SDK client builders accept the credential as a parameter.
SecretClient client = new SecretClientBuilder()
  .vaultUrl("https://<your Key Vault name>.vault.azure.net")
  .credential(visualStudioCodeCredential)
  .buildClient();

Volgende stappen

Dit artikel heeft betrekking op verificatie tijdens de ontwikkeling met behulp van referenties die beschikbaar zijn op uw computer. Deze vorm van verificatie is een van de verschillende manieren waarop u zich kunt verifiëren in de Azure SDK voor Java. In de volgende artikelen worden andere manieren beschreven:

Als u problemen ondervindt met betrekking tot verificatie van de ontwikkelomgeving, raadpleegt u Problemen met verificatie van de ontwikkelomgeving oplossen.

Nadat u de verificatie hebt beheerd, raadpleegt u Logboekregistratie configureren in de Azure SDK voor Java voor informatie over de functionaliteit voor logboekregistratie die door de SDK wordt geboden.