Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunun için geçerlidir: SQL Server 2025 (17.x)
- SQL Server 2022
- SQL Server 2025
Azure SQL Database & Azure SQL Managed Instance - Azure VM'lerde SQL Server
Bu makalede, Azure Arc tarafından etkinleştirilen SQL Server için Microsoft Entra ID yönetilen kimliği ayarlamaya ve yapılandırmaya yönelik adım adım yönergeler sağlanır.
SQL Server yönetilen kimlik hakkında genel bakış için bkz. Azure Arc tarafından etkinleştirilen SQL Server için Yönetilen kimlik.
Önkoşullar
Azure Arc tarafından etkinleştirilen SQL Server ile yönetilen kimlik kullanabilmeniz için aşağıdaki önkoşulları karşıladığınızdan emin olun:
- Windows üzerinde çalışan SQL Server 2025 ve üzeri için desteklenir.
- SQL Server Azure Arc bağlayın.
- SQL Server için
Azure Uzantısı'nın en son sürümü.
Birincil yönetilen kimliği etkinleştirme
Sunucunuza SQL Server için Azure Uzantısı'nı yüklediyseniz, doğrudan Azure portalından SQL Server örneğiniz için birincil yönetilen kimliği etkinleştirebilirsiniz. Ayrıca, kayıt defterini güncelleştirerek birincil yönetilen kimliği el ile etkinleştirmek de mümkündür, ancak çok dikkatli olunmalıdır.
Azure portalında birincil yönetilen kimliği etkinleştirmek için şu adımları izleyin:
Azure portalında Azure Arc ile etkinleştirilen SQL Server kaynağınıza gidin.
Settings altında Microsoft Entra ID ve Purview'ı seçerek Microsoft Entra ID ve Purview sayfasını açın.
Uyarı
Enable Microsoft Entra ID authentication seçeneğini görmüyorsanız, SQL Server örneğinizin Azure Arc bağlı olduğundan ve en son SQL uzantısının yüklü olduğundan emin olun.
Microsoft Entra ID ve Purview sayfasında,Birincil yönetilen kimlik kullan seçeneğinin yanındaki kutuyu işaretleyin ve ardından yapılandırmanızı uygulamak içinKaydet kullanın.
Kimliğe uygulama izinleri tanımak
Önemli
Bu izinleri yalnızca Ayrıcalıklı Rol Yöneticisi veya daha yüksek bir rol verebilir.
SQL Server örneklerde Microsoft Entra kimlik doğrulamasını etkinleştirmek için, sistem tarafından atanan her yönetilen kimlik için Microsoft Graph sorgulamak için User.Read.All, GroupMember.Read.All ve Application.Read.All izinleri gerekir. Bu izinler hakkında daha fazla bilgi için bkz:
- User.Read.All: Microsoft Entra kullanıcı bilgilerine erişime izin verir.
- GroupMember.Read.All: Microsoft Entra grup bilgilerine erişime izin verir.
- Application.Read.All: Microsoft Entra servis temsilcisi (uygulama) bilgilerine erişim sağlar.
Bu izinler uygulama düzeyinde izinlerdir (uygulama rolleri) ve yönetilen her kimliğe doğrudan atanmalıdır. Microsoft Entra güvenlik grubuna el ile atanamaz ve grup üyeliği aracılığıyla üyelere sağlanamaz. Birçok makineye sahip ortamlarda alternatif olarak Directory Readers rolünü role atanabilir Microsoft Entra güvenlik grubuna atamak ve yönetilen kimlikleri üye olarak eklemektir. Uygulama rolü izinlerinden farklı olarak, bu Microsoft Entra rolü grup düzeyinde verilebilir ve bu da yönetimi büyük ölçekte basitleştirir. Ancak Directory Readers tüm dizin nesneleri arasında geniş okuma erişimi verir ve hedeflenen üç Graph API iznini önemli ölçüde aşıyor. Dizin Okuyucuları rolü, en az ayrıcalıklı erişimin gerekli olduğu üretim ortamları için önerilmez.
Aşağıdaki PowerShell betiği yönetilen kimliğe gerekli izinleri verir. Bu betiğin PowerShell 7.5 veya sonraki bir sürümde çalıştırıldığından ve Microsoft.Graph modülü 2.28 veya üzerinin yüklü olduğundan emin olun.
# Set your Azure tenant and managed identity name
$tenantID = '<Enter-Your-Azure-Tenant-Id>'
$managedIdentityName = '<Enter-Your-Arc-HostMachine-Name>'
# Connect to Microsoft Graph
try {
Connect-MgGraph -TenantId $tenantID -ErrorAction Stop
Write-Output "Connected to Microsoft Graph successfully."
}
catch {
Write-Error "Failed to connect to Microsoft Graph: $_"
return
}
# Get Microsoft Graph service principal
$graphAppId = '00000003-0000-0000-c000-000000000000'
$graphSP = Get-MgServicePrincipal -Filter "appId eq '$graphAppId'"
if (-not $graphSP) {
Write-Error "Microsoft Graph service principal not found."
return
}
# Get the managed identity service principal
$managedIdentity = Get-MgServicePrincipal -Filter "displayName eq '$managedIdentityName'"
if (-not $managedIdentity) {
Write-Error "Managed identity '$managedIdentityName' not found."
return
}
# Define roles to assign
$requiredRoles = @(
"User.Read.All",
"GroupMember.Read.All",
"Application.Read.All"
)
# Assign roles using scoped syntax
foreach ($roleValue in $requiredRoles) {
$appRole = $graphSP.AppRoles | Where-Object {
$_.Value -eq $roleValue -and $_.AllowedMemberTypes -contains "Application"
}
if ($appRole) {
try {
New-MgServicePrincipalAppRoleAssignment -ServicePrincipalId $managedIdentity.Id `
-PrincipalId $managedIdentity.Id `
-ResourceId $graphSP.Id `
-AppRoleId $appRole.Id `
-ErrorAction Stop
Write-Output "Successfully assigned role '$roleValue' to '$managedIdentityName'."
}
catch {
Write-Warning "Failed to assign role '$roleValue': $_"
}
}
else {
Write-Warning "Role '$roleValue' not found in Microsoft Graph AppRoles."
}
}
Oturumlar ve kullanıcılar oluşturma
Yönetilen kimlik için oturum açma bilgileri ve kullanıcılar oluşturmak için Microsoft Entra öğreticisi bölümündeki adımları izleyin.