Compartir vía


Obtención de los valores necesarios para autenticar una aplicación y acceder a Azure SQL Database desde el código

Se aplica a:Azure SQL DatabaseBase de datos SQL en Fabric

Para crear y administrar una instancia de Azure SQL Database a partir del código, debe registrar la aplicación con Microsoft Entra ID (anteriormente Azure Active Directory). La aplicación debe registrarse en el mismo inquilino de Microsoft Entra que el recurso de Azure SQL Database.

Creación de una entidad de servicio para acceder a recursos desde una aplicación

En los ejemplos siguientes se crea la aplicación de Microsoft Entra y la entidad de servicio que se necesitan para autenticar la aplicación de C#. En la salida del script, se encuentran los valores que se necesitan para el anterior ejemplo de C#. Para ver información detallada, consulte Uso de Azure PowerShell para crear una entidad de servicio para acceder a recursos.

Importante

El módulo de Azure Resource Manager (AzureRM) de PowerShell ha quedado en desuso el 29 de febrero de 2024. Todo el desarrollo futuro debe usar el módulo Az.Sql. Se recomienda a los usuarios migrar de AzureRM al módulo de Az PowerShell para garantizar la compatibilidad y las actualizaciones continuas. El módulo AzureRM ya no cuenta con mantenimiento ni soporte. Los argumentos de los comandos del módulo Az PowerShell y en los módulos AzureRM son sustancialmente idénticos. Para obtener más información sobre su compatibilidad, consulte Introducción al nuevo módulo de 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

Consulte también

Creación de una base de datos en Azure SQL Database con C#
Conexión a Azure SQL Database mediante la autenticación de Microsoft Entra