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 SQL Databasev prostředcích infrastruktury
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é
Modul Azure Resource Manager (AzureRM) PowerShellu byl 29. února 2024 zastaralý. Veškerý budoucí vývoj by měl používat modul Az.Sql. Uživatelům se doporučuje migrovat z AzureRM do modulu Az PowerShell, aby se zajistila nepřetržitá podpora a aktualizace. Modul AzureRM se už neudržuje ani nepodporuje. Argumenty pro příkazy v modulu Az PowerShell a v modulech AzureRM jsou podstatně identické. Další informace o jejich kompatibilitě najdete v tématu Představujeme nový modul 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
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