Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Применимо к: SQL Server 2025 (17.x)
В этой статье приведены пошаговые инструкции по настройке и конфигурации управляемого удостоверения Microsoft Entra ID для SQL Server, активированного с помощью Azure Arc.
Общие сведения об управляемом удостоверении с помощью SQL Server см. в разделе "Управляемое удостоверение для SQL Server" с поддержкой Azure Arc.
Предпосылки
Прежде чем использовать управляемое удостоверение с SQL Server с поддержкой Azure Arc, убедитесь, что выполнены следующие предварительные требования:
- Поддерживается для SQL Server 2025 и более поздних версий, работающих в Windows.
- Подключите SQL Server к Azure Arc.
- Последняя версия расширения Azure для SQL Server.
Включите основное управляемое удостоверение
Если вы установили расширение Azure для SQL Server на своем сервере, вы можете включить главное управляемое удостоверение для экземпляра SQL Server прямо из портала Azure. Кроме того, можно включить основное управляемое удостоверение вручную, обновив реестр, но следует сделать с крайней осторожностью.
Чтобы включить основное управляемое удостоверение на портале Azure, выполните следующие действия.
Перейдите к серверу SQL Server, включенному с помощью Azure Arc на портале Azure.
В разделе «Параметры» выберите Microsoft Entra ID and Purview, чтобы открыть страницу Microsoft Entra ID and Purview.
Замечание
Если вы не видите параметр включения проверки подлинности Microsoft Entra ID, убедитесь, что экземпляр SQL Server подключен к Azure Arc и установлено последнее расширение SQL.
На странице Microsoft Entra ID и Purview установите флажок рядом с Использовать основную управляемую идентификацию, а затем нажмите Сохранить, чтобы применить конфигурацию.
Предоставление разрешений удостоверению личности
Это важно
Эти разрешения могут предоставлять только администратор привилегированных ролей или более поздней роли.
Управляемое удостоверение, назначаемое системой, использующее имя машины с поддержкой Arc, должно иметь следующие разрешения приложения Microsoft Graph (роли приложения):
User.Read.All: разрешает доступ к сведениям пользователя Microsoft Entra.
GroupMember.Read.All: разрешает доступ к данным группы Microsoft Entra.
Application.Read.ALL: разрешает доступ к сведениям субъекта-службы (приложения) Microsoft Entra.
PowerShell можно использовать для предоставления необходимых разрешений управляемому удостоверению. Кроме того, можно создать группу с возможностью назначения ролей. После создания группы назначьте группе роль "Читатели каталогов" или разрешения User.Read.All, GroupMember.Read.All, и Application.Read.All, и добавьте в группу все управляемые удостоверения, назначенные системой для компьютеров с поддержкой Azure Arc. Мы не рекомендуем использовать роль читателей каталогов в рабочей среде.
Следующий скрипт PowerShell предоставляет необходимые разрешения управляемому удостоверению. Убедитесь, что этот скрипт запущен в PowerShell 7.5 или более поздней версии и установлен Microsoft.Graph модуль 2.28 или более поздней версии.
# 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."
}
}
Создание имен для входа и пользователей
Выполните действия, описанные в руководстве по Microsoft Entra , чтобы создать имена входа и пользователей для управляемого удостоверения.