Een beheerde identiteit gebruiken om Azure SQL Database te verbinden met een app die is geïmplementeerd in Azure Spring Apps
Notitie
De Basic-, Standard- en Enterprise-abonnementen worden afgeschaft vanaf medio maart 2025, met een pensioenperiode van 3 jaar. We raden u aan om over te stappen naar Azure Container Apps. Zie de aankondiging over buitengebruikstelling van Azure Spring Apps voor meer informatie.
Het standaardverbruik en het speciale abonnement worden vanaf 30 september 2024 afgeschaft, met een volledige afsluiting na zes maanden. We raden u aan om over te stappen naar Azure Container Apps. Zie Azure Spring Apps Standard-verbruik en toegewezen abonnement migreren naar Azure Container Apps voor meer informatie.
Dit artikel is van toepassing op: ✔️ Java ✔️ C#
Dit artikel is van toepassing op: ✔️ Basic/Standard ✔️ Enterprise
In dit artikel leest u hoe u een beheerde identiteit maakt voor een app die is geïmplementeerd in Azure Spring Apps en hoe u deze gebruikt voor toegang tot Azure SQL Database.
Azure SQL Database is de intelligente, schaalbare relationele databaseservice die is gebouwd voor de cloud. Het is altijd up-to-date, met ai-functies en geautomatiseerde functies die de prestaties en duurzaamheid optimaliseren. Met serverloze berekening en Hyperscale-opslagopties worden resources automatisch op aanvraag geschaald, zodat u zich kunt richten op het bouwen van nieuwe toepassingen zonder dat u zich zorgen hoeft te maken over de opslaggrootte of het resourcebeheer.
Vereisten
- Een Azure-account met een actief abonnement. Gratis een account maken
- Azure CLI versie 2.45.0 of hoger.
- Volg de Spring Data JPA-zelfstudie om een Azure SQL Database in te richten en deze lokaal te laten werken met een Java-app.
- Volg de zelfstudie over door het Azure Spring Apps-systeem toegewezen beheerde identiteit om een app in te richten in Azure Spring Apps waarvoor beheerde identiteit is ingeschakeld.
Verbinding maken met Azure SQL Database met een beheerde identiteit
U kunt uw toepassing verbinden met een Azure SQL Database met een beheerde identiteit door handmatige stappen te volgen of serviceconnector te gebruiken.
Machtigingen verlenen aan de beheerde identiteit
Maak verbinding met uw SQL-server en voer de volgende SQL-query uit:
CREATE USER [<managed-identity-name>] FROM EXTERNAL PROVIDER;
ALTER ROLE db_datareader ADD MEMBER [<managed-identity-name>];
ALTER ROLE db_datawriter ADD MEMBER [<managed-identity-name>];
ALTER ROLE db_ddladmin ADD MEMBER [<managed-identity-name>];
GO
De waarde van de tijdelijke aanduiding volgt de <managed-identity-name>
regel<service-instance-name>/apps/<app-name>
, bijvoorbeeld: myspringcloud/apps/sqldemo
U kunt ook de volgende opdracht gebruiken om een query uit te voeren op de naam van de beheerde identiteit met Azure CLI:
az ad sp show --id <identity-object-ID> --query displayName
Uw Java-app configureren voor het gebruik van een beheerde identiteit
Open het bestand src/main/resources/application.properties en voeg Authentication=ActiveDirectoryMSI;
deze toe aan het einde van de spring.datasource.url
regel, zoals wordt weergegeven in het volgende voorbeeld. Zorg ervoor dat u de juiste waarde gebruikt voor de variabele $AZ_DATABASE_NAME.
spring.datasource.url=jdbc:sqlserver://$AZ_DATABASE_NAME.database.windows.net:1433;database=demo;encrypt=true;trustServerCertificate=false;hostNameInCertificate=*.database.windows.net;loginTimeout=30;Authentication=ActiveDirectoryMSI;
De app bouwen en implementeren in Azure Spring Apps
Bouw de app opnieuw en implementeer deze in azure Spring Apps die zijn ingericht in het tweede opsommingsteken onder Vereisten. U hebt nu een Spring Boot-toepassing geverifieerd door een beheerde identiteit die gebruikmaakt van JPA om gegevens op te slaan en op te halen uit een Azure SQL Database in Azure Spring Apps.