Partilhar via


Obtenha os valores necessários para autenticar um aplicativo para acessar o Banco de Dados SQL do Azure a partir do código

Aplica-se a:Banco de Dados SQL do Azure

Para criar e gerenciar um Banco de Dados SQL do Azure a partir do código, você deve registrar seu aplicativo com a ID do Microsoft Entra (anteriormente Azure Ative Directory). O aplicativo deve ser registrado no mesmo locatário do Microsoft Entra que seu recurso do Banco de Dados SQL do Azure.

Criar uma entidade de serviço para acessar recursos de um aplicativo

Os exemplos a seguir criam o aplicativo Ative Directory (AD) e a entidade de serviço de que precisamos para autenticar nosso aplicativo C#. O script produz os valores de necessários para a amostra do C# precedente. Para obter informações detalhadas, consulte Utilize o Azure PowerShell para criar um principal de serviço para aceder aos recursos.

Importante

O módulo PowerShell Azure Resource Manager (RM) ainda é suportado pelo Banco de Dados SQL, mas todo o desenvolvimento futuro é para o módulo Az.Sql. O módulo AzureRM continuará a receber correções de bugs até, pelo menos, dezembro de 2020. Os argumentos para os comandos no módulo Az e nos módulos AzureRm são substancialmente idênticos. Para obter mais informações sobre sua compatibilidade, consulte Apresentando o novo módulo Az do 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

Consulte também

Criar um banco de dados no Banco de Dados SQL do Azure com C#
Conectar-se ao Banco de Dados SQL do Azure usando a autenticação do Microsoft Entra