Ottenere i valori richiesti per l'autenticazione di un'applicazione per l'accesso al database SQL dal codiceGet the required values for authenticating an application to access SQL Database from code

Per creare e gestire database SQL dal codice è necessario registrare l'app nel dominio di Azure Active Directory (AAD) nella sottoscrizione in cui sono state create le risorse di Azure.To create and manage SQL Database from code you must register your app in the Azure Active Directory (AAD) domain in the subscription where your Azure resources have been created.

Creare un'entità servizio per accedere alle risorse da un'applicazioneCreate a service principal to access resources from an application

È necessario che sia installata ed eseguita la versione più recente di Azure PowerShell.You need to have the latest Azure PowerShell installed and running. Per informazioni dettagliate, vedere Come installare e configurare Azure PowerShell.For detailed information, see How to install and configure Azure PowerShell.

Lo script di PowerShell seguente permette di creare l'applicazione Active Directory (AD) e l'entità servizio necessarie per autenticare l'app C#.The following PowerShell script creates the Active Directory (AD) application and the service principal that we need to authenticate our C# app. Lo script restituisce i valori necessari per l'esempio di C# precedente.The script outputs values we need for the preceding C# sample. Per informazioni dettagliate, vedere Usare Azure PowerShell per creare un'entità servizio per accedere alle risorse.For detailed information, see Use Azure PowerShell to create a service principal to access resources.

# Sign in to Azure.
Connect-AzureRmAccount

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

# Provide these values for your new AAD app.
# $appName is the display name for your app, must be unique in your directory.
# $uri does not need to be a real uri.
# $secret is a password you create.

$appName = "{app-name}"
$uri = "http://{app-name}"
$secret = "{app-password}"

# Create a AAD app
$azureAdApplication = New-AzureRmADApplication -DisplayName $appName -HomePage $Uri -IdentifierUris $Uri -Password $secret

# Create a Service Principal for the app
$svcprincipal = New-AzureRmADServicePrincipal -ApplicationId $azureAdApplication.ApplicationId

# To avoid a PrincipalNotFound error, I pause here for 15 seconds.
Start-Sleep -s 15

# If you still get a PrincipalNotFound error, then rerun the following until successful. 
$roleassignment = New-AzureRmRoleAssignment -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-AzureRmContext).Subscription.SubscriptionId
Write-Output "_tenantId:" (Get-AzureRmContext).Tenant.TenantId
Write-Output "_applicationId:" $azureAdApplication.ApplicationId.Guid
Write-Output "_applicationSecret:" $secret

Vedere anche See also