Utiliser une identité managée pour connecter Azure SQL Database à une application déployée dans Azure Spring Apps
Remarque
Azure Spring Apps est le nouveau nom du service Azure Spring Cloud. Bien que le service ait un nouveau nom, vous verrez l’ancien nom à divers endroits pendant un certain temps, car nous travaillons à mettre à jour les ressources telles que les captures d’écran, les vidéos et les diagrammes.
Cet article s’applique à : ✔️ Java ✔️ C#
Cet article s’applique au : Niveau ✔️ De base/Standard ✔️ Entreprise
Cet article explique comment créer une identité managée pour une application déployée sur Azure Spring Apps et l’utiliser pour accéder à Azure SQL Database.
Azure SQL Database est le service de bases de données relationnelles, évolutif et intelligent, conçu pour le cloud. Il est toujours à jour, avec des fonctionnalités automatisées et alimentées par l’IA qui optimisent les performances et la durabilité. Les options de stockage Hyperscale et de calcul serverless mettent automatiquement à l’échelle les ressources à la demande, ce qui vous permet de vous concentrer sur la création de nouvelles applications sans vous soucier de la taille du stockage ou de la gestion des ressources.
Prérequis
- Compte Azure avec un abonnement actif. Créez un compte gratuitement.
- Azure CLI version 2.45.0 ou ultérieure.
- Suivez le tutoriel Spring Data JPA pour provisionner une base de données Azure SQL et l’utiliser localement avec une application Java.
- Suivez le didacticiel sur l’identité managée affectée par le système Azure Spring Apps pour provisionner une application dans Azure Spring Apps avec une identité managée activée.
Se connecter à Azure SQL Database avec une identité managée
Vous pouvez connecter votre application à une base de données Azure SQL avec une identité managée en suivant des étapes manuelles ou en utilisant service Connecter or.
Accorder l’autorisation à l’identité managée
Connectez-vous à votre serveur SQL et exécutez la requête SQL suivante :
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
La valeur de l’espace réservé <managed-identity-name>
suit la règle <service-instance-name>/apps/<app-name>
; par exemple : myspringcloud/apps/sqldemo
. Vous pouvez également utiliser la commande suivante pour interroger le nom de l’identité managée avec Azure CLI :
az ad sp show --id <identity-object-ID> --query displayName
Configurer votre application Java pour utiliser une identité managée
Ouvrez le fichier src/main/resources/application.properties, puis ajoutez Authentication=ActiveDirectoryMSI;
à la fin de la ligne spring.datasource.url
, comme illustré dans l’exemple suivant. Veillez à utiliser la valeur appropriée pour la variable $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;
Générer et déployer l’application sur Azure Spring Apps
Regénérez l’application et déployez-la sur l’application Azure Spring Apps provisionnée lors de la deuxième puce de la section Prérequis. Vous disposez maintenant d’une application Spring Boot authentifiée par une identité managée qui utilise JPA pour stocker et récupérer des données à partir d’une base de données Azure SQL dans Azure Spring Apps.
Étapes suivantes
- Comment accéder à un objet blob de stockage avec une identité managée dans Azure Spring Apps
- Guide pratique pour activer une identité managée affectée par le système pour des applications dans Azure Spring Apps
- Que sont les identités managées pour les ressources Azure ?
- Authentifier Azure Spring Apps avec Key Vault dans GitHub Actions
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : pendant toute l’année 2024, nous allons éliminer progressivement Problèmes GitHub comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, voir :Soumettre et afficher des commentaires pour