Share via


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

Hinweis

Azure Spring Apps ist der neue Name für den Azure Spring Cloud-Dienst. Obwohl der Dienst umbenannt wurde, wird der alte Name noch an einigen Stellen verwendet, solange wir Ressourcen wie Screenshots, Videos und Diagramme aktualisieren.

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

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

In diesem Artikel erfahren Sie, wie Sie eine verwaltete Identität für eine App erstellen, die für Azure Spring Apps bereitgestellt wurde, und sie für den Zugriff auf Azure SQL-Datenbank verwenden.

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

  • Ein Azure-Konto mit einem aktiven Abonnement. Sie können kostenlos ein Konto erstellen.
  • Azure CLI (ab Version 2.45.0)
  • Folgen Sie dem Spring Data JPA-Lernprogramm, um eine Azure SQL-Datenbank bereitzustellen und lokal mit einer Java-App zu arbeiten.
  • Folgen Sie dem Lernprogramm für vom System zugewiesene verwaltete Identitäten von Azure Spring Apps, um eine App in Azure Spring Apps mit aktivierter verwalteter Identität bereitzustellen.

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

Sie können Ihre Anwendung mit einer Azure SQL-Datenbank mit einer verwalteten Identität verbinden, indem Sie die manuellen Schritte ausführen oder service Verbinden or 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 mit 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 jetzt über eine Spring Boot-Anwendung, die von einer verwalteten Identität authentifiziert wird, die JPA zum Speichern und Abrufen von Daten aus einer Azure SQL-Datenbank in Azure Spring Apps verwendet.

Nächste Schritte