Événements
31 mars, 23 h - 2 avr., 23 h
L’événement de la communauté Microsoft Fabric, Power BI, SQL et AI ultime. 31 mars au 2 avril 2025.
Inscrivez-vous aujourd’huiCe navigateur n’est plus pris en charge.
Effectuez une mise à niveau vers Microsoft Edge pour tirer parti des dernières fonctionnalités, des mises à jour de sécurité et du support technique.
S’applique à : Azure SQL Database Azure SQL Managed Instance
Microsoft Entra (anciennement Azure Active Directory)prend en charge deux types d’identités managées : l’identité managée affectée par l’utilisateur (SMI) et l’identité managée affectée par l’utilisateur (UMI). Pour plus d’informations, consultez Types d’identités managées.
Une SMI est automatiquement affectée à Azure SQL Managed Instance lors de sa création. Quand vous utilisez l’authentification Microsoft Entra avec Azure SQL Database, vous devez affecter une SMI quand des principaux de service Azure sont utilisés pour créer des utilisateurs Microsoft Entra dans SQL Database.
Auparavant, seule une SMI pouvait être affectée à l’identité d’une instance managée Azure SQL ou d’un serveur SQL Database. Désormais, une UMI peut être affectée à SQL Managed Instance ou à SQL Database en tant qu’identité d’instance ou de serveur.
Vous pouvez non seulement utiliser une UMI et une SMI comme identité d’instance ou de serveur, mais aussi pour accéder à la base de données avec l’option de chaîne de connexion SQL Authentication=Active Directory Managed Identity
. Vous devez créer un utilisateur SQL à partir de l’identité managée dans la base de données cible en utilisant l’instruction CREATE USER. Pour plus d’informations, consultez Utilisation de l'authentification Microsoft Entra avec SqlClient.
Pour récupérer les UMI ou SMI actuels pour Azure SQL Managed Instance ou Azure SQL Database, consultez Obtenir ou définir une identité managée pour un serveur logique ou une instance managée plus loin dans cet article.
L’utilisation d’une UMI comme identité de serveur présente plusieurs avantages :
Les utilisateurs peuvent créer et gérer leurs propres UMI pour un locataire. Vous pouvez utiliser des UMI comme identités de serveur pour Azure SQL. Une UMI est managée par l’utilisateur, tandis qu’une SMI est définie de manière unique par serveur et affectée par le système.
Auparavant, vous aviez besoin du rôle Microsoft Entra ID Lecteurs de répertoirelorsque vous utilisiez un SMI comme identité de serveur ou d'instance. Avec l’introduction de l’accès à Microsoft Entra ID par le biais de Microsoft Graph, les utilisateurs soucieux d’accorder à une SMI ou à une UMI des autorisations de haut niveau, comme le rôle Lecteurs de répertoire, peuvent également accorder des autorisations de niveau inférieur afin que l’identité de serveur ou d’instance puisse accéder à Microsoft Graph.
Pour plus d’informations sur l’octroi des autorisations Lecteurs de répertoire et leur fonctionnement, consultez Rôle Lecteurs de répertoire dans Microsoft Entra ID pour Azure SQL.
Les utilisateurs peuvent choisir une UMI spécifique comme identité de serveur ou d’instance pour toutes les bases de données ou instances managées dans le locataire. Plusieurs UMI peuvent également être affectées à différents serveurs ou instances.
Les UMI peuvent être utilisées dans différents serveurs pour représenter différentes fonctionnalités. Par exemple, une UMI peut être utilisée pour le chiffrement TDE (Transparent Data Encryption) sur un serveur et une UMI peut être utilisée pour l’authentification Microsoft Entra sur un autre serveur.
Vous avez besoin d’une UMI pour créer un serveur logique dans Azure configuré avec TDE avec des clés gérées par le client (CMK). Pour plus d’informations, consultez Chiffrement transparent des données managées par le client à l’aide d’une identité managée affectée par l’utilisateur.
Les UMI sont indépendantes des serveurs logiques ou des instances managées. Quand un serveur logique ou une instance est supprimé, la SMI est également supprimé. Les UMI ne sont pas supprimées avec le serveur.
Notes
Vous devez activer l’identité d’instance (SMI ou UMI) pour permettre la prise en charge de l’authentification Microsoft Entra dans SQL Managed Instance. Pour SQL Database, l’activation de l’identité de serveur est facultative et nécessaire uniquement si un principal de service Microsoft Entra (application Microsoft Entra) supervise la création et la gestion des utilisateurs, groupes ou applications Microsoft Entra dans le serveur. Pour plus d'informations, voir principal de service Microsoft Entra avec Azure SQL.
Pour plus d’informations sur la création d’une UMI, consultez Gérer les identités managées affectées par l’utilisateur.
Une fois l’UMI créée, certaines autorisations sont nécessaires pour lui permettre de lire à partir de Microsoft Graph en tant qu’identité de serveur. Accordez les autorisations suivantes ou affectez le rôle Lecteurs d’annuaires à l’UMI.
Ces autorisations doivent être accordées avant de provisionner un serveur logique ou une instance managée. Une fois les autorisations accordées à l’UMI, elles sont activées pour l’ensemble des serveurs ou des instances créés avec l’UMI affectée en tant qu’identité de serveur.
Important
Seul un Administrateur général ou un Administrateur de rôle privilégié peut accorder ces autorisations.
L’exemple de script PowerShell suivant accorde les autorisations nécessaires pour une Identité managée. Cet exemple affecte des autorisations à l’identité managée affectée par l’utilisateurumiservertest
.
Pour exécuter le script, vous devez vous connecter en tant qu’utilisateur avec un rôle Administrateur général ou Administrateur de rôle privilégié.
Le script accorde les autorisations User.Read.All
, GroupMember.Read.All
et Application.Read.ALL
à une Identité managée affectée pour accéder à Microsoft Graph.
# Script to assign permissions to an existing UMI
# The following required Microsoft Graph permissions will be assigned:
# User.Read.All
# GroupMember.Read.All
# Application.Read.All
Import-Module Microsoft.Graph.Authentication
Import-Module Microsoft.Graph.Applications
$tenantId = "<tenantId>" # Your tenant ID
$MSIName = "<managedIdentity>"; # Name of your managed identity
# Log in as a user with the "Global Administrator" or "Privileged Role Administrator" role
Connect-MgGraph -TenantId $tenantId -Scopes "AppRoleAssignment.ReadWrite.All,Application.Read.All"
# Search for Microsoft Graph
$MSGraphSP = Get-MgServicePrincipal -Filter "DisplayName eq 'Microsoft Graph'";
$MSGraphSP
# Sample Output
# DisplayName Id AppId SignInAudience ServicePrincipalType
# ----------- -- ----- -------------- --------------------
# Microsoft Graph 47d73278-e43c-4cc2-a606-c500b66883ef 00000003-0000-0000-c000-000000000000 AzureADMultipleOrgs Application
$MSI = Get-MgServicePrincipal -Filter "DisplayName eq '$MSIName'"
if($MSI.Count -gt 1)
{
Write-Output "More than 1 principal found with that name, please find your principal and copy its object ID. Replace the above line with the syntax $MSI = Get-MgServicePrincipal -ServicePrincipalId <your_object_id>"
Exit
}
# Get required permissions
$Permissions = @(
"User.Read.All"
"GroupMember.Read.All"
"Application.Read.All"
)
# Find app permissions within Microsoft Graph application
$MSGraphAppRoles = $MSGraphSP.AppRoles | Where-Object {($_.Value -in $Permissions)}
# Assign the managed identity app roles for each permission
foreach($AppRole in $MSGraphAppRoles)
{
$AppRoleAssignment = @{
principalId = $MSI.Id
resourceId = $MSGraphSP.Id
appRoleId = $AppRole.Id
}
New-MgServicePrincipalAppRoleAssignment `
-ServicePrincipalId $AppRoleAssignment.PrincipalId `
-BodyParameter $AppRoleAssignment -Verbose
}
Pour vérifier les autorisations d’une UMI, accédez au portail Azure. Dans la ressource Microsoft Entra ID, allez dans Applications d'entreprise. Sélectionnez Toutes les applications pour Type d’application, puis recherchez l’UMI qui a été créée.
Sélectionnez l’UMI, puis allez dans les paramètres Autorisations sous Sécurité.
Pour créer un serveur en utilisant une UMI, consultez le guide suivant : Créer un serveur logique Azure SQL avec une identité managée affectée par l’utilisateur.
Le portail Azure affiche l’ID de l’identité managée affectée par le système (SMI) dans le menu Propriétés du serveur logique Azure SQL Database.
Pour définir l’identité managée par l’utilisateur pour le serveur logique Azure SQL Database ou Azure SQL Managed Instance dans le portail Azure :
Azure CLI 2.26.0 (ou ultérieur) est obligatoire pour exécuter ces commandes avec une UMI.
Pour provisionner un nouveau serveur avec une UMI, utilisez la commande az sql server create.
Pour obtenir les identités managées d’un serveur logique, utilisez la commande az sql server show.
Par exemple, pour récupérer la ou les UMI d’un serveur logique, recherchez le principalId
de chacune :
az sql server show --resource-group "resourcegroupnamehere" --name "sql-logical-server-name-here" --query identity.userAssignedIdentities
Pour récupérer l’identité managée affectée par le système d’un serveur logique Azure SQL Database :
az sql server show --resource-group "resourcegroupnamehere" --name "sql-logical-server-name-here" --query identity.principalId
Pour mettre à jour le paramètre de serveur de l’UMI, utilisez la commande az sql server update.
Pour provisionner une nouvelle instance managée avec une UMI, utilisez la commande az sql mi create.
Pour obtenir les SMI et UMI des instances managées, utilisez la commande az sql mi show.
Par exemple, pour récupérer la ou les UMI d’une instance managée, recherchez le principalId
de chacune :
az sql mi show --resource-group "resourcegroupnamehere" --name "sql-mi-name-here" --query identity.userAssignedIdentities
Pour récupérer le SMI d’une instance managée :
az sql mi show --resource-group "resourcegroupnamehere" --name "sql-mi-name-here" --query identity.principalId
Pour mettre à jour le paramètre d’instance managée de l’UMI, utilisez la commande az sql mi update.
Le module Az.Sql 3.4 ou ultérieure est obligatoire pour utiliser PowerShell avec une UMI. La dernière version de PowerShell est recommandée, ou utilisez Azure Cloud Shell dans le portail Azure.
Pour provisionner un nouveau serveur avec une UMI, utilisez la commande New-AzSqlServer.
Pour obtenir les identités managées d’un serveur logique, utilisez la commande Get-AzSqlServer.
Par exemple, pour récupérer la ou les UMI d’un serveur logique, recherchez le principalId
de chacune :
$MI = Get-AzSqlServer -ResourceGroupName "resourcegroupnamehere" -Name "sql-logical-server-name-here"
$MI.Identity.UserAssignedIdentities | ConvertTo-Json
Pour récupérer la SMI d’un serveur logique Azure SQL Database :
$MI = Get-AzSqlServer -ResourceGroupName "resourcegroupnamehere" -Name "sql-logical-server-name-here"
$MI.Identity.principalId
Pour mettre à jour le paramètre de serveur de l’UMI, utilisez la commande Set-AzSqlServer.
Pour provisionner une nouvelle instance managée avec une UMI, utilisez la commande New-AzSqlInstance.
Pour obtenir les identités managées d’une instance managée, utilisez la commande Get-AzSqlInstance.
Par exemple, pour récupérer la ou les UMI d’une instance managée, recherchez le principalId
de chacune :
$MI = Get-AzSqlInstance -ResourceGroupName "resourcegroupnamehere" -Name "sql-mi-name-here"
$MI.Identity.UserAssignedIdentities | ConvertTo-Json
Pour récupérer le SMI d’une instance managée :
$MI = Get-AzSqlInstance -ResourceGroupName "resourcegroupnamehere" -Name "sql-mi-name-here"
$MI.Identity.principalId
Pour mettre à jour le paramètre d’instance managée de l’UMI, utilisez la commande Set-AzSqlInstance.
Pour mettre à jour les paramètres UMI du serveur, vous pouvez également utiliser le script de provisionnement de l’API REST utilisé dans Créer un serveur logique en utilisant une identité managée affectée par l’utilisateur ou Créer une instance managée en utilisant une identité managée affectée par l’utilisateur. Réexécutez la commande de configuration dans le guide avec la propriété d’identité managée mise à jour que vous voulez mettre à jour.
Pour mettre à jour les paramètres UMI du serveur, vous pouvez également utiliser le modèle ARM (Azure Resource Manager) utilisé dans Créer un serveur logique en utilisant une identité managée affectée par l’utilisateur ou Créer une instance managée en utilisant une identité managée affectée par l’utilisateur. Réexécutez la commande de configuration dans le guide avec la propriété d’identité managée mise à jour que vous voulez mettre à jour.
Notes
Vous ne pouvez pas modifier l’administrateur du serveur ou son mot de passe et vous ne pouvez pas modifier l’administrateur Microsoft Entra en réexécutant la commande de provisionnement du modèle ARM.
Managed Instance needs permissions to access Microsoft Entra ID. Click here to grant "Read" permissions to your Managed Instance.
Si vous avez accordé à l’UMI les autorisations appropriées décrites précédemment dans cet article, vous pouvez ignorer cet avertissement.Événements
31 mars, 23 h - 2 avr., 23 h
L’événement de la communauté Microsoft Fabric, Power BI, SQL et AI ultime. 31 mars au 2 avril 2025.
Inscrivez-vous aujourd’huiEntrainement
Parcours d’apprentissage
Configurer et gouverner les droits avec Microsoft Entra ID SC-5008 - Training
Utilisez Microsoft Entra pour gérer l’accès en utilisant des droits, des révisions d’accès, des outils d’accès privilégié et la surveillance des événements d’accès. (SC-5008)
Certification
Microsoft Certified: Identity and Access Administrator Associate - Certifications
Expliquez les fonctionnalités de Microsoft Entra ID pour moderniser des solutions d’identité, implémenter des solutions hybrides et une gouvernance des identités.