다음을 통해 공유


SQL Server용 Azure 확장에 대한 Windows 서비스 계정 및 권한 구성

적용 대상:SQL Server

이 문서에서는 Azure Arc에서 사용하도록 설정된 SQL Server 인스턴스에 대해 NT Service\SQLServerExtension 사용하는 경우 SQL Server용 Azure 확장에서 계정에 부여하는 권한을 나열합니다. 최소 권한 구성으로 확장은 Azure Portal에서 기능을 사용하도록 설정할 때 필요한 권한만 부여합니다.

Note

NT Authority\System 는 나열된 디렉터리 및 레지스트리 키에 대한 권한을 수정할 수 있는 액세스 권한이 있어야 합니다. 이 액세스 권한은 최소 권한 모드에 NT Authority\System 대해 계정에 필요한 액세스 권한을 부여할 수 있도록 NT Service\SqlServerExtension 필요합니다.

Overview

최소 권한으로 SQL Server를 Azure Arc에 연결하면 Azure Arc 확장은 해당 서비스 계정을 부여하며, NT SERVICE\SQLServerExtension해당 기능을 사용하도록 설정할 때 각 기능에 필요한 권한만 부여합니다. 기능을 사용하지 않도록 설정하면 확장에서 해당 사용 권한을 자동으로 제거합니다. 기능이 비활성 상태이면 확장에서 해당 기능에 대한 사용 권한을 부여하지 않습니다.

에이전트 계정에 대한 사용 권한을 수동으로 설정하는 것은 지원되지 않습니다.

Note

현재 최소 권한 구성은 기본적으로 적용되지 않습니다.

확장 버전 1.1.2859.223 이상이 있는 기존 서버에는 결국 최소 권한 구성이 적용됩니다. 이 확장은 2024년 11월에 릴리스되었습니다. 최소 권한의 자동 적용을 방지하기 위해, 1.1.2859.223 후에 확장 업그레이드를 차단합니다.

기능별 SQL 권한 섹션에서는 다음 기능을 사용하도록 설정할 때 확장에서 부여하는 권한을 설명합니다.

디렉터리 권한

디렉터리 경로 필요한 권한 Details Feature
<SystemDrive>\Packages\Plugins\Microsoft.AzureData.WindowsAgent.SQLServer 모든 권한 확장 관련 DLL 및 EXE 파일. Default
C:\Packages\Plugins\Microsoft.AzureData.WindowsAgent.SqlServer\<extension_version>\RuntimeSettings 모든 권한 확장 설정 파일입니다. Default
C:\Packages\Plugins\Microsoft.AzureData.WindowsAgent.SqlServer\<extension_version>\status 모든 권한 확장 상태 파일입니다. Default
C:\ProgramData\GuestConfig\extension_logs\Microsoft.AzureData.WindowsAgent.SqlServer 모든 권한 확장 로그 파일. Default
C:\Packages\Plugins\Microsoft.AzureData.WindowsAgent.SqlServer\<extension_version>\status\HeartBeat.Json 모든 권한 확장자 하트비트 파일입니다. Default
%ProgramFiles%\Sql Server Extension 모든 권한 확장 서비스 파일. Default
<SystemDrive>\Windows\system32\extensionUpload 모든 권한 청구에 필요한 사용량 파일을 작성하는 데 필요합니다. Default
<SystemDrive>\Windows\system32\ExtensionHandler.log 모든 권한 확장에 의해 만들어진 사전 로그 폴더입니다. Default
<ProgramData>\AzureConnectedMachineAgent\Config Read Arc 구성 파일 디렉터리입니다. Default
C:\Windows\System32\config\systemprofile\AppData\Local\Microsoft SQL Server Extension Agent 모든 권한 평가 보고서 및 상태를 작성하는 데 필요합니다. Default
SQL 로그 디렉터리(레지스트리에 설정된 대로) 1 :
C:\Program Files\Microsoft SQL Server\MSSQL<base_version>.<instance_name>\MSSQL\log
Read SQL 로그에서 SQL vCore 정보를 추출하는 데 필요합니다. Default
SQL 백업 디렉터리(레지스트리에 설정된 대로) 1 :
C:\Program Files\Microsoft SQL Server\MSSQL<base_version>.<instance_name>\MSSQL\Backup
ReadAndExecute/Write /Delete 백업에 필요 Backup

1 자세한 내용은 파일 위치 및 레지스트리 매핑을 참조하세요.

레지스트리 권한

기본 키: HKEY_LOCAL_MACHINE

