Získání požadovaných hodnot pro ověřování aplikace pro přístup ke službě Azure SQL Database z kódu
Platí pro: Azure SQL Database
Pokud chcete vytvořit a spravovat službu Azure SQL Database z kódu, musíte aplikaci zaregistrovat v Microsoft Entra ID (dříve Azure Active Directory). Aplikace musí být zaregistrovaná ve stejném tenantovi Microsoft Entra jako prostředek azure SQL Database.
Vytvoření instančního objektu pro přístup k prostředkům z aplikace
Následující příklady vytvoří aplikaci Microsoft Entra a instanční objekt, který potřebujeme k ověření naší aplikace v jazyce C#. Skript vypíše hodnoty potřebné pro předchozí ukázku v jazyce C#. Podrobné informace najdete v tématu Vytvoření instančního objektu pro přístup k prostředkům pomocí prostředí Azure PowerShell.
Důležité
SQL Database stále podporuje modul Azure Resource Manageru (RM) PowerShellu, ale veškerý budoucí vývoj je určený pro modul Az.Sql. Modul AzureRM bude dál dostávat opravy chyb až do alespoň prosince 2020. Argumenty pro příkazy v modulu Az a v modulech AzureRm jsou podstatně identické. Další informace o jejich kompatibilitě najdete v tématu Představení nového modulu Az Azure PowerShellu.
# 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 ve službě Azure SQL Database pomocí jazyka C#
Připojení ke službě Azure SQL Database pomocí ověřování Microsoft Entra