Share via


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

Aplica-se a: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

Se a extensão do Azure for da versão 1.1.2594.118 (lançamento de fevereiro de 2024) ou posterior, o modo de privilégio mínimo será ativado automaticamente nos próximos meses.

O suporte para essa configuração está atualmente disponível para preview.

Observação

Como uma versão prévia do recurso, a tecnologia apresentada neste artigo está sujeita aos Termos de uso complementares para versões prévias do Microsoft Azure.

As atualizações mais recentes estão disponíveis nas Notas sobre a versão - SQL Server habilitado pelo Azure Arc.

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

No momento, não há suporte para a configuração com privilégios mínimos no Linux.

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 
    

Validar a configuração

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 agendada com nome SqlServerExtensionPermissionProvider foi criada em Microsoft\SqlServerExtension. Essa tarefa é executada uma vez por hora para adicionar ou remover permissões, conforme necessário, com base em quais recursos são habilitados e desabilitados.

  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");
    

Desativar privilégios mínimos

Para desabilitar privilégios mínimos, defina o sinalizador de recurso LeastPrivilege como false. 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 false --resource-group <resource-group> --machine-name <machine-name>

Por exemplo, o comando a seguir desabilita 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 false --resource-group myrg --machine-name myserver