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.
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.
Mínimo privilégio ativado por padrão
O privilégio mínimo é ativado por padrão nas seguintes versões do Azure Extension for SQL Server:
- Versão 1.1.3453.436
- Versão 1.1.3518.465 e versões posteriores
O privilégio mínimo não é ativado por padrão em versões anteriores a 1.1.3453.436 ou nas versões 1.1.3464.439, 1.1.3494.451 e 1.1.3500.453. Para essas versões, siga os passos deste artigo para ativar manualmente o privilégio mínimo.
Observação
Para servidores existentes que usam 1.1.2859.223 ou versões posteriores, quando a atualização automática está ativada, a configuração de menor privilégio é eventualmente aplicada como parte das atualizações automáticas. Para evitar a aplicação automática da configuração de menor privilégio, bloqueie as atualizações da extensão após 1.1.2859.223.
Quando o privilégio mínimo está ativado, a Extensão do Azure para SQL Server cria e gerencia NT SERVICE\SqlServerExtension automaticamente como uma conta local de serviço Windows e login do SQL Server:
- A extensão concede à conta apenas as permissões do Windows necessárias para ler, armazenar configurações e gravar logs.
- A extensão concede ao login as permissões mínimas do SQL Server exigidas pelos recursos habilitados.
- A extensão revoga permissões quando elas não são mais necessárias, como quando você desativa um recurso.
- A extensão remove a conta quando você desinstala a Extensão do Azure para SQL Server ou desativa o privilégio mínimo.
Pré-requisitos
Esta seção identifica os requisitos do sistema e as ferramentas que você precisa para ativar ou desativar o privilégio mínimo.
Requisitos do sistema
Configurar o privilégio mínimo exige:
- Windows Server 2016 ou versões posteriores.
- SQL Server 2014 (12.x) 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 ser online e atualizáveis.
O privilégio mínimo atualmente não é suportado no Linux.
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 do Azure para versões
1.1.2859.223do SQL Server ou versões posteriores para ativar manualmente o privilégio mínimo.
Ativar ou desativar o privilégio mínimo
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 desativar, defina a feature flag parafalse. Para completar essa tarefa, execute o seguinte comando com seus valores para o<resource-group>e o<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:
Em Serviços, localize o Microsoft SQL Server Extension Service. Verifique se o serviço está em execução na conta de serviço
NT SERVICE\SqlServerExtension.Abra o Agendador de Tarefas no servidor. Verifique se uma tarefa orientada a eventos chamada
SqlServerExtensionPermissionProviderexiste sobMicrosoft\SqlServerExtension.Abra o SQL Server Management Studio e verifique o logon denominado
NT SERVICE\SqlServerExtension. Verifique se a conta está com essas permissões base:CONNECT SQLVIEW DATABASE STATEVIEW SERVER STATE
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;
Opcional: Gerenciar a conta de serviço do motor de banco de dados do SQL Server
Use a configuração padrão da conta de serviço para a maioria dos ambientes. Use o procedimento a seguir somente se precisar remover a conta de serviço do mecanismo de banco de dados do SQL Server da função de servidor fixa sysadmin entre operações de extensão.
Para usar o modo de privilégios mínimos, a conta de serviço do Mecanismo de Banco de Dados do SQL Server deve ser membro da função de servidor fixa sysadmin em cada instância do SQL Server. Essa associação permite que o sistema conceda ou revogue permissões automaticamente. Por padrão, a conta de serviço do Mecanismo de Banco de Dados do SQL Server pertence à função de servidor fixa sysadmin.
A extensão do Azure para SQL Server executa um processo temporário chamado Deployer.exe como NT AUTHORITY\SYSTEM quando:
- Você habilita ou desativa recursos
- Você adiciona ou remove instâncias do SQL Server
- Você instala ou atualiza a extensã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.
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:
- Antes de instalar ou atualizar a extensão, ativar ou desativar um recurso, ou adicionar ou remover uma instância do SQL Server, adicione temporariamente a conta do serviço do SQL Server Database Engine à função de servidor fixo de 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 esse procedimento sempre que instalar ou atualizar a extensão, ativar ou desativar um recurso, ou adicionar ou remover uma instância do SQL Server. Esse procedimento permite Deployer.exe conceder o menor número de privilégios necessários.
Como você precisa repetir esse procedimento a cada atualização de extensão, considere desativar as atualizações automáticas. Você pode então usar um script que executa esses passos e atualiza a extensão.
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. Para verificar, veja Pré-requisitos.
Se a conta de serviço do Mecanismo de Banco de Dados do SQL Server não tiver a função de servidor fixa sysadmin, as permissões just-in-time não poderão ser concedidas.
Para detalhes sobre quando essas permissões são usadas, veja Configurar contas de serviço Windows e permissões para a Extensão do Azure para SQL Server.