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:
- Referentie voor apparaatcode
- Interactieve browserreferenties
- Azure CLI-referentie
- IntelliJ-referentie
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:
- Ga naar Microsoft Entra-id in Azure Portal en zoek uw app-registratie.
- Navigeer naar de sectie Verificatie .
- Controleer onder Voorgestelde omgeleide URI's de URI die eindigt op
/common/oauth2/nativeclient
. - 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 SecretClient
clientbibliotheek 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:
- Open In uw IntelliJ-venster Invoegtoepassingen voor bestandsinstellingen > >.
- Zoek in de marketplace naar 'Azure Toolkit for IntelliJ'. Installeer en start IDE opnieuw op.
- De nieuwe menuopdracht Extra > Azure-aanmelding > zoeken
- 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.
Een gebruikersaccount verifiëren met IntelliJ IDEA
In het volgende voorbeeld ziet u hoe u de SecretClient
clientbibliotheek azure-security-keyvault-secrets kunt verifiëren met behulp van de IntelliJCredential
clientbibliotheek op een werkstation waarop IntelliJ IDEA is geïnstalleerd en dat de gebruiker zich heeft aangemeld met een Azure-account bij de Azure-toolkit voor IntelliJ.
IntelliJCredential intelliJCredential = new IntelliJCredentialBuilder()
.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();
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:
- Toepassingen verifiëren die worden gehost in Azure
- Verificatie met service-principals
- Verificatie met gebruikersreferenties
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.