Condividi tramite


Ottenere i valori richiesti per l'autenticazione di un'applicazione per l'accesso al database SQL di Azure dal codice

Si applica a: Database SQL di Azure

Per creare e gestire un database SQL di Azure dal codice, è necessario registrare l'app con Microsoft Entra ID (precedentemente Azure Active Directory). L'app deve essere registrata nello stesso tenant Microsoft Entra della risorsa database SQL di Azure.

Creare un'entità servizio per accedere alle risorse da un'applicazione

Gli esempi seguenti permettono di creare l'applicazione Microsoft Entra e l'entità servizio necessarie per autenticare l'app C#. Lo script restituisce i valori necessari per l'esempio di C# precedente. Per informazioni dettagliate, vedere Usare Azure PowerShell per creare un'entità servizio per accedere alle risorse.

Importante

Il modulo Azure Resource Manager (RM) di PowerShell è ancora supportato dal database SQL, ma tutte le attività di sviluppo future sono incentrate sul modulo Az.Sql. Il modulo AzureRM continuerà a ricevere correzioni di bug almeno fino a dicembre 2020. Gli argomenti per i comandi nei moduli Az e AzureRm sono sostanzialmente identici. Per altre informazioni sulla compatibilità, vedere Introduzione del nuovo modulo Az di Azure 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

Vedi anche

Creare un database vuoto nel database SQL di Azure con C#
Connettersi al database SQL di Azure usando l'autenticazione di Microsoft Entra