Partilhar via


Configurar contas de serviço do Windows e permissões 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 à conta quando você usa o NT Service\SQLServerExtensionmenor privilégio para instâncias do SQL Server habilitadas pelo Azure Arc. Com a configuração de privilégios mínimos, 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 o 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 o menor privilégio habilitado, a extensão do Azure Arc concede sua conta de serviço, NT SERVICE\SQLServerExtension, somente as permissões de que cada recurso precisa quando você habilita esse recurso. A extensão remove automaticamente essas permissões se você desativar o recurso. Se um recurso estiver inativo, a extensão não concederá permissões para esse recurso.

Não há suporte para a configuração manual das permissões para a conta do agente.

Note

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

Os servidores existentes com versão 1.1.2859.223 de extensão ou superior acabarão por ter a configuração menos privilegiada aplicada. Esta extensão foi lançada em novembro de 2024. Para evitar a atribuição automática do privilégio mínimo, 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 Controlo total DLLs e arquivos EXE relacionados à extensão. Default
C:\Packages\Plugins\Microsoft.AzureData.WindowsAgent.SqlServer\<extension_version>\RuntimeSettings Controlo total Arquivo de configurações de extensão. Default
C:\Packages\Plugins\Microsoft.AzureData.WindowsAgent.SqlServer\<extension_version>\status Controlo total Arquivo de status da extensão. Default
C:\ProgramData\GuestConfig\extension_logs\Microsoft.AzureData.WindowsAgent.SqlServer Controlo total Arquivos de log de extensão. Default
C:\Packages\Plugins\Microsoft.AzureData.WindowsAgent.SqlServer\<extension_version>\status\HeartBeat.Json Controlo total Arquivo de pulsação de extensão. Default
%ProgramFiles%\Sql Server Extension Controlo total Arquivos de serviço de extensão. Default
<SystemDrive>\Windows\system32\extensionUpload Controlo total Necessário para gravar o arquivo de uso necessário para faturamento. Default
<SystemDrive>\Windows\system32\ExtensionHandler.log Controlo total Pasta pré-log criada por extensão. Default
<ProgramData>\AzureConnectedMachineAgent\Config Read Arc config files diretório. Default
C:\Windows\System32\config\systemprofile\AppData\Local\Microsoft SQL Server Extension Agent Controlo total Necessário para escrever relatórios de avaliação e status. Default
Diretório de log 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 de logs SQL. Default
Diretório de backup 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 arquivos e mapeamento do Registro.

Permissões do Registro

Chave base: HKEY_LOCAL_MACHINE

Chave de registo 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 Controlo total Microsoft Entra ID e Purview. Microsoft Entra ID

Purview
SOFTWARE\Microsoft\SystemCertificates Controlo total Necessário para o Microsoft Entra ID. 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 Controlo total Valores relacionados à extensão. Default
SOFTWARE\Policies\Microsoft\Windows Ler e escrever Ativando 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 IMDS (Serviço de Metadados de Instância) do Azure recupere o token de identidade gerenciado por recurso de máquina necessário para se comunicar com os serviços de 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 SQL para todas as instâncias atualmente presentes na máquina
  • Como utilizador em cada base 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 às permissões se a NT Service\SQLServerExtension conta for 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 Controlo total Apenas necessário quando a autenticação do Microsoft Entra ou o Purview está ativado. A extensão pode modificar a configuração do SQL Server.
SOFTWARE\Microsoft\SystemCertificates Controlo total Apenas necessário quando a autenticação do Microsoft Entra está ativada. A extensão pode substituir as autoridades de certificação raiz confiáveis.
SYSTEM\CurrentControlSet\Services Read A extensão pode ver os nomes das contas 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 Controlo total A extensão pode alterar as configurações da extensão.
SOFTWARE\Policies\Microsoft\Windows Ler e escrever Apenas necessário quando a atualização automática está ativada. A extensão pode alterar as políticas do Windows Update e desativar 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 SQL por recurso

A tabela a seguir lista o comportamento padrão para os 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 Ativado por padrão
Backups automatizados Desabilitado por padrão
Grupos de disponibilidade Ativado por padrão
Avaliação das melhores práticas Desabilitado por padrão
Avaliação da migração Ativado por padrão
Migração de banco de dados Ativado por padrão
Restauro para um ponto anterior no tempo 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 desativados por padrão. A extensão concede permissões de backup para qualquer banco de dados que tenha backups automatizados habilitados. Habilitar o recurso de backup também habilita o recurso de restauração point-in-time , portanto, a permissão para criar um banco de dados também é concedida.

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

Tipo de objeto Nome do banco de dados ou objeto Privilege
Database Todas as bases de dados DB BACKUP OPERATOR
Server CREATE ANY DATABASE
Server master DB CREATOR

Grupos de disponibilidade

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

Se o recurso estiver habilitado, a extensão concede 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

Avaliação das melhores práticas

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

Se o recurso estiver habilitado, a extensão concede 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 bases de dados

O recurso de migração de banco de dados é habilitado por padrão e requer apenas as permissões listadas nas permissões de extensão padrão, embora algumas permissões usadas pelo recurso de migração de banco de dados recebam 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 as SqlServerAvailabilityGroups_CreateManagedInstanceLinkpermissões , SqlServerAvailabilityGroups_failoverMiLinke SqlServerAvailabilityGroups_deleteMiLink no Azure podem executar ações na página Migração de banco de dados durante o processo de migração que elevam 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 Revisar + Criar para uma migração de link de Instância Gerenciada. A conta de serviço precisa de permissões elevadas para configurar o grupo de disponibilidade distribuída. 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 sendo executada 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 de Instância Gerenciada adquire as seguintes permissões para a duração da 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 de instância gerenciada. A extensão revoga as permissões após a conclusão da substituição.

A ação para concluir a substituição de uma migração de link de Instância Gerenciada adquire as seguintes permissões para a duração da 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ída para transferência para a Instância Gerenciada SQL do Azure.

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

A ação para cancelar uma migração de link de Instância Gerenciada adquire as seguintes permissões para a duração da 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 duração da solicitação de cancelamento. Essa função é necessária ao excluir um grupo de disponibilidade distribuído.

Avaliação da migração

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

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

Tipo de objeto Nome do banco de dados ou objeto Privilege
Database Todas as bases 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 desativados por padrão.

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

Tipo de objeto Nome do banco de dados ou objeto Privilege
Database Todas as bases de dados EXECUTE
Database Todas as bases 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 apenas 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 requer as permissões é concluída. Se a revogação não for executada, um trabalho de limpeza em segundo plano executado a cada 50 minutos revogará 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 desativado.

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.
  • Log-on-as-direitos de serviço para a conta de serviço.