Verwenden einer verwalteten Identität zum Herstellen einer Verbindung zwischen Azure SQL-Datenbank und einer in Azure Spring Apps bereitgestellten App

Hinweis

Die Pläne Basic, Standard und Enterprise gelten ab Mitte März 2025 als veraltet und werden über einen Zeitraum von drei Jahren eingestellt. Es wird empfohlen, auf Azure Container Apps umzustellen. Weitere Informationen finden Sie in der Ankündigung zur Einstellung von Azure Spring Apps.

Der Plan Standardverbrauch und dediziert gilt ab dem 30. September 2024 als veraltet und wird nach sechs Monaten vollständig eingestellt. Es wird empfohlen, auf Azure Container Apps umzustellen. Weitere Informationen finden Sie unter Migrieren vom Plan „Standardverbrauch und dediziert“ von Azure Spring Apps zu Azure Container Apps.

Dieser Artikel gilt für: ✔️ Java ✔️ C#

Dieser Artikel gilt für: ✔️ Basic/Standard ✔️ Enterprise

Dieser Artikel zeigt, wie Sie eine verwaltete Identität für eine App erstellen, die in Azure Spring Apps bereitgestellt ist, und wie Sie damit auf Azure SQL-Datenbank zugreifen können.

Azure SQL-Datenbank ist ein intelligenter, skalierbarer und relationaler Datenbankdienst, der für die Cloud entwickelt wurde. Der Dienst ist immer auf dem neuesten Stand und bietet KI-gestützte und automatisierte Features, die Leistung und Dauerhaftigkeit optimieren. Serverlose Compute- und Hyperscale-Speicheroptionen skalieren Ressourcen automatisch nach Bedarf, sodass Sie sich nicht mehr um Speichergrößen oder Ressourcenverwaltung kümmern müssen, sondern sich vollständig auf die Entwicklung neuer Anwendungen konzentrieren können.

Voraussetzungen

Herstellen einer Verbindung mit Azure SQL-Datenbank mit einer verwalteten Identität

Sie können Ihre Anwendung mit Azure SQL-Datenbank mit einer verwalteten Identität verbinden, indem Sie manuelle Schritte ausführen oder den Dienstconnector verwenden.

Erteilen der Berechtigung für die verwaltete Identität

Stellen Sie eine Verbindung mit Ihrem SQL-Server her, und führen Sie die folgende SQL-Abfrage aus:

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

Der Wert des Platzhalters <managed-identity-name> folgt der Regel <service-instance-name>/apps/<app-name>. Beispiel: myspringcloud/apps/sqldemo. Sie können auch den folgenden Befehl verwenden, um den Namen der verwalteten Identität mithilfe der Azure CLI abzufragen:

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

Konfigurieren Ihrer Java-App für die Verwendung einer verwalteten Identität

Öffnen Sie die Datei src/main/resources/application.properties, und fügen Sie dann Authentication=ActiveDirectoryMSI; am Ende der Zeile spring.datasource.url hinzu, wie im folgenden Beispiel gezeigt. Achten Sie darauf, den richtigen Wert für die Variable $AZ_DATABASE_NAME zu verwenden.

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;

Erstellen und Bereitstellen der App in Azure Spring Apps

Erstellen Sie die App neu, und stellen Sie sie in der Azure Spring Apps-Instanz bereit, die im zweiten Aufzählungspunkt unter „Voraussetzungen“ bereitgestellt wurde. Sie verfügen nun über eine Spring Boot-Anwendung, die durch eine verwaltete Identität authentifiziert wird und JPA verwendet, um Daten aus einer Azure SQL-Datenbank-Instanz in Azure Spring Apps zu speichern und daraus abzurufen.

Nächste Schritte