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
- 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-Tutorial, um eine Azure SQL-Datenbank-Instanz bereitzustellen und lokal mit einer Java-App zu verwenden.
- Folgen Sie dem Tutorial für systemseitig zugewiesene verwaltete Identitäten in 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 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
- Zugreifen auf ein Speicherblob mit einer verwalteten Identität in Azure Spring Apps
- Aktivieren einer systemseitig zugewiesenen verwalteten Identität für Anwendungen in Azure Spring Apps
- Was sind verwaltete Identitäten für Azure-Ressourcen?
- Authentifizieren von Azure Spring Apps mit Key Vault in GitHub Actions