Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Este artigo lista as permissões que a Extensão Azure para SQL Server concede à conta NT SERVICE\SqlServerExtension quando usa mínimo privilégio para instâncias SQL Server ativadas por Azure Arc. Com a configuração de menor privilégio, a extensão concede apenas as permissões necessárias quando ativas funcionalidades 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.
Além disso, NT AUTHORITY\SYSTEM deve ter um login ativo de SQL Server com permissão CONNECT SQL em cada SQL Server instância. O Deployer liga-se a SQL Server como NT AUTHORITY\SYSTEM para configurar todas as permissões ao nível SQL descritas neste artigo. Se este login for desativado, removido ou negado CONNECT SQL , o Deployer não pode configurar permissões SQL nem em modo padrão nem em modo de privilégio mínimo. Consulte Pré-requisitos para os passos de verificação.
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 padrão para a extensão
- Backups automatizados
- Grupos de disponibilidade
- Avaliação das melhores práticas
- Avaliação da migração
- Migração de banco de dados
- Restauração em um ponto específico no tempo
- Purview
Permissões de diretório
| Caminho do diretório | Permissões necessárias | Details | Feature |
|---|---|---|---|
<SystemDrive>\Packages\Plugins\Microsoft.AzureData.WindowsAgent.SQLServer |
Controlo total | Ficheiros DLL e EXE relacionados com extensões. | 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 com extensões. | Default |
SOFTWARE\Policies\Microsoft\Windows |
Ler e escrever | Ativar 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 login SQL para todas as instâncias da 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. Os papéis não são usados no modo de menor privilégio.
Detalhes das permissões da conta NT SERVICE\SqlServerExtension
| 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 |
| Restauração em um ponto específico 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
A funcionalidade de migração de base de dados está ativada por defeito e só requer as permissões listadas nas permissões de extensão por defeito, embora algumas permissões sejam concedidas justamente a tempo quando é realizada uma ação específica de migração.
As seguintes ações requerem permissões adicionais que a extensão concede just-in-time:
- Criar migração de link de instância gerenciada
- Substituição completa da migração do link de instância gerenciada
- Cancelar migração de link de instância gerenciada
Note
Utilizadores com as permissões SqlServerAvailabilityGroups_CreateManagedInstanceLink, SqlServerAvailabilityGroups_failoverMiLink e SqlServerAvailabilityGroups_deleteMiLink em Azure podem realizar ações na página Migração da base de dados durante o processo de migração que elevem as permissões de SQL Server da conta usada pela extensão, incluindo o papel fixo de servidor sysadmin.
Criar migração de link de instância gerenciada
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 necessita de permissões elevadas para configurar o grupo de disponibilidade distribuída (AG). Revoga permissões assim que o AG distribuído é criado e a implementação visível no portal do Azure está no estado concluído. Se outra migração estiver a correr ao mesmo tempo, a extensão não revoga permissões até que o último AG distribuído seja criado.
A ação para criar uma migração de ligação Managed Instance adquire as seguintes permissões durante o pedido 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] |
Substituição completa da migração do link de instância gerenciada
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 completar o cutover de uma migração de ligação Managed Instance adquire as seguintes permissões durante o pedido completo:
| 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 | sysadmin1 |
1 Se o privilégio mínimo estiver ativado, a ação de corte completo também concede ao administrador do sistema um papel fixo de servidor à NT SERVICE\SqlServerExtension conta durante o corte. Este papel é necessário para fazer failover sobre o AG distribuído para a transição para o Azure SQL Managed Instance.
Cancelar migração de link de instância gerenciada
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 ligação Managed Instance adquire as seguintes permissões durante o pedido de cancelamento:
| Tipo de objeto | Nome do banco de dados ou objeto | Privilege |
|---|---|---|
| Server | ALTER ANY AVAILABILITY GROUP |
|
| Server | ALTER ANY DATABASE |
|
| Server | sysadmin1 |
1 Se o privilégio mínimo estiver ativado, a ação de cancelar também concede ao administrador do sistema um papel fixo de servidor à NT SERVICE\SqlServerExtension conta durante o pedido de cancelamento. Este papel é necessário ao eliminar um AG 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.sql_expression_dependencies |
| Database | msdb |
EXECUTE dbo.agent_datetime |
| Database | msdb |
SELECT dbo.syscategories |
| Database | msdb |
SELECT dbo.sysjobhistory |
| Database | msdb |
SELECT dbo.sysjobs |
| Database | msdb |
SELECT dbo.sysjobsteps |
| Database | msdb |
SELECT dbo.sysmail_account |
| Database | msdb |
SELECT dbo.sysmail_profile |
| Database | msdb |
SELECT dbo.sysmail_profileaccount |
| 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ó são atribuídas quando são necessárias para realizar uma ação específica, e são revogadas assim que a operação que requer as permissões termina. Se a revogação não for executada, um trabalho de limpeza em segundo plano que seja executado a cada 50 minutos revoga automaticamente permissões obsoletas.
As permissões just-in-time são atribuídas à conta de serviço:
-
NT SERVICE\SqlServerExtensionse 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:
- Migração de banco de dados ao usar a opção de migração de link de Instância Gerenciada.
Permissões adicionais
A conta de serviço requer as seguintes permissões:
- Aceda ao serviço de extensão e configure a recuperação automática.
- Iniciar sessão como serviço.