Operar o SQL Server habilitado pelo Azure Arc com privilégios mínimos

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 de 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 do Windows e permissões para a Extensão do Azure para SQL Server descreve as permissões de privilégios mínimos para o serviço de extensão de agente.

Observação

Os servidores existentes com a extensão da versão de novembro de 2024 ou posterior terão a configuração com privilégios mínimos aplicada. A aplicação acontecerá de forma gradual.

Bloqueie as atualizações de extensão para a versão de novembro de 2024 ou posterior para evitar a aplicação automática de privilégios mínimos.

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 logs de configuração ou de gravação.
  • 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ê desabilita um recurso, desabilita a configuração de privilégios mínimos ou desinstala a extensão do Azure para SQL Server. A revogação garante que nenhuma permissão permaneça depois que não forem mais necessárias.

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 posterior
  • SQL Server 2012 ou posterior
  • A conta de serviço do SQL Server deve ser membro da função sysadmin de servidor fixa
  • 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 listados em Pré-requisitos – SQL Server habilitado pelo Azure Arc, ainda se aplicam.

Ferramentas

Para concluir as etapas neste artigo, você precisa das seguintes ferramentas:

Habilitar privilégios mínimos

  1. Faça login com a CLI do Azure.

    az login
    
  2. Verifique a versão da extensão arcdata.

    az extension list -o table
    

    Se 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 arcdata CLI do Azure.

    Para instalar a extensão:

    az extension add --name arcdata
    

    Para atualizar a extensão:

    az extension update --name arcdata
    
  3. Habilite privilégios mínimos com a CLI do Azure.

    Para habilitar privilégios mínimos, defina o sinalizador de recurso LeastPrivilege como true. 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 myserver em um grupo de recursos chamado myrg:

    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:

  1. Nos serviços do Windows, localize o serviço Extensão do Microsoft SQL Server. Verifique se o serviço está sendo executado na conta como o serviço NT Service\SqlServerExtension. 

  2. Abra o agendador de tarefas no servidor e verifique se uma tarefa promovida por evento com o nome SqlServerExtensionPermissionProvider foi criada em Microsoft\SqlServerExtension.

    Observação

    Antes da versão de julho de 2024, SqlServerExtensionPermissionProvider é uma tarefa agendada. Ela funciona de hora em hora.

    Abra o agendador de tarefas no servidor e verifique se uma tarefa agendada com nome SqlServerExtensionPermissionProvider foi criada em Microsoft\SqlServerExtension.

  3. 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 estado do banco de dados
    • Exibir estado do servidor
  4. Valide as permissões com as seguintes consultas:

    Para verificar permissões no nível do servidor, execute a seguinte consulta:

    EXECUTE AS LOGIN = 'NT Service\SqlServerExtension'  
    SELECT * FROM fn_my_permissions (NULL, 'SERVER");
    

    Para verificar permissões no nível do banco de dados, substitua <database name> pelo nome de um dos bancos de dados e execute a seguinte consulta:

    EXECUTE AS LOGIN = 'NT Service\SqlServerExtension'  
    USE <database name>; 
    SELECT * FROM fn_my_permissions (NULL, 'database");