Udostępnij za pośrednictwem


Łączenie usługi Azure SQL Database z aplikacją wdrożną w usłudze Azure Spring Apps przy użyciu tożsamości zarządzanej

Uwaga

Plany Basic, Standardi Enterprise weszły w okres wycofywania 17 marca 2025 r. Aby uzyskać więcej informacji, zobacz ogłoszenie o wycofaniu usługi Azure Spring Apps.

Plan dotyczący zużycia standardowego oraz dedykowany plan zostały wycofane 30 września 2024 r., z całkowitym zamknięciem do końca marca 2025 r. Aby uzyskać więcej informacji, zobacz Migrowanie użycia usługi Azure Spring Apps w warstwie Standardowa i dedykowanego planu do usługi Azure Container Apps.

Ten artykuł dotyczy:✅ Java ✅ C#

Ten artykuł dotyczy:✅ Podstawowa/Standardowa ✅ Enterprise

W tym artykule pokazano, jak utworzyć tożsamość zarządzaną dla aplikacji wdrożonej w usłudze Azure Spring Apps i używać jej do uzyskiwania dostępu do usługi Azure SQL Database.

Azure SQL Database to inteligentna, skalowalna, relacyjna usługa bazy danych utworzona dla chmury. Jest to zawsze aktualne, dzięki funkcjom opartym na sztucznej inteligencji i zautomatyzowanym, które optymalizują wydajność i trwałość. Bezserwerowe obliczenia i hiperskalowalne opcje pamięci masowej automatycznie skalują zasoby na żądanie, dzięki czemu możesz skupić się na tworzeniu aplikacji bez martwienia się o wielkość pamięci masowej czy zarządzanie zasobami.

Wymagania wstępne

Nawiązywanie połączenia z usługą Azure SQL Database przy użyciu tożsamości zarządzanej

Aplikację można połączyć z usługą Azure SQL Database przy użyciu tożsamości zarządzanej, wykonując kroki ręczne lub korzystając z łącznika usługi.

Udzielanie uprawnień tożsamości zarządzanej

Połącz się z serwerem SQL i uruchom następujące zapytanie SQL:

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

Wartość symbolu zastępczego <managed-identity-name> jest zgodna z regułą <service-instance-name>/apps/<app-name>, na przykład: myspringcloud/apps/sqldemo. Możesz również użyć następującego polecenia, aby wykonać zapytanie dotyczące nazwy tożsamości zarządzanej za pomocą interfejsu wiersza polecenia platformy Azure:

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

Konfigurowanie aplikacji Java do używania tożsamości zarządzanej

Otwórz plik src/main/resources/application.properties, a następnie dodaj Authentication=ActiveDirectoryMSI; na końcu spring.datasource.url wiersza, jak pokazano w poniższym przykładzie. Pamiętaj, aby użyć poprawnej wartości dla zmiennej $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;

Kompilowanie i wdrażanie aplikacji w usłudze Azure Spring Apps

Skompiluj aplikację i wdróż ją w aprowizowanej usłudze Azure Spring Apps w drugim punkcie w obszarze Wymagania wstępne. Masz teraz aplikację Spring Boot uwierzytelnianą przez tożsamość zarządzaną, która używa interfejsu JPA do przechowywania i pobierania danych z usługi Azure SQL Database w usłudze Azure Spring Apps.

Następne kroki