Compartilhar via


Configurar contas de serviço e permissões do Windows para a extensão do Azure para SQL Server

Aplica-se a:SQL Server

Este artigo lista as permissões que a extensão do Azure para SQL Server concede à NT Service\SQLServerExtension conta quando você usa privilégios mínimos para instâncias do SQL Server habilitadas pelo Azure Arc. Com a configuração de privilégio mínimo, a extensão concede apenas as permissões necessárias quando você habilita recursos no portal do Azure.

Note

NT Authority\System Deve ter acesso para modificar permissões em diretórios listados e chaves do Registro. Esse acesso é necessário para que NT Authority\System possa conceder acesso necessário à conta para o NT Service\SqlServerExtension modo de privilégio mínimo.

Overview

Quando você conecta o SQL Server ao Azure Arc com privilégios mínimos habilitados, a extensão do Azure Arc concede sua conta de serviço, NT SERVICE\SQLServerExtensionapenas as permissões necessárias para cada recurso quando você habilita esse recurso. A extensão remove automaticamente essas permissões se você desabilitar o recurso. Se um recurso estiver inativo, a extensão não concederá permissões para esse recurso.

Não há suporte para definir manualmente as permissões para a conta do agente.

Note

Atualmente, a configuração menos privilegiada não é aplicada por padrão.

Servidores existentes com versão 1.1.2859.223 de extensão ou superior eventualmente terão a configuração menos privilegiada aplicada. Essa extensão foi lançada em novembro de 2024. Para impedir a aplicação automática de privilégios mínimos, bloqueie as atualizações de extensão após 1.1.2859.223.

A seção privilégios SQL por recurso explica as permissões que a extensão concede quando você habilita os seguintes recursos:

Permissões de diretório

Caminho do diretório Permissões necessárias Details Feature
<SystemDrive>\Packages\Plugins\Microsoft.AzureData.WindowsAgent.SQLServer Controle total DLLs relacionadas à extensão e arquivos EXE. Default
C:\Packages\Plugins\Microsoft.AzureData.WindowsAgent.SqlServer\<extension_version>\RuntimeSettings Controle total Arquivo de configurações de extensão. Default
C:\Packages\Plugins\Microsoft.AzureData.WindowsAgent.SqlServer\<extension_version>\status Controle total Arquivo de status da extensão. Default
C:\ProgramData\GuestConfig\extension_logs\Microsoft.AzureData.WindowsAgent.SqlServer Controle total Arquivos de log de extensão. Default
C:\Packages\Plugins\Microsoft.AzureData.WindowsAgent.SqlServer\<extension_version>\status\HeartBeat.Json Controle total Arquivo de pulsação de extensão. Default
%ProgramFiles%\Sql Server Extension Controle total Arquivos de serviço de extensão. Default
<SystemDrive>\Windows\system32\extensionUpload Controle total Necessário para gravar o arquivo de uso necessário para o faturamento. Default
<SystemDrive>\Windows\system32\ExtensionHandler.log Controle total Pasta de pré-log criada por extensão. Default
<ProgramData>\AzureConnectedMachineAgent\Config Read Diretório de arquivos de configuração do Arc. Default
C:\Windows\System32\config\systemprofile\AppData\Local\Microsoft SQL Server Extension Agent Controle total Necessário para escrever relatórios de avaliação e status. Default
Diretório de log do SQL (conforme definido no Registro) 1 :
C:\Program Files\Microsoft SQL Server\MSSQL<base_version>.<instance_name>\MSSQL\log
Read Necessário para extrair informações do SQL vCores dos logs do SQL. Default
Diretório de backup do SQL (conforme definido no Registro) 1 :
C:\Program Files\Microsoft SQL Server\MSSQL<base_version>.<instance_name>\MSSQL\Backup
ReadAndExecute/Write /Delete Necessário para backups Backup

1 Para obter mais informações, consulte Locais de Arquivo e Mapeamento do Registro.

Permissões de Registro

Chave base: HKEY_LOCAL_MACHINE

Chave do Registro Permissão necessária Details Feature
SOFTWARE\Microsoft\Microsoft SQL Server Read Leia as propriedades do SQL Server como installedInstances. Default
SOFTWARE\Microsoft\Microsoft SQL Server\<InstanceRegistryName>\MSSQLSERVER Controle total ID e Purview do Microsoft Entra. Microsoft Entra ID

Purview
SOFTWARE\Microsoft\SystemCertificates Controle total Necessário para a ID do Microsoft Entra. Microsoft Entra ID
SYSTEM\CurrentControlSet\Services Read Nome da conta do SQL Server. Default
SOFTWARE\Microsoft\AzureDefender\SQL Read Status do Azure Defender e hora da última atualização. Default
SOFTWARE\Microsoft\SqlServerExtension Controle total Valores relacionados à extensão. Default
SOFTWARE\Policies\Microsoft\Windows Ler e Gravar Habilitando a atualização automática do Windows via extensão. Atualizações automáticas

