Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применимо к: Предварительная версия SQL Server 2025 (17.x)
Эта статья объясняет, как настроить управляемое удостоверение для SQL Server, работающего под управлением Azure Arc.
Предварительная версия SQL Server 2025 (17.x) включает поддержку управляемого удостоверения для SQL Server в Windows. Используйте управляемое удостоверение для взаимодействия с ресурсами в Azure с помощью проверки подлинности Microsoft Entra.
Замечание
Использование управляемого удостоверения с SQL Server 2025 в настоящее время находится в предварительной версии.
Обзор
Предварительная версия SQL Server 2025 (17.x) предоставляет поддержку управляемых удостоверений Microsoft Entra. Используйте управляемые удостоверения для проверки подлинности в службах Azure без необходимости управлять учетными данными. Управляемые удостоверения автоматически управляются Azure и могут использоваться для проверки подлинности в любой службе, поддерживающей проверку подлинности Microsoft Entra. С помощью предварительной версии SQL Server 2025 (17.x) можно использовать управляемые удостоверения для проверки подлинности входящих подключений, а также для проверки подлинности исходящих подключений к службам Azure.
При подключении экземпляра SQL Server к Azure Arc управляемое удостоверение, назначаемое системой, автоматически создается для имени узла SQL Server. После создания управляемого удостоверения необходимо связать удостоверение с экземпляром SQL Server и идентификатором клиента Microsoft Entra, обновив реестр.
При использовании управляемого удостоверения с SQL Server, который активирован через Azure Arc, рассмотрите следующее:
- Управляемое удостоверение назначается на уровне сервера Azure Arc.
- Поддерживаются только назначаемые системой управляемые удостоверения.
- SQL Server использует это управляемое удостоверение на уровне сервера Azure Arc в качестве основного управляемого удостоверения.
- SQL Server может использовать это основное управляемое удостоверение в подключениях
inbound
и/илиoutbound
.-
Inbound connections
— это имена входа и пользователи, подключающиеся к SQL Server. Входящие подключения также можно достичь с помощью регистрации приложений, начиная с SQL Server 2022 (16.x). -
Outbound connections
— это подключения SQL Server к ресурсам Azure, например резервное копирование по URL-адресу или подключение к Azure Key Vault.
-
- Регистрация приложений не может позволять SQL Server делать исходящие подключения. Для исходящих подключений требуется основное управляемое удостоверение, назначенное SQL Server.
- Для SQL Server 2025 и более поздних версий рекомендуется использовать настройку Microsoft Entra на основе управляемого удостоверения, как описано в этой статье. Кроме того, можно настроить регистрацию приложения для SQL Server 2025.
Предпосылки
Прежде чем использовать управляемое удостоверение с SQL Server с поддержкой Azure Arc, убедитесь, что выполнены следующие предварительные требования:
- Подключите 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 , чтобы создать имена входа и пользователей для управляемого удостоверения.
Ограничения
При использовании управляемого удостоверения с SQL Server 2025 следует учитывать следующие ограничения:
- Настройка управляемого удостоверения для проверки подлинности Microsoft Entra поддерживается только для SQL Server 2025 с поддержкой Azure Arc, работающем на Windows Server.
- SQL Server должен иметь доступ к общедоступному облаку Azure для использования проверки подлинности Microsoft Entra.
- Использование аутентификации Microsoft Entra с экземплярами кластеров отказоустойчивости не поддерживается.
- После того как включена проверка подлинности Microsoft Entra, отключение не рекомендуется. Принудительное отключение проверки подлинности Microsoft Entra путем удаления записей реестра может привести к непредсказуемому поведению с SQL Server 2025.
- Проверка подлинности в SQL Server на компьютерах Arc с помощью проверки подлинности Microsoft Entra с помощью метода FIDO2 в настоящее время не поддерживается.
-
Операции OPENROWSET BULK также могут считывать папку
C:\ProgramData\AzureConnectedMachineAgent\Tokens\
токенов. Для параметраBULK
требуются разрешенияADMINISTER BULK OPERATIONS
илиADMINISTER DATABASE BULK OPERATIONS
. Эти разрешения следует рассматривать как эквивалент sysadmin.