Koddan Azure SQL Veritabanı erişmek için uygulamanın kimliğini doğrulamak için gerekli değerleri alma

Şunlar için geçerlidir: Azure SQL Veritabanı

Koddan Azure SQL Veritabanı oluşturmak ve yönetmek için uygulamanızı Microsoft Entra Id (eski adıyla Azure Active Directory) ile kaydetmeniz gerekir. Uygulamanın Azure SQL Veritabanı kaynağınızla aynı Microsoft Entra kiracısında kayıtlı olması gerekir.

Bir uygulamadan kaynaklara erişmek için hizmet sorumlusu oluşturma

Aşağıdaki örnekler, C# uygulamamızın kimliğini doğrulamak için ihtiyacımız olan Microsoft Entra uygulamasını ve hizmet sorumlusunu oluşturur. Betik önceki C# örneği için gereken değerleri çıkarır. Ayrıntılı bilgi için bkz. Kaynaklara erişmek üzere hizmet sorumlusu oluşturmak için Azure PowerShell kullanma.

Önemli

PowerShell Azure Resource Manager (RM) modülü SQL Veritabanı tarafından hala desteklenmektedir ancak gelecekteki tüm geliştirmeler Az.Sql modülüne yöneliktir. AzureRM modülü en az Aralık 2020'ye kadar hata düzeltmeleri almaya devam edecektir. Az modülündeki ve AzureRm modüllerindeki komutların bağımsız değişkenleri önemli ölçüde aynıdır. Uyumlulukları hakkında daha fazla bilgi için bkz . Yeni Azure PowerShell Az modülüne giriş.

# 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

Ayrıca bkz.

C ile Azure SQL Veritabanı'da veritabanı oluşturma#
Microsoft Entra kimlik doğrulamasını kullanarak Azure SQL Veritabanı bağlanma