Permissões de grupo

NT Service\SQLServerExtension é adicionado aos aplicativos de extensão de agente híbrido. Isso permite que o handshake do Serviço de Metadados de Instância do Azure (IMDS) recupere o token de identidade gerenciada do recurso machine necessário para se comunicar com os serviços do plano de dados do Azure, como o DPS (Serviço de Processamento de Dados) e o ponto de extremidade de telemetria para uso de cobrança, logs de extensão e coleta de dados do painel de monitoramento.

Permissões sql

A NT Service\SQLServerExtension conta é adicionada:

  • Como um logon do SQL para todas as instâncias atualmente presentes no computador
  • Como usuário em cada banco de dados

A extensão também concede permissões para objetos de instância e banco de dados à medida que os recursos são habilitados.

Note

As permissões mínimas dependem dos recursos habilitados. A extensão atualiza as permissões quando elas não são mais necessárias. Ele concede as permissões necessárias quando você habilita recursos.

NT Service\SQLServerExtension detalhes da permissão da conta

Caminho do Registro Permissão O risco associado nas permissões se a NT Service\SQLServerExtension conta estiver comprometida
SOFTWARE\Microsoft\Microsoft SQL Server Read A extensão pode ver quais versões do SQL Server estão instaladas.
SOFTWARE\Microsoft\Microsoft SQL Server\\MSSQLSERVER Controle total Necessário somente quando a autenticação do Microsoft Entra ou o Purview estiver habilitado. A extensão pode modificar a configuração do SQL Server.
SOFTWARE\Microsoft\SystemCertificates Controle total Necessário somente quando a autenticação do Microsoft Entra estiver habilitada. A extensão pode substituir as autoridades de certificação raiz confiáveis.
SYSTEM\CurrentControlSet\Services Read A extensão pode ver nomes de conta de serviço.
SOFTWARE\Microsoft\AzureDefender\SQL Read A extensão pode aprender o status do Microsoft Defender e os tempos de atualização.
SOFTWARE\Microsoft\SqlServerExtension Controle total A extensão pode alterar as configurações de extensão.
SOFTWARE\Policies\Microsoft\Windows Ler e Gravar Necessário somente quando a atualização automática estiver habilitada. A extensão pode alterar as políticas do Windows Update e desabilitar o Device Guard, que controla a integridade do código e a segurança baseada em virtualização, exposição estendida devido a patches perdidos.

Privilégios do SQL por recurso

A tabela a seguir lista o comportamento padrão dos recursos que controlam as permissões concedidas pela Extensão do Azure para SQL Server:

Feature Comportamento padrão
Permissões de extensão padrão Habilitado por padrão
Backups automatizados Desabilitado por padrão
Grupos de disponibilidade Habilitado por padrão
Avaliação de práticas recomendadas Desabilitado por padrão
Avaliação de migração Habilitado por padrão
Migração de banco de dados Habilitado por padrão
Recuperação pontual Desabilitado por padrão
Purview Desabilitado por padrão

Permissões de extensão padrão

As seguintes permissões padrão são o requisito mínimo para o nível básico de funcionalidade fornecido pela Extensão do Azure para SQL Server e devem ser aplicadas:

Tipo de objeto Nome do banco de dados ou objeto 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

Backups automatizados

Os backups automatizados são desabilitados por padrão. A extensão concede permissões de backup a qualquer banco de dados que tenha backups automatizados habilitados. Habilitar o recurso de backup também habilita o recurso de restauração pontual , portanto, a permissão para criar um banco de dados também é concedida.

Se os recursos estiverem habilitados, a extensão concederá automaticamente as seguintes permissões:

Tipo de objeto Nome do banco de dados ou objeto Privilege
Database Todos os bancos de dados DB BACKUP OPERATOR
Server CREATE ANY DATABASE
Server master DB CREATOR

Grupos de disponibilidade

Os recursos de descoberta e gerenciamento do grupo de disponibilidade, como failover, são habilitados por padrão, mas você pode desabilitá-los por meio do sinalizador de AvailabilityGroupDiscovery recurso.

Se o recurso estiver habilitado, a extensão concederá automaticamente as seguintes permissões:

Tipo de objeto Nome do banco de dados ou objeto Privilege
Server ALTER ANY AVAILABILITY GROUP
Server VIEW ANY DEFINITION

Práticas recomendadas de avaliação

A avaliação de práticas recomendadas é desabilitada por padrão.

Se o recurso estiver habilitado, a extensão concederá automaticamente as seguintes permissões:

