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.
De aanbevolen methode voor het verifiëren van een Azure gehoste app voor andere Azure resources is het gebruik van een beheerde identiteit. De meeste Azure-services ondersteunen deze benadering, waaronder apps die worden gehost op Azure App Service, Azure Container Apps en Azure Virtual Machines. Zie Azure services en resourcetypen die beheerde identiteiten ondersteunen voor meer informatie. Zie Authenticate Java apps to Azure services met behulp van de Azure Identity Library voor meer informatie over verschillende verificatietechnieken en benaderingen.
In de volgende secties leert u het volgende:
- Essentiële concepten voor beheerde identiteiten.
- Een door het systeem toegewezen beheerde identiteit voor uw app maken.
- Rollen toewijzen aan de door het systeem toegewezen beheerde identiteit.
- Verificatie uitvoeren met behulp van de door het systeem toegewezen beheerde identiteit vanuit uw app-code.
Essentiële concepten voor beheerde identiteiten
Met een beheerde identiteit kan uw app veilig verbinding maken met andere Azure resources zonder gebruik te maken van geheime sleutels of andere toepassingsgeheimen. Intern houdt Azure bij welke identiteit het is en met welke resources het verbinding mag maken. Azure deze informatie gebruikt om automatisch Microsoft Entra tokens voor de app te verkrijgen, zodat deze verbinding kan maken met andere Azure resources.
Er zijn twee typen beheerde identiteiten waarmee u rekening moet houden bij het configureren van uw gehoste app:
- System-assigned beheerde identiteiten worden rechtstreeks ingeschakeld op een Azure-resource en zijn gekoppeld aan de levenscyclus. Wanneer de resource wordt verwijderd, verwijdert Azure automatisch de identiteit voor u. Door het systeem toegewezen identiteiten bieden een minimalistische benadering voor het gebruik van beheerde identiteiten.
- Gebruiker toegewezen beheerde identiteiten worden gemaakt als zelfstandige Azure resources en bieden meer flexibiliteit en mogelijkheden. Ze zijn ideaal voor oplossingen met meerdere Azure resources die dezelfde identiteit en machtigingen moeten delen. Als bijvoorbeeld meerdere virtuele machines toegang moeten hebben tot dezelfde set Azure resources, biedt een door de gebruiker toegewezen beheerde identiteit herbruikbaar en geoptimaliseerd beheer.
Aanbeveling
Meer informatie over het selecteren en beheren van door het systeem toegewezen en door de gebruiker toegewezen beheerde identiteiten in het artikel met aanbevelingen voor aanbevolen procedures voor beheerde identiteiten.
In de volgende secties worden de stappen beschreven voor het inschakelen en gebruiken van een door het systeem toegewezen beheerde identiteit voor een Azure gehoste app. Als u een door de gebruiker toegewezen beheerde identiteit wilt gebruiken, raadpleegt u Azure-gehoste Java-apps authentiseren naar Azure-resources met behulp van een door de gebruiker toegewezen beheerde identiteit.
Een door het systeem toegewezen beheerde identiteit inschakelen op de Azure hostingresource
Als u aan de slag wilt gaan met een door het systeem toegewezen beheerde identiteit met uw app, schakelt u de identiteit in op de Azure resource die als host fungeert voor uw app, zoals een Azure App Service, Azure Container Apps of Azure Virtual Machines-exemplaar.
U kunt een door het systeem toegewezen beheerde identiteit inschakelen voor een Azure resource met behulp van de Azure-portal of de Azure CLI.
Navigeer in de Azure-portal naar de resource die als host fungeert voor uw toepassingscode, zoals een Azure App Service of Azure Container Apps exemplaar.
Vouw op de pagina Overzicht van de resource de Instellingen uit en selecteer Identiteit in de navigatie.
Schakel op de pagina Identity de schuifregelaar Status in op Op.
Selecteer Opslaan om uw wijzigingen toe te passen.
Rollen toewijzen aan de beheerde identiteit
Bepaal vervolgens welke rollen uw app nodig heeft en wijs deze rollen toe aan de beheerde identiteit. U kunt rollen toewijzen aan een beheerde identiteit op de volgende niveaus:
- Resource: de toegewezen rollen zijn alleen van toepassing op die specifieke resource.
- Resourcegroep: De toegewezen rollen zijn van toepassing op alle bronnen in de resourcegroep.
- Abonnement: de toegewezen rollen zijn van toepassing op alle resources in het abonnement.
In het volgende voorbeeld ziet u hoe u rollen toewijst binnen het bereik van de resourcegroep, omdat veel apps al hun gerelateerde Azure resources beheren met behulp van één resourcegroep.
Navigeer naar de pagina Overzicht van de resourcegroep die de app bevat met de door het systeem toegewezen beheerde identiteit.
Selecteer IAM- (Access Control) in het linkernavigatievenster.
Selecteer op de pagina Toegangsbeheer (IAM) + toevoegen in het bovenste menu en kies vervolgens Roltoewijzing toevoegen om naar de pagina Roltoewijzing toevoegen te navigeren.
Op de pagina Roltoewijzing toevoegen pagina wordt een werkstroom met tabbladen met meerdere stappen weergegeven om rollen toe te wijzen aan identiteiten. Gebruik op het eerste tabblad Rol het zoekvak bovenaan om de rol te vinden die u aan de identiteit wilt toewijzen.
Selecteer de rol in de resultaten en kies vervolgens Volgende om naar het tabblad Leden te gaan.
Voor de optie Toegang toewijzen aan selecteer Beheerde identiteit.
Voor de optie Leden kiest u + Selecteer leden om het Selecteer beheerde identiteiten deelvenster te openen.
Gebruik in het deelvenster Beheerde identiteiten selecteren de dropdowns Abonnement en Beheerde identiteit om de zoekresultaten voor uw beheerde identiteiten te filteren. Gebruik het zoekvak Select om de systeemidentiteit te zoeken die u hebt ingeschakeld voor de Azure resource die als host fungeert voor uw app.
Selecteer de identiteit en kies Selecteer onderaan het deelvenster om door te gaan.
Selecteer Beoordelen en toewijzen onderaan de pagina.
Selecteer op het laatste tabblad Beoordelen en toewijzen, Beoordelen en toewijzen om de werkstroom te voltooien.
Verifiëren bij Azure services vanuit uw app
De Azure Identity library biedt verschillende credentials— implementaties van TokenCredential aangepast aan de ondersteuning van verschillende scenario's en Microsoft Entra verificatiestromen. Omdat beheerde identiteit niet beschikbaar is wanneer deze lokaal wordt uitgevoerd, laten de stappen zien welke referenties moeten worden gebruikt in welk scenario:
-
lokale ontwikkelomgeving: gebruik alleen tijdens de lokale ontwikkelingeen klasse met de naam DefaultAzureCredential voor een vooraf bepaalde, vooraf geconfigureerde keten van inloggegevens.
DefaultAzureCredentialdetecteert gebruikersreferenties uit uw lokale hulpprogramma's of IDE, zoals de Azure CLI of Visual Studio Code. Het biedt ook flexibiliteit en gemak voor nieuwe pogingen, wachttijden voor antwoorden en ondersteuning voor meerdere verificatieopties. Ga naar het artikel Verifiëren bij Azure-services tijdens lokale ontwikkeling voor meer informatie. -
Azure gehoste apps: wanneer uw app wordt uitgevoerd in Azure, gebruikt u
ManagedIdentityCredentialom de beheerde identiteit die is geconfigureerd voor uw app veilig te detecteren. Als u dit exacte type referentie opgeeft, voorkomt u dat andere beschikbare referenties onverwacht worden opgehaald.
De code implementeren
Voeg de azure-identity afhankelijkheid toe aan uw pom.xml bestand:
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-identity</artifactId>
</dependency>
Azure-services worden geopend met behulp van gespecialiseerde clientklassen uit de verschillende Azure SDK-clientbibliotheken. In het volgende codevoorbeeld wordt gedemonstreerd hoe u een inloggegevensinstantie maakt en gebruikt met een Azure SDK-serviceclient. Voer in uw toepassingscode de volgende stappen uit om te verifiëren met behulp van een beheerde identiteit:
- Importeer de
DefaultAzureCredentialBuilder,ManagedIdentityCredentialBuilderenTokenCredentialklassen. - Geef een geschikt
TokenCredentialexemplaar door aan de client:- Gebruik
DefaultAzureCredentialbij lokaal uitvoeren - Gebruiken
ManagedIdentityCredentialwanneer uw app wordt uitgevoerd in Azure
- Gebruik
In het volgende voorbeeld ziet u hoe u een SecretClient identiteit kunt verifiëren met behulp van een door het systeem toegewezen beheerde identiteit:
import com.azure.core.credential.TokenCredential;
import com.azure.identity.DefaultAzureCredentialBuilder;
import com.azure.identity.ManagedIdentityCredentialBuilder;
import com.azure.security.keyvault.secrets.SecretClient;
import com.azure.security.keyvault.secrets.SecretClientBuilder;
TokenCredential credential = null;
// Set up credential based on environment (Azure or local development)
String environment = System.getenv("ENV");
if (environment != null && environment.equals("production")) {
credential = new ManagedIdentityCredentialBuilder()
.build();
} else {
credential = new DefaultAzureCredentialBuilder()
.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(credential)
.buildClient();
Volgende stappen
Dit artikel heeft betrekking op verificatie met behulp van een door het systeem toegewezen beheerde identiteit. 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:
- Authenticeer Azure-gehoste Java-apps op Azure-resources met behulp van een door de gebruiker toegewezen beheerde identiteit
- Java-apps authenticeren bij Azure-services tijdens lokale ontwikkeling door ontwikkelaarsaccounts te gebruiken
- Java-applicaties authenticeren voor Azure-services tijdens lokale ontwikkeling met behulp van service-principals
Als u problemen ondervindt met betrekking tot Azure-gehoste toepassingsverificatie, raadpleegt u Roubleshoot Azure gehoste toepassingsverificatie.