Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk: SQL Server 2025 (17.x)
Artikel ini menyediakan instruksi langkah demi langkah untuk menyiapkan dan mengonfigurasi identitas terkelola ID Microsoft Entra untuk SQL Server yang diaktifkan oleh Azure Arc.
Untuk gambaran umum identitas terkelola dengan SQL Server, lihat Identitas terkelola untuk SQL Server yang diaktifkan oleh Azure Arc.
Prasyarat
Sebelum Anda dapat menggunakan identitas terkelola dengan SQL Server yang diaktifkan oleh Azure Arc, pastikan Anda memenuhi prasyarat berikut:
- Didukung untuk SQL Server 2025 dan yang lebih baru, berjalan di Windows.
- Sambungkan SQL Server Anda ke Azure Arc.
- Versi terbaru Ekstensi Azure untuk SQL Server.
Mengaktifkan identitas terkelola utama
Jika Anda telah menginstal Ekstensi Azure untuk SQL Server ke server, Anda dapat mengaktifkan identitas terkelola utama untuk instans SQL Server Anda langsung dari portal Microsoft Azure. Dimungkinkan juga untuk mengaktifkan identitas terkelola utama secara manual dengan memperbarui registri, tetapi harus dilakukan dengan sangat hati-hati.
Untuk mengaktifkan identitas terkelola utama di portal Microsoft Azure, ikuti langkah-langkah berikut:
Buka SQL Server Anda yang diaktifkan oleh sumber daya Azure Arc di portal Microsoft Azure.
Di bawah Pengaturan, pilih MICROSOFT Entra ID dan Purview untuk membuka halaman ID Microsoft Entra dan Purview .
Nota
Jika Anda tidak melihat opsi Aktifkan autentikasi ID Microsoft Entra , pastikan instans SQL Server Anda tersambung ke Azure Arc dan ekstensi SQL terbaru telah terinstal.
Pada halaman ID Microsoft Entra dan Purview , centang kotak di samping Gunakan identitas terkelola utama lalu gunakan Simpan untuk menerapkan konfigurasi Anda:
Memberikan izin aplikasi pada identitas.
Penting
Hanya Administrator Peran Istimewa atau peran yang lebih tinggi yang dapat memberikan izin ini.
Identitas terkelola yang ditetapkan sistem, yang menggunakan nama komputer berkemampuan Arc, harus memiliki izin aplikasi Microsoft Graph berikut (peran aplikasi):
User.Read.All: Memungkinkan akses ke informasi pengguna Microsoft Entra.
GroupMember.Read.All: Memungkinkan akses ke informasi grup Microsoft Entra.
Application.Read.ALL: Memungkinkan akses ke informasi perwakilan layanan (aplikasi) Microsoft Entra.
Anda dapat menggunakan PowerShell untuk memberikan izin yang diperlukan ke identitas terkelola. Atau, Anda dapat membuat grup yang dapat ditetapkan peran. Setelah grup dibuat, tetapkan peran Pembaca Direktori atau User.Read.Allizin , , GroupMember.Read.Alldan Application.Read.All ke grup, dan tambahkan semua identitas terkelola yang ditetapkan sistem untuk komputer berkemampuan Azure Arc Anda ke grup. Kami tidak merekomendasikan penggunaan peran Pembaca Direktori di lingkungan produksi Anda.
Skrip PowerShell berikut memberikan izin yang diperlukan ke identitas terkelola. Pastikan skrip ini dijalankan pada PowerShell 7.5 atau versi yang lebih baru, dan memiliki Microsoft.Graph modul 2.28 atau yang lebih baru yang terinstal.
# 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."
}
}
Membuat login dan pengguna
Ikuti langkah-langkah dalam tutorial Microsoft Entra untuk membuat login dan pengguna untuk identitas terkelola.