Získání požadovaných hodnot pro ověřování aplikace pro přístup Azure SQL Database z kódu

PLATÍ PRO: Azure SQL Database

Pokud chcete vytvořit a spravovat Azure SQL Database z kódu, musíte aplikaci zaregistrovat v doméně Azure Active Directory (Azure AD) v předplatném, kde jste vytvořili vaše prostředky Azure.

Vytvoření hlavního objektu služby pro přístup k prostředkům z aplikace

Následující příklady vytvářejí aplikaci Active Directory (AD) a hlavní objekt služby, který potřebujeme k ověření naší aplikace C#. Skript vysíl hodnoty, které potřebujeme pro předchozí ukázku jazyka C#. Podrobné informace najdete v tématu Použití Azure PowerShell k vytvoření hlavního objektu služby pro přístup k prostředkům.

Důležité:

Modul PowerShell Azure Resource Manager (RM) stále podporuje SQL Database, ale veškerý budoucí vývoj je pro modul Az.Sql. Modul AzureRM bude dostávat opravy chyb až do prosince 2020. Argumenty příkazů v modulu Az a v modulech AzureRm jsou podstatně shodné. Další informace o kompatibilitě najdete v tématu Představení nového modulu Azure PowerShell Az.

# 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

Viz také

Vytvoření databáze v Azure SQL Database pomocí C #
Připojení k Azure SQL Database pomocí Azure Active Directory ověřování