Partage via


Obtenir les valeurs requises pour authentifier une application en vue d’accéder à Azure SQL Database à partir du code

S’applique à :Base de données Azure SQLBase de données SQL dans Fabric

Pour créer et gérer une base de données Azure SQL à partir du code, vous devez inscrire votre application auprès de Microsoft Entra ID (anciennement Azure Active Directory). L’application doit être inscrite dans le même locataire Microsoft Entra que votre ressource Azure SQL Database.

Créer un principal du service pour accéder aux ressources à partir d’une application

Les exemples suivants créent l’application Microsoft Entra et le principal de service dont nous avons besoin pour authentifier notre application C#. Le script génère les valeurs dont nous avons besoin pour l’exemple C# précédent. Pour plus de détails, consultez la page Créer un principal du service pour accéder aux ressources à l’aide d’Azure PowerShell.

Important

Le module PowerShell Azure Resource Manager (AzureRM) a été déconseillé le 29 février 2024. Tout le développement futur doit utiliser le module Az.Sql. Les utilisateurs sont invités à migrer d’AzureRM vers le module Az PowerShell pour garantir une prise en charge et des mises à jour continues. Le module AzureRM n’est plus géré ou pris en charge. Les arguments des commandes dans le module Az PowerShell et dans les modules AzureRM sont sensiblement identiques. Pour plus d’informations sur leur compatibilité, consultez Présentation du nouveau module Az PowerShell.

# sign in to Azure
Connect-AzAccount

# for multiple subscriptions, uncomment and set to the subscription you want to work with
#$subscriptionId = "{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}"
#Set-AzContext -SubscriptionId $subscriptionId

$appName = "{app-name}" # display name for your app, must be unique in your directory
$uri = "http://{app-name}" # does not need to be a real uri
$secret = "{app-password}"

# create an AAD app
$azureAdApplication = New-AzADApplication -DisplayName $appName -HomePage $Uri -IdentifierUris $Uri -Password $secret

# create a Service Principal for the app
$svcprincipal = New-AzADServicePrincipal -ApplicationId $azureAdApplication.ApplicationId

Start-Sleep -s 15 # to avoid a PrincipalNotFound error, pause here for 15 seconds

# if you still get a PrincipalNotFound error, then rerun the following until successful.
$roleassignment = New-AzRoleAssignment -RoleDefinitionName Contributor -ServicePrincipalName $azureAdApplication.ApplicationId.Guid

# output the values we need for our C# application to successfully authenticate
Write-Output "Copy these values into the C# sample app"

Write-Output "_subscriptionId:" (Get-AzContext).Subscription.SubscriptionId
Write-Output "_tenantId:" (Get-AzContext).Tenant.TenantId
Write-Output "_applicationId:" $azureAdApplication.ApplicationId.Guid
Write-Output "_applicationSecret:" $secret

Voir aussi

Créer une base de données dans Azure SQL Database avec C#
Se connecter à SQL Server à l’aide de l’authentification Microsoft Entra