Tipo de objeto Nome do banco de dados ou objeto 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

Migração de banco de dados

O recurso de migração de banco de dados é habilitado por padrão e requer apenas as permissões listadas em permissões de extensão padrão, embora algumas permissões usadas pelo recurso de migração de banco de dados sejam concedidas permissões just-in-time quando uma ação de migração específica é executada.

As seguintes ações exigem permissões adicionais que a extensão concede just-in-time:

Note

Os usuários com permissões SqlServerAvailabilityGroups_CreateManagedInstanceLinkSqlServerAvailabilityGroups_failoverMiLinkno SqlServerAvailabilityGroups_deleteMiLink Azure podem executar ações na página de migração de banco de dados durante o processo de migração que eleva as permissões do SQL Server da conta usada pela extensão, incluindo a sysadmin função.

Na etapa Migrar dados , a extensão concede permissões just-in-time quando você seleciona Iniciar migração de dados na guia Examinar + Criar para uma migração de link da Instância Gerenciada. A conta de serviço precisa de permissões elevadas para configurar o grupo de disponibilidade distribuído. Ele revoga as permissões depois que o grupo de disponibilidade distribuído é criado e a implantação visível no portal do Azure está no estado concluído. Se outra migração estiver em execução ao mesmo tempo, a extensão não revogará as permissões até que o último grupo de disponibilidade distribuído seja criado.

A ação para criar uma migração de link da Instância Gerenciada adquire as seguintes permissões durante a solicitação de criação:

Tipo de objeto Nome do banco de dados ou objeto 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]

Na etapa Monitor e substituição , a extensão concede permissões just-in-time quando você seleciona a opção de substituição Completa para uma migração de link da Instância Gerenciada. A extensão revoga permissões após a conclusão da substituição.

A ação para concluir a substituição de uma migração de link da Instância Gerenciada adquire as seguintes permissões durante a solicitação completa:

Tipo de objeto Nome do banco de dados ou objeto Privilege
Server CREATE AVAILABILITY GROUP
Server ALTER ANY AVAILABILITY GROUP
Server ALTER ANY DATABASE
Server sysadmin 1

1 Se o privilégio mínimo estiver habilitado, a ação de substituição completa também concederá a sysadmin função à NT Service\SQLServerExtension conta durante a substituição. Essa função é necessária para fazer failover do grupo de disponibilidade distribuído para substituição para a Instância Gerenciada de SQL do Azure.

Na etapa Monitor e substituição, a extensão concede permissões just-in-time quando você seleciona a opção Cancelar migração para uma migração de link da Instância Gerenciada. A extensão revoga permissões depois que a migração é cancelada.

A ação para cancelar uma migração de link da Instância Gerenciada adquire as seguintes permissões durante a solicitação de cancelamento:

Tipo de objeto Nome do banco de dados ou objeto Privilege
Server ALTER ANY AVAILABILITY GROUP
Server ALTER ANY DATABASE
Server sysadmin 1

1 Se o privilégio mínimo estiver habilitado, a ação cancelar também concederá a sysadmin função à NT Service\SQLServerExtension conta durante a solicitação de cancelamento. Essa função é necessária ao excluir um grupo de disponibilidade distribuído.

Avaliação de migração

As avaliações de migração são habilitadas por padrão.

Se o recurso estiver desabilitado, a extensão revogará as seguintes permissões, a menos que outros recursos habilitados exijam:

Tipo de objeto Nome do banco de dados ou objeto Privilege
Database Todos os bancos de dados 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

Os recursos do Purview são desabilitados por padrão.

Se o recurso estiver habilitado, a extensão concederá automaticamente as seguintes permissões:

Tipo de objeto Nome do banco de dados ou objeto Privilege
Database Todos os bancos de dados EXECUTE
Database Todos os bancos de dados SELECT
Server CONNECT ANY DATABASE
Server VIEW ANY DATABASE

Permissões sql just-in-time

Algumas permissões SQL são atribuídas somente no momento em que são necessárias para executar uma ação específica e são revogadas assim que a operação que exige a conclusão das permissões. Se a revogação não for executada, um trabalho de limpeza em segundo plano que é executado a cada 50 minutos revoga automaticamente as permissões que se tornaram obsoletas.

As permissões just-in-time são atribuídas à conta de serviço:

  • NT Service\SQLServerExtension se o privilégio mínimo estiver habilitado
  • Conta do sistema local se o privilégio mínimo estiver desabilitado.

Atualmente, o seguinte recurso usa permissões just-in-time:

Permissões adicionais

  • Permissões para a conta de serviço para acessar o serviço de extensão e configurar a recuperação automática.
  • Direitos de logon como serviço para a conta de serviço.