Dela via


Använda en hanterad identitet för att ansluta Azure SQL Database till en app som distribuerats till Azure Spring Apps

Anteckning

Planerna Basic, Standardoch Enterprise gick in i en pensionsperiod den 17 mars 2025. Mer information finns i meddelandet om azure Spring Apps-pensionering.

Planen Standard consumption och den dedikerade gick in i en pensionsperiod den 30 september 2024, med en fullständig avstängning i slutet av mars 2025. För ytterligare information, se Migrera Azure Spring Apps Standard-förbrukning och dedikerad plan till Azure Container Apps.

Den här artikeln gäller för:✅ Java ✅ C#

Den här artikeln gäller för:✅ Basic/Standard ✅ Enterprise

Den här artikeln visar hur du skapar en hanterad identitet för en app som distribueras till Azure Spring Apps och använder den för att få åtkomst till Azure SQL Database.

Azure SQL Database är den intelligenta, skalbara relationsdatabastjänsten som skapats för molnet. Den är alltid uppdaterad med AI-baserade och automatiserade funktioner som optimerar prestanda och hållbarhet. Serverlösa beräknings- och skalningsalternativ för lagring skalar automatiskt resurser på begäran, så att du kan fokusera på att skapa nya program utan att behöva bekymra dig om lagringsstorlek eller resurshantering.

Förutsättningar

Ansluta till Azure SQL Database med en hanterad identitet

Du kan ansluta ditt program till en Azure SQL Database med en hanterad identitet genom att följa manuella steg eller använda Service Connector.

Bevilja behörighet till den hanterade identiteten

Anslut till SQL-servern och kör följande SQL-fråga:

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

Värdet för <managed-identity-name> platshållaren följer regeln <service-instance-name>/apps/<app-name>, till exempel: myspringcloud/apps/sqldemo. Du kan också använda följande kommando för att fråga det hanterade identitetsnamnet med Azure CLI:

az ad sp show --id <identity-object-ID> --query displayName

Konfigurera din Java-app så att den använder en hanterad identitet

Öppna filen src/main/resources/application.properties och lägg sedan till Authentication=ActiveDirectoryMSI; i slutet av spring.datasource.url raden, enligt följande exempel. Se till att använda rätt värde för variabeln $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;

Skapa och distribuera appen till Azure Spring Apps

Återskapa appen och distribuera den till Azure Spring Apps som tillhandahålls i den andra punkten under Förkrav. Nu har du ett Spring Boot-program autentiserat av en hanterad identitet som använder JPA för att lagra och hämta data från en Azure SQL Database i Azure Spring Apps.

Nästa steg