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
O princípio de segurança da informação de menor privilégio afirma que as contas e aplicações só têm acesso aos dados e 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 o menor privilégio. Este artigo explica como executar o serviço de extensão do agente com o mínimo privilégio.
Para configurar opcionalmente o serviço para ser executado com o menor privilégio, siga as etapas neste artigo. Atualmente, o serviço não funciona automaticamente com o privilégio mínimo.
Configurar contas de serviço do Windows e permissões 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 de agente.
Observação
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.
Depois de configurar o serviço de extensão do agente para ser executado com o menor privilégio, utiliza a conta de serviço NT SERVICE\SqlServerExtension.
A conta NT SERVICE\SqlServerExtension é uma conta de serviço local do Windows:
- Criado e gerenciado pela Extensão do Azure para SQL Server quando a opção de menor privilégio está habilitada.
- Concedido o mínimo de permissões e privilégios necessários para executar o serviço Azure Extension for SQL Server no sistema operacional Windows. Ele só tem acesso a pastas e diretórios usados para leitura e armazenamento de configuração ou para escrever logs.
- Permissão concedida para se conectar e consultar no SQL Server com um novo logon especificamente para essa conta de serviço que tem as permissões mínimas necessárias. As permissões mínimas dependem dos recursos habilitados.
- Atualizado quando as permissões não são mais necessárias. Por exemplo, as permissões são revogadas quando desativa uma funcionalidade. A revogação garante que nenhuma permissão permaneça depois que elas 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 está desativada.
Pré-requisitos
Esta seção identifica os requisitos do sistema e as ferramentas necessárias para concluir o exemplo neste artigo.
Requisitos do sistema
A configuração com menor privilégio requer:
- Windows Server 2012 ou versões posteriores.
- SQL Server 2012 ou versões posteriores.
- A conta de serviço do SQL Server deve fazer parte do papel fixo de servidor sysadmin.
- Todas as bases de dados devem estar online e atualizáveis.
A configuração com menor privilégio não é atualmente suportada no Linux.
Outros requisitos, conforme listados em Pré-requisitos, continuam a aplicar-se.
Conta de serviço do SQL Server
Por predefinição, a conta de serviço do SQL Server é membro da função fixa de servidor sysadmin.
Como indicado nos pré-requisitos, a conta de serviço do SQL Server deve ser membro do papel fixo do servidor sysadmin em cada instância do SQL Server. A extensão Azure para SQL Server tem um processo chamado Deployer.exe que corre como NT AUTHORITY\SYSTEM quando:
- As funcionalidades estão ativadas ou desativadas
- As instâncias do SQL Server são adicionadas ou removidas
Observação
Deployer.exe faz-se passar pela conta do serviço SQL Server quando se liga ao SQL Server. Uma vez ligado, adiciona ou remove permissões nos papéis de servidor e base de dados, dependendo das funcionalidades ativadas ou desativadas. Este processo garante que a Extensão Azure para SQL Server utiliza os privilégios menos necessários. Portanto, a conta do serviço SQL Server deve ser membro do papel fixo de servidor sysadmin.
Se quiser gerir este processo com mais controlo, de modo a que a conta do serviço SQL Server não seja sempre membro do papel fixo do servidor sysadmin o tempo todo, siga estes passos:
- Adicionar temporariamente a conta de serviço do SQL Server à função fixa de servidor sysadmin.
- Permita que
Deployer.exeseja executado pelo menos uma vez para que as permissões sejam definidas. - Remova a conta do serviço SQL Server da função fixa de servidor sysadmin.
Repita este procedimento sempre que as funcionalidades sejam ativadas ou desativadas ou SQL Server instâncias sejam adicionadas para permitir que Deployer.exe conceda os privilégios mínimos necessários.
Importante
A extensão Azure para SQL Server Deployer.exe requer que NT AUTHORITY\SYSTEM esteja habilitado a conectar-se ao SQL Server, com permissão CONNECT SQL, em ambos os modos standard e least privilege. Este requisito existe porque Deployer.exe é sempre executado sob a LocalSystem conta, independentemente da conta de serviço que a extensão utilize após o provisionamento.
Se NT AUTHORITY\SYSTEM não conseguir ligar-se a SQL Server, Deployer.exe não pode criar o login NT SERVICE\SqlServerExtension nem conceder as permissões necessárias. Antes de ativares o modo de menor privilégio, verifica se o NT AUTHORITY\SYSTEM tem um SQL Server ativo de login com permissão CONNECT SQL. Consulte Pré-requisitos para os passos 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 - Azure Extensão para SQL Server versão
1.1.2859.223ou versões posteriores
Ativar o princípio do menor privilégio
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 suportada do
arcdata, avance para o passo seguinte.Se necessário, instale ou atualize a extensão
arcdataCLI do Azure.Para instalar a extensão:
az extension add --name arcdataPara atualizar a extensão:
az extension update --name arcdataHabilite o privilégio mínimo com a CLI do Azure.
Para habilitar o privilégio mínimo, defina o sinalizador de recurso
LeastPrivilegecomotrue. Para concluir essa tarefa, execute o seguinte comando com valores atualizados para o<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 o privilégio mínimo para um servidor chamado
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 ser executado com o menor privilégio:
Nos serviços do Windows, localize o serviço do Microsoft SQL Server Extension Service. Verifique se o serviço está a ser executado sob a conta de serviço
NT SERVICE\SqlServerExtension.Abra o agendador de tarefas no servidor e verifique se uma tarefa orientada a eventos com o nome
SqlServerExtensionPermissionProviderfoi criada sobMicrosoft\SqlServerExtension.Observação
Antes do lançamento em julho de 2024,
SqlServerExtensionPermissionProviderhavia uma tarefa agendada que decorria a cada hora.Abra o SQL Server Management Studio e verifique o logon chamado
NT SERVICE\SqlServerExtension. Verifique se a conta recebeu estas permissões:- Conectar SQL
- Ver Estado da Base de Dados
- Ver Estado do Servidor
Valide as permissões com as seguintes consultas:
Para verificar permissões ao nível do servidor, execute a seguinte consulta:
EXECUTE AS LOGIN = 'NT SERVICE\SqlServerExtension'; SELECT * FROM fn_my_permissions(NULL, 'SERVER'); REVERT;Para verificar permissões ao nível da base de dados, substitua
<database name>pelo nome de uma das suas bases de dados e execute a seguinte consulta:EXECUTE AS LOGIN = 'NT SERVICE\SqlServerExtension'; USE <database name>; SELECT * FROM fn_my_permissions(NULL, 'database'); REVERT;