Použití spravované identity k připojení služby Azure SQL Database k aplikaci nasazené do Azure Spring Apps
Poznámka:
Plány Basic, Standard a Enterprise budou od poloviny března 2025 vyřazeny ze 3letého období vyřazení. Doporučujeme přejít na Azure Container Apps. Další informace najdete v oznámení o vyřazení Azure Spring Apps.
Od 30. září 2024 bude od 30. září 2024 zastaralý plán s úplným vypnutím po šesti měsících. Doporučujeme přejít na Azure Container Apps. Další informace najdete v tématu Migrace spotřeby Azure Spring Apps Úrovně Standard a vyhrazeného plánu do Azure Container Apps.
Tento článek se vztahuje na: ✔️ Java ✔️ C#
Tento článek se vztahuje na: ✔️ Basic/Standard ✔️ Enterprise
V tomto článku se dozvíte, jak vytvořit spravovanou identitu pro aplikaci nasazenou do Azure Spring Apps a jak ji použít pro přístup ke službě Azure SQL Database.
Azure SQL Database je inteligentní, škálovatelná relační databázová služba vytvořená pro cloud. Vždy je aktuální díky funkcím využívajícím AI a automatizovaným funkcím, které optimalizují výkon a odolnost. Možnosti bezserverového výpočetního prostředí a úložiště Hyperscale automaticky škálují prostředky na vyžádání, abyste se mohli soustředit na vytváření nových aplikací, aniž byste se museli starat o velikost úložiště nebo správu prostředků.
Požadavky
- Účet Azure s aktivním předplatným. Vytvoření účtu zdarma
- Azure CLI verze 2.45.0 nebo vyšší
- Postupujte podle kurzu Spring Data JPA a zřiďte službu Azure SQL Database a získejte ji místně s aplikací v Javě.
- Pokud chcete zřídit aplikaci v Azure Spring Apps s povolenou spravovanou identitou, postupujte podle kurzu spravované identity přiřazené systémem v Azure Spring Apps.
Připojení ke službě Azure SQL Database pomocí spravované identity
Aplikaci můžete připojit ke službě Azure SQL Database pomocí spravované identity pomocí ručních kroků nebo pomocí konektoru služby.
Udělení oprávnění spravované identitě
Připojte se k sql serveru a spusťte následující dotaz 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
Hodnota zástupného symbolu <managed-identity-name>
se řídí pravidlem <service-instance-name>/apps/<app-name>
, například: myspringcloud/apps/sqldemo
. K dotazování názvu spravované identity pomocí Azure CLI můžete použít také následující příkaz:
az ad sp show --id <identity-object-ID> --query displayName
Konfigurace aplikace v Javě pro použití spravované identity
Otevřete soubor src/main/resources/application.properties a pak na konec spring.datasource.url
řádku přidejteAuthentication=ActiveDirectoryMSI;
, jak je znázorněno v následujícím příkladu. Nezapomeňte použít správnou hodnotu pro proměnnou $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;
Sestavení a nasazení aplikace do Azure Spring Apps
Znovu sestavte aplikaci a nasaďte ji do Služby Azure Spring Apps zřízené v druhém odrážkovém bodě v části Požadavky. Teď máte aplikaci Spring Boot ověřenou spravovanou identitou, která používá JPA k ukládání a načítání dat z Azure SQL Database v Azure Spring Apps.