레지스트리 키 필요한 권한 Details Feature
SOFTWARE\Microsoft\Microsoft SQL Server Read 와 같은 installedInstancesSQL Server 속성을 읽습니다. Default
SOFTWARE\Microsoft\Microsoft SQL Server\<InstanceRegistryName>\MSSQLSERVER 모든 권한 Microsoft Entra ID 및 Purview. Microsoft Entra ID

Purview
SOFTWARE\Microsoft\SystemCertificates 모든 권한 Microsoft Entra ID에 필요합니다. Microsoft Entra ID
SYSTEM\CurrentControlSet\Services Read SQL Server 계정 이름입니다. Default
SOFTWARE\Microsoft\AzureDefender\SQL Read Azure Defender 상태 및 마지막 업데이트 시간입니다. Default
SOFTWARE\Microsoft\SqlServerExtension 모든 권한 확장 관련 값입니다. Default
SOFTWARE\Policies\Microsoft\Windows 읽기 및 쓰기 확장을 통해 자동 창 업데이트를 사용하도록 설정합니다. 자동 업데이트

그룹 사용 권한

NT Service\SQLServerExtension 는 하이브리드 에이전트 확장 애플리케이션에 추가됩니다. 이렇게 하면 AZURE IMDS(Instance Metadata Service) 핸드셰이크를 통해 DPS(데이터 처리 서비스) 및 청구 사용량, 확장 로그 및 모니터링 대시보드 데이터 수집을 위한 원격 분석 엔드포인트와 같은 Azure 데이터 평면 서비스와 통신하는 데 필요한 Machine 리소스 관리 ID 토큰을 검색할 수 있습니다.

SQL 권한

NT Service\SQLServerExtension 계정이 추가됩니다.

  • 컴퓨터에 현재 있는 모든 인스턴스에 대한 SQL 로그인으로
  • 각 데이터베이스의 사용자로

또한 기능을 사용하도록 설정하면 확장에서 인스턴스 및 데이터베이스 개체에 대한 사용 권한을 부여합니다.

Note

최소 권한은 사용 가능한 기능에 따라 달라집니다. 확장은 더 이상 필요하지 않은 경우 권한을 업데이트합니다. 기능을 사용하도록 설정할 때 필요한 권한을 부여합니다.

NT Service\SQLServerExtension 계정 권한 세부 정보

레지스트리 경로 허가 계정이 손상된 경우 NT Service\SQLServerExtension 권한에 대한 관련 위험
SOFTWARE\Microsoft\Microsoft SQL Server Read 확장은 설치된 SQL Server 버전을 확인할 수 있습니다.
SOFTWARE\Microsoft\Microsoft SQL Server\\MSSQLSERVER 모든 권한 Microsoft Entra 인증 또는 Purview를 사용하도록 설정한 경우에만 필요합니다. 확장은 SQL Server 구성을 수정할 수 있습니다.
SOFTWARE\Microsoft\SystemCertificates 모든 권한 Microsoft Entra 인증을 사용하는 경우에만 필요합니다. 확장은 신뢰할 수 있는 루트 인증 기관을 대체할 수 있습니다.
SYSTEM\CurrentControlSet\Services Read 확장은 서비스 계정 이름을 볼 수 있습니다.
SOFTWARE\Microsoft\AzureDefender\SQL Read 확장은 Microsoft Defender 상태 및 업데이트 시간을 알아볼 수 있습니다.
SOFTWARE\Microsoft\SqlServerExtension 모든 권한 확장은 확장 설정을 변경할 수 있습니다.
SOFTWARE\Policies\Microsoft\Windows 읽기 및 쓰기 자동 업데이트를 사용하는 경우에만 필요합니다. 확장은 Windows 업데이트 정책을 변경하고 코드 무결성 및 가상화 기반 보안을 제어하는 Device Guard를 사용하지 않도록 설정할 수 있으며, 누락된 패치로 인해 확장된 노출이 발생할 수 있습니다.

기능별 SQL 권한

다음 표에서는 SQL Server용 Azure 확장에서 부여한 권한을 제어하는 기능에 대한 기본 동작을 나열합니다.

Feature 기본 동작
기본 확장 권한 기본 설정으로 활성화됨
자동화된 백업 기본적으로 사용 안 함
가용성 그룹 기본 설정으로 활성화됨
모범 사례 평가 기본적으로 사용 안 함
마이그레이션 평가 기본 설정으로 활성화됨
데이터베이스 마이그레이션 기본 설정으로 활성화됨
특정 시점 복원 기본적으로 사용 안 함
Purview 기본적으로 사용 안 함

기본 확장 권한

다음 기본 권한은 AZURE Extension for SQL Server에서 제공하는 기본 기능 수준에 대한 최소 요구 사항이며 적용해야 합니다.

객체 유형 데이터베이스 또는 개체 이름 Privilege
Database master VIEW DATABASE STATE
Database msdb ALTER ANY SCHEMA
Database msdb CREATE TABLE
Database msdb CREATE TYPE
Database msdb DB DATA READER
Database msdb DB DATA WRITER
Database msdb EXECUTE
Database msdb SELECT dbo.backupfile
Database msdb SELECT dbo.backupmediaset
Database msdb SELECT dbo.backupmediafamily
Database msdb SELECT dbo.backupset
Database msdb SELECT dbo.syscategories
Database msdb SELECT dbo.sysjobactivity
Database msdb SELECT dbo.sysjobhistory
Database msdb SELECT dbo.sysjobs
Database msdb SELECT dbo.sysjobsteps
Database msdb SELECT dbo.syssessions
Database msdb SELECT dbo.sysoperators
Database msdb SELECT dbo.suspectpages
Server CONNECT ANY DATABASE
Server CONNECT SQL
Server VIEW ANY DATABASE
Server VIEW ANY DEFINITION
Server VIEW SERVER STATE

자동화된 백업

자동화된 백업은 기본적으로 사용하지 않도록 설정됩니다. 확장은 자동화된 백업을 사용하도록 설정된 모든 데이터베이스에 백업 권한을 부여합니다. 백업 기능을 사용하도록 설정하면 지정 시간 복원 기능도 사용할 수 있으므로 데이터베이스를 만들 수 있는 권한도 부여됩니다.

기능을 사용하도록 설정하면 확장에서 자동으로 다음 권한을 부여합니다.

객체 유형 데이터베이스 또는 개체 이름 Privilege
Database 모든 데이터베이스 DB BACKUP OPERATOR
Server CREATE ANY DATABASE
Server master DB CREATOR

가용성 그룹

가용성 그룹 검색 및 장애 조치(failover)와 같은 관리 기능은 기본적으로 사용하도록 설정되어 있지만 기능 플래그를 AvailabilityGroupDiscovery 통해 사용하지 않도록 설정할 수 있습니다.

이 기능을 사용하도록 설정하면 확장에서 자동으로 다음 권한을 부여합니다.

객체 유형 데이터베이스 또는 개체 이름 Privilege
Server ALTER ANY AVAILABILITY GROUP
Server VIEW ANY DEFINITION

모범 사례 평가

모범 사례 평가는 기본적으로 사용하지 않도록 설정됩니다.

이 기능을 사용하도록 설정하면 확장에서 자동으로 다음 권한을 부여합니다.

객체 유형 데이터베이스 또는 개체 이름 Privilege
Database master SELECT
Database master VIEW DATABASE STATE
Database msdb SELECT
Server VIEW ANY DATABASE
Server VIEW ANY DEFINITION
Server VIEW SERVER STATE
StoredProcedure EnumErrorLogsSP EXECUTE
StoredProcedure ReadErrorLogsSP EXECUTE

데이터베이스 마이그레이션

데이터베이스 마이그레이션 기능은 기본적으로 사용하도록 설정되며 기본 확장 권한에 나열된 권한만 필요하지만 데이터베이스 마이그레이션 기능에서 사용하는 일부 권한에는 특정 마이그레이션 작업이 수행될 때 Just-In-Time 권한이 부여됩니다.

다음 작업을 수행하려면 확장에서 Just-In-Time을 부여하는 추가 권한이 필요합니다.

Note

Azure에서 SqlServerAvailabilityGroups_CreateManagedInstanceLink사용 SqlServerAvailabilityGroups_failoverMiLink권한 및 SqlServerAvailabilityGroups_deleteMiLink 권한을 가진 사용자는 마이그레이션 프로세스 중에 데이터베이스 마이그레이션 페이지에서 역할을 포함하여 sysadmin 확장에서 사용하는 계정의 SQL Server 권한을 상승시키는 작업을 수행할 수 있습니다.

데이터 마이그레이션 단계에서 Managed Instance 링크 마이그레이션에 대한 검토 + 만들기 탭에서 데이터 마이그레이션 시작을 선택하면 확장에서 Just-In-Time 권한을 부여합니다. 분산 가용성 그룹을 구성하려면 서비스 계정에 상승된 권한이 필요합니다. 분산 가용성 그룹이 만들어지고 Azure Portal에 표시되는 배포가 완료된 상태이면 사용 권한을 취소합니다. 다른 마이그레이션이 동시에 실행되는 경우 확장은 마지막 분산 가용성 그룹을 만들 때까지 사용 권한을 취소하지 않습니다.

Managed Instance 링크 마이그레이션을 만드는 작업은 만들기 요청 기간 동안 다음 권한을 획득합니다.

객체 유형 데이터베이스 또는 개체 이름 Privilege
Server CREATE AVAILABILITY GROUP
Server ALTER ANY AVAILABILITY GROUP
Server ALTER ANY DATABASE
Server CREATE ENDPOINT
Server ALTER ANY ENDPOINT
Server CREATE CERTIFICATE
Database master IMPERSONATE ON USER::[dbo]

모니터 및 단독형 단계에서 Managed Instance 링크 마이그레이션에 대한 전체 컷오버 옵션을 선택하면 확장에서 Just-In-Time 권한을 부여합니다. 확장은 단독형이 완료된 후 사용 권한을 취소합니다.

Managed Instance 링크 마이그레이션의 중단을 완료하는 작업은 전체 요청 기간 동안 다음 권한을 획득합니다.

객체 유형 데이터베이스 또는 개체 이름 Privilege
Server CREATE AVAILABILITY GROUP
Server ALTER ANY AVAILABILITY GROUP
Server ALTER ANY DATABASE
Server sysadmin 1

1 최소 권한을 사용하도록 설정하면 전체 단독형 작업에서도 단독형 기간 동안 계정에 역할을 sysadmin 부여합니다NT Service\SQLServerExtension. 이 역할은 Azure SQL Managed Instance로 전환하기 위해 분산 가용성 그룹을 장애 조치(failover)하는 데 필요합니다.

모니터 및 단독형 단계에서 Managed Instance 링크 마이그레이션에 대한 마이그레이션 취소 옵션을 선택하면 확장에서 Just-In-Time 권한을 부여합니다. 확장은 마이그레이션이 취소된 후 사용 권한을 취소합니다.

Managed Instance 링크 마이그레이션을 취소하는 작업은 취소 요청 기간 동안 다음 권한을 획득합니다.

객체 유형 데이터베이스 또는 개체 이름 Privilege
Server ALTER ANY AVAILABILITY GROUP
Server ALTER ANY DATABASE
Server sysadmin 1

1 최소 권한을 사용하도록 설정하면 취소 작업에서도 취소 요청 기간 동안 계정에 역할을 sysadmin 부여합니다NT Service\SQLServerExtension. 이 역할은 분산 가용성 그룹을 삭제할 때 필요합니다.

마이그레이션 평가

마이그레이션 평가는 기본적으로 사용하도록 설정됩니다.

기능을 사용하지 않도록 설정하면 다른 사용 가능한 기능이 필요하지 않으면 확장에서 다음 권한을 취소합니다.

객체 유형 데이터베이스 또는 개체 이름 Privilege
Database 모든 데이터베이스 SELECT sys.sqlexpressiondependencies
Database msdb EXECUTE dbo.agentdatetime
Database msdb SELECT dbo.syscategories
Database msdb SELECT dbo.sysjobhistory
Database msdb SELECT dbo.sysjobs
Database msdb SELECT dbo.sysjobsteps
Database msdb SELECT dbo.sysmailaccount
Database msdb SELECT dbo.sysmailprofile
Database msdb SELECT dbo.sysmailprofileaccount
Database msdb SELECT dbo.syssubsystems

Purview

Purview 기능은 기본적으로 사용하지 않도록 설정됩니다.

이 기능을 사용하도록 설정하면 확장에서 자동으로 다음 권한을 부여합니다.

객체 유형 데이터베이스 또는 개체 이름 Privilege
Database 모든 데이터베이스 EXECUTE
Database 모든 데이터베이스 SELECT
Server CONNECT ANY DATABASE
Server VIEW ANY DATABASE

Just-In-Time SQL 권한

일부 SQL 권한은 특정 작업을 수행하는 데 필요한 시간에만 할당되며 사용 권한이 필요한 작업이 완료되는 즉시 해지됩니다. 해지를 실행하지 못하면 50분마다 실행되는 백그라운드 정리 작업이 부실한 사용 권한을 자동으로 취소합니다.

Just-In-Time 권한은 서비스 계정에 할당됩니다.

  • NT Service\SQLServerExtension 최소 권한이 사용하도록 설정된 경우
  • 최소 권한이 비활성화된 경우 로컬 시스템 계정입니다.

현재 다음 기능은 Just-In-Time 권한을 사용합니다.

  • Managed Instance 링크 마이그레이션 옵션을 사용하는 경우의 데이터베이스 마이그레이션입니다.

추가 권한

  • 확장 서비스에 액세스하고 자동 복구를 구성하는 서비스 계정에 대한 권한입니다.
  • 서비스 계정에 대한 서비스로 로그온 권한입니다.