다음을 통해 공유


Azure Arc에서 사용하도록 설정된 SQL Server에 대한 관리 ID(미리 보기)

적용 대상: SQL Server 2025(17.x) 미리 보기

이 문서에서는 Azure Arc에서 사용하도록 설정된 SQL Server에 대한 관리 ID를 구성하는 방법을 설명합니다.

SQL Server 2025(17.x) 미리 보기에는 Windows의 SQL Server에 대한 관리 ID 지원이 포함됩니다. 관리 ID를 사용하여 Microsoft Entra 인증을 사용하여 Azure의 리소스와 상호 작용합니다.

비고

SQL Server 2025에서 관리 ID 사용은 현재 미리 보기로 제공됩니다.

개요

SQL Server 2025(17.x) 미리 보기에는 Microsoft Entra 관리 ID에 대한 지원이 도입되었습니다. 관리 ID를 사용하여 자격 증명을 관리할 필요 없이 Azure 서비스에 인증합니다. 관리 ID는 Azure에서 자동으로 관리되며 Microsoft Entra 인증을 지원하는 모든 서비스에 인증하는 데 사용할 수 있습니다. SQL Server 2025(17.x) 미리 보기를 사용하면 관리 ID를 사용하여 인바운드 연결을 인증하고 Azure 서비스에 대한 아웃바운드 연결을 인증할 수 있습니다.

SQL Server 인스턴스를 Azure Arc에 연결하면 SQL Server 호스트 이름에 대해 시스템 할당 관리 ID가 자동으로 생성됩니다. 관리 ID를 만든 후에는 레지스트리를 업데이트하여 ID를 SQL Server 인스턴스 및 Microsoft Entra 테넌트 ID와 연결해야 합니다.

Azure Arc에서 사용하도록 설정된 SQL Server에서 관리 ID를 사용하는 경우 다음을 고려합니다.

  • 관리 ID는 Azure Arc 서버 수준에서 할당됩니다.
  • 시스템 할당 관리 ID만 지원됩니다.
  • SQL Server는 이 Azure Arc 서버 수준 관리 ID를 기본 관리 ID로 사용합니다.
  • SQL Server는 이 기본 관리 ID를 inbound 연결 및/또는 outbound 연결에서 사용할 수 있습니다.
    • Inbound connections 는 로그인 및 SQL Server에 연결하는 사용자입니다. SQL Server 2022(16.x)부터 앱 등록을 사용하여 인바운드 연결을 수행할 수도 있습니다.
    • Outbound connections 은 URL에 백업하거나 Azure Key Vault에 연결하는 것과 같은 Azure 리소스에 대한 SQL Server 연결입니다.
  • 앱 등록은 SQL Server가 아웃바운드 연결을 할 수 있도록 활성화할 수 없습니다. 아웃바운드 연결에는 SQL Server에 할당된 기본 관리 ID가 필요합니다.

필수 조건

Azure Arc에서 사용하도록 설정된 SQL Server에서 관리 ID를 사용하려면 다음 필수 구성 요소를 충족하는지 확인합니다.

기본 관리 ID 사용

서버에 SQL Server용 Azure 확장을 설치한 경우 Azure Portal에서 직접 SQL Server 인스턴스에 대한 기본 관리 ID를 사용하도록 설정할 수 있습니다. 레지스트리를 업데이트하여 기본 관리 ID를 수동으로 사용하도록 설정할 수도 있지만 주의해야 합니다.

Azure Portal에서 기본 관리 ID를 사용하도록 설정하려면 다음 단계를 수행합니다.

  1. Azure Portal에서 Azure Arc 리소스에서 사용하도록 설정된 SQL Server 로 이동합니다.

  2. 설정에서 Microsoft Entra ID 및 Purview를 선택하여 Microsoft Entra ID 및 Purview 페이지를 엽니다.

    비고

    Microsoft Entra ID 인증 사용 옵션이 표시되지 않으면 SQL Server 인스턴스가 Azure Arc에 연결되어 있고 최신 SQL 확장이 설치되어 있는지 확인합니다.

  3. Microsoft Entra ID 및 Purview 페이지에서 기본 관리 ID 사용 옆의 확인란을 선택한 다음 저장을 사용하여 구성을 적용합니다.

    Azure Portal의 Microsoft Entra 옵션 스크린샷

ID에 애플리케이션 사용 권한 부여

Arc 지원 컴퓨터 이름을 사용하는 시스템 할당 관리 ID에는 다음과 같은 Microsoft Graph 애플리케이션 권한(앱 역할)User.Read.AllGroupMember.Read.AllApplication.Read.All이 있어야 합니다.

PowerShell을 사용하여 관리 ID에 필요한 권한을 부여할 수 있습니다. 또는 역할 할당 가능 그룹을 만들 수 있습니다. 그룹을 만든 후 디렉터리 판독 기 역할을 그룹에 할당하고 Arc 지원 컴퓨터에 대한 모든 시스템 할당 관리 ID를 그룹에 추가합니다.

다음 PowerShell 스크립트는 관리 ID에 필요한 권한을 부여합니다. 이 스크립트가 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 자습서의 단계에 따라 관리 ID에 대한 로그인 및 사용자를 만듭니다.

제한점

SQL Server 2025에서 관리 ID를 사용하는 경우 다음과 같은 제한 사항을 고려합니다.

  • Microsoft Entra 인증은 Windows Server에서 실행되는 Arc 지원 SQL Server 2025에서만 지원됩니다.
  • 장애 조치(failover) 클러스터 인스턴스에서 Microsoft Entra 인증을 사용하는 것은 지원되지 않습니다.
  • SQL Server에 인증하도록 선택한 ID는 Microsoft Entra ID의 디렉터리 읽기 권한자 역할 또는 다음 세 가지 Microsoft Graph 애플리케이션 권한(앱 역할): User.Read.All, GroupMember.Read.All, 및 Application.Read.All이 있어야 합니다.
  • Microsoft Entra 인증을 사용하도록 설정하면 비활성화하는 것은 권장되지 않습니다. 레지스트리 항목을 삭제하여 Microsoft Entra 인증을 강제로 사용하지 않도록 설정하면 SQL Server 2025에서 예측할 수 없는 동작이 발생할 수 있습니다.
  • FIDO2 메서드를 사용하여 Microsoft Entra 인증을 통해 Arc 컴퓨터의 SQL Server에 인증하는 것은 현재 지원되지 않습니다.
  • OPENROWSET BULK 작업은 토큰 폴더 C:\ProgramData\AzureConnectedMachineAgent\Tokens\를 읽을 수도 있습니다. 이 BULK 옵션에는 사용 권한 중 하나 ADMINISTER BULK OPERATIONS 또는 ADMINISTER DATABASE BULK OPERATIONS 권한이 필요합니다. 이러한 권한은 sysadmin과 동등한 권한으로 처리되어야 합니다.