Sdílet prostřednictvím


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 Active Directory (AD) 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í do služby Azure SQL Database pomocí ověřování Microsoft Entra