Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se:SQL Server
O princípio de segurança da informação de privilégios mínimos afirma que as contas e os aplicativos apenas têm acesso aos dados e às operações de que necessitam. Com o SQL Server habilitado pelo Azure Arc, você pode executar o serviço de extensão de agente com menos privilégios. Este artigo explica como executar o serviço de extensão do agente com privilégios mínimos.
Para configurar opcionalmente o serviço para ser executado com privilégios mínimos, siga as etapas neste artigo. Atualmente, o serviço não é executado automaticamente com privilégios mínimos.
Configurar contas de serviço e permissões do Windows para a Extensão do Azure para SQL Server descreve as permissões de privilégio mínimo para o serviço de extensão do agente.
Observação
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.
Depois de configurar o serviço de extensão do agente para execução com privilégios mínimos, ele usa a conta de serviço NT SERVICE\SqlServerExtension.
A conta NT SERVICE\SqlServerExtension é uma conta de serviço local do Windows:
- Criada e gerenciada pela Extensão do Azure para SQL Server quando a opção de privilégios mínimos está habilitada.
- Recebe as permissões e privilégios mínimos necessários para executar a extensão do Azure para o serviço SQL Server no sistema operacional Windows. Só tem acesso a pastas e diretórios usados para ler e armazenar configurações ou para escrever logs.
- Recebe permissão para se conectar e consultar no SQL Server com um novo logon especificamente para a conta de serviço que tem as permissões mínimas necessárias. As permissões mínimas dependem dos recursos habilitados.
- Atualizada quando as permissões não são mais necessárias. Por exemplo, as permissões são revogadas quando você desabilitar um recurso. A revogação garante que nenhuma permissão permaneça depois que não forem mais necessárias.
-
NT SERVICE\SqlServerExtensioné removido quando Azure Extensão para SQL Server é desinstalada ou quando a configuração de privilégio mínimo é desabilitada.
Pré-requisitos
Esta seção identifica os requisitos de sistema e as ferramentas necessárias para concluir o exemplo neste artigo.
Requisitos do sistema
A configuração com privilégios mínimos requer:
- Windows Server 2012 ou versões posteriores.
- SQL Server 2012 ou versões posteriores.
- A conta de serviço SQL Server deve ser membro da função de servidor fixa sysadmin.
- Todos os bancos de dados devem estar online e atualizáveis.
No momento, não há suporte para a configuração com privilégios mínimos no Linux.
Outros requisitos, conforme listado em Pré-requisitos, ainda se aplicam.
Conta de serviço do SQL Server
Por padrão, a conta de serviço SQL Server é membro da função de servidor fixa sysadmin.
Conforme listado nos pré-requisitos, a conta de serviço SQL Server deve ser membro da função de servidor fixa sysadmin em cada instância SQL Server. A Extensão Azure para SQL Server tem um processo chamado Deployer.exe que é executado como NT AUTHORITY\SYSTEM quando:
- Os recursos estão habilitados ou desabilitados
- As instâncias do SQL Server foram adicionadas ou removidas
Observação
Deployer.exe representa a conta de serviço SQL Server quando se conecta ao SQL Server. Uma vez conectado, ele adiciona ou remove permissões nas funções de servidor e banco de dados, dependendo de quais recursos estão habilitados ou desabilitados. Esse processo garante que a Extensão Azure para SQL Server use os privilégios mínimos necessários. Portanto, a conta de serviço SQL Server deve ser membro da função de servidor fixa sysadmin.
Se você quiser gerenciar esse processo com mais controle, de modo que a conta de serviço do SQL Server não seja membro da função de servidor fixa sysadmin em todos os momentos, siga estas etapas:
- Adicione temporariamente a conta de serviço SQL Server à função de servidor fixa sysadmin.
- Permitir a execução de
Deployer.exepelo menos uma vez para que as permissões sejam definidas. - Remova a conta de serviço SQL Server da função de servidor fixa sysadmin.
Repita este procedimento sempre que ocorrer habilitação ou desabilitação de recursos ou forem adicionadas instâncias do SQL Server para permitir que Deployer.exe conceda os privilégios mínimos necessários.
Importante
A Extensão Azure para SQL Server Deployer.exe precisa de NT AUTHORITY\SYSTEM para conseguir se conectar ao SQL Server, com a permissão CONNECT SQL, nos modos standard e least privilege. Esse requisito existe porque Deployer.exe sempre é executado sob a conta LocalSystem, independentemente de qual conta de serviço a extensão usa após o provisionamento.
Se NT AUTHORITY\SYSTEM não puder se conectar ao SQL Server, Deployer.exe não poderá criar o logon NT SERVICE\SqlServerExtension ou conceder as permissões necessárias. Antes de habilitar o modo de privilégio mínimo, verifique se NT AUTHORITY\SYSTEM tem um logon SQL Server ativo com permissão CONNECT SQL. Consulte os pré-requisitos para ver as etapas de verificação.
Ferramentas
Para concluir as etapas neste artigo, você precisa das seguintes ferramentas:
- CLI do Azure
-
arcdataExtensão da CLI do Azure versão1.5.9ou posterior - Extensão Azure para versão SQL Server
1.1.2859.223ou versões posteriores
Habilitar privilégios mínimos
Entre com a CLI do Azure.
az loginVerifique a versão da extensão
arcdata.az extension list -o tableSe os resultados incluírem uma versão com suporte do
arcdata, avance para a etapa seguinte.Se necessário, instale ou atualize a extensão da
arcdataCLI do Azure.Para instalar a extensão:
az extension add --name arcdataPara atualizar a extensão:
az extension update --name arcdataHabilite privilégios mínimos com a CLI do Azure.
Para habilitar privilégios mínimos, defina o sinalizador de recurso
LeastPrivilegecomotrue. Para concluir essa tarefa, execute o seguinte comando com valores atualizados para<resource-group>e<machine-name>.az sql server-arc extension feature-flag set --name LeastPrivilege --enable true --resource-group <resource-group> --machine-name <machine-name>Por exemplo, o comando a seguir habilita privilégios mínimos para um servidor nomeado
myserverem um grupo de recursos chamadomyrg:az sql server-arc extension feature-flag set --name LeastPrivilege --enable true --resource-group myrg --machine-name myserver
Verificar a configuração de privilégios mínimos
Para verificar se o SQL Server habilitado pelo Azure Arc está configurado para execução com privilégios mínimos:
Nos serviços do Windows, localize o serviço Extensão do Microsoft SQL Server. Verifique se o serviço está em execução como a conta
NT SERVICE\SqlServerExtensionde serviço.Abra o agendador de tarefas no servidor e verifique se uma tarefa controlada por eventos com o nome
SqlServerExtensionPermissionProvideré criada emMicrosoft\SqlServerExtension.Observação
Antes do lançamento de julho de 2024,
SqlServerExtensionPermissionProviderera uma tarefa agendada que era executada a cada hora.Abra o SQL Server Management Studio e verifique o logon denominado
NT SERVICE\SqlServerExtension. Verifique se a conta recebeu estas permissões:- Conectar SQL
- Exibir o estado do banco de dados
- Exibir Estado do Servidor
Valide as permissões com as seguintes consultas:
Para verificar as permissões no nível do servidor, execute a seguinte consulta:
EXECUTE AS LOGIN = 'NT SERVICE\SqlServerExtension'; SELECT * FROM fn_my_permissions(NULL, 'SERVER'); REVERT;Para verificar as permissões no nível do banco de dados, substitua
<database name>pelo nome de um de seus bancos de dados e execute a seguinte consulta:EXECUTE AS LOGIN = 'NT SERVICE\SqlServerExtension'; USE <database name>; SELECT * FROM fn_my_permissions(NULL, 'database'); REVERT;