Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Note
I piani Basic, Standard ed Enterprise sono entrati in un periodo di ritiro il 17 marzo 2025. Per altre informazioni, vedere l'annuncio di ritiro di Azure Spring Apps.
Questo articolo si applica a:✅ Java ✅ C#
Questo articolo riguarda:✅ Basic/Standard ✅ Enterprise
Questo articolo illustra come creare un'identità gestita per un'app distribuita in Azure Spring Apps e usarla per accedere al database SQL di Azure.
Database SQL di Azure è un servizio di database relazionale intelligente, scalabile e basato sul cloud. È sempre aggiornato, con funzionalità automatizzate e basate su intelligenza artificiale che ottimizzano le prestazioni e la durabilità. Le risorse di calcolo serverless e le opzioni di archiviazione Hyperscale dimensionano automaticamente le risorse on demand, per permettere di concentrarsi sulla creazione di nuove applicazioni senza doversi preoccupare delle dimensioni delle risorse di archiviazione o della gestione delle risorse.
Prerequisiti
- Un account Azure con una sottoscrizione attiva. Creare un account gratuitamente.
- Interfaccia della riga di comando di Azure versione 2.45.0 o successiva.
- Seguire l'esercitazione su JPA per Spring Data per effettuare il provisioning di un database SQL di Azure e usarlo con un'app Java in locale.
- Seguire l'esercitazione sull'identità gestita assegnata dal sistema di Azure Spring Apps per effettuare il provisioning di un'app in Azure Spring Apps con identità gestita abilitata.
Connettersi a database SQL di Azure con un'identità gestita
È possibile connettere l'applicazione a un database SQL di Azure con un'identità gestita seguendo i passaggi manuali o usando il connettore di servizi.
Concedere l'autorizzazione all'identità gestita
Connettersi al server SQL ed eseguire la query SQL seguente:
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
Il valore del segnaposto <managed-identity-name> segue la regola <service-instance-name>/apps/<app-name>; ad esempio: myspringcloud/apps/sqldemo. È anche possibile usare il comando seguente per eseguire query sul nome dell'identità gestita con l'interfaccia della riga di comando di Azure:
az ad sp show --id <identity-object-ID> --query displayName
Configurare l'app Java per usare un'identità gestita
Aprire il file src/main/resources/application.properties, quindi aggiungere Authentication=ActiveDirectoryMSI; alla fine della riga spring.datasource.url, come illustrato nell'esempio seguente. Assicurarsi di usare il valore corretto per la variabile $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;
Compilare e distribuire l'app in Azure Spring Apps
Ricompilare l'app e distribuirla in Azure Spring Apps di cui è stato effettuato il provisioning nel secondo punto elenco in Prerequisiti. È ora disponibile un'applicazione Spring Boot autenticata da un'identità gestita che usa JPA per archiviare e recuperare dati da un database SQL di Azure in Azure Spring Apps.