Proteger e monitorar o data warehouse

Concluído

Segurança e monitoramento são aspectos críticos do gerenciamento do data warehouse.

Segurança

A segurança do data warehouse é importante para proteger seus dados contra acesso não autorizado. O Fabric fornece uma série de recursos de segurança para ajudar você a proteger seu data warehouse. Estão incluídos:

  • O RBAC (controle de acesso baseado em função) para controlar o acesso ao warehouse e aos dados dele.
  • A Criptografia SSL para proteger a comunicação entre o warehouse e os aplicativos cliente.
  • A Criptografia do Serviço de Armazenamento do Azure para proteger os dados em trânsito e inativos.
  • O Azure Monitor e o Azure Log Analytics para monitorar a atividade do warehouse e auditar o acesso aos dados.
  • Autenticação multifator (MFA) para adicionar uma camada extra de segurança às contas de usuário.
  • A integração do Microsoft Entra ID para gerenciar as identidades de usuário e o acesso ao warehouse.

Permissões de workspace

Os dados no Fabric são organizados em workspaces, que são usados para controlar o acesso e gerenciar o ciclo de vida de dados e serviços. Funções de workspace apropriadas são a primeira linha de defesa na proteção do data warehouse.

Além das funções de workspace, é possível conceder permissões de item e acesso por meio do SQL.

Dica

Confira Workspaces no Power BI para saber mais sobre as funções de workspace.

Permissões de item

Diferentemente das funções de workspace, que se aplicam a todos os itens em um workspace, é possível usar permissões de item para conceder acesso a warehouses individuais. Isso permite que você compartilhe um único data warehouse para consumo downstream.

É possível conceder permissões aos usuários por meio do T-SQL ou no portal do Fabric. Conceda as seguintes permissões aos usuários que precisam acessar o data warehouse:

  • Read: permite que o usuário se conecte usando a cadeia de conexão SQL.
  • ReadData: permite que o usuário leia dados de qualquer tabela/exibição no warehouse.
  • ReadAll: permite que o usuário leia dados dos arquivos Parquet brutos no OneLake que podem ser consumidos pelo Spark.

Uma conexão de usuário com o ponto de extremidade de análise do SQL falhará sem, no mínimo, uma permissão de leitura.

Monitoramento

As atividades de monitoramento no data warehouse são essenciais para garantir o desempenho ideal, a utilização eficiente de recursos e a segurança. Elas ajudam você a identificar problemas, detectar anomalias e tomar medidas para manter o data warehouse funcionando de maneira adequada e segura.

É possível usar DMVs (exibições de gerenciamento dinâmico) para monitorar a conexão, a sessão e o status da solicitação a fim de ver insights do ciclo de vida da consulta SQL em tempo real. Com as DMVs, é possível obter detalhes como o número de consultas ativas e identificar quais consultas estão em execução por um período estendido a fim de exigir o encerramento.

Atualmente, há três DMVs disponíveis para uso no Fabric:

  • sys.dm_exec_connections: retorna informações sobre cada conexão estabelecida entre o warehouse e o mecanismo.
  • sys.dm_exec_sessions: retorna informações sobre cada sessão autenticada entre o item e o mecanismo.
  • sys.dm_exec_requests: retorna informações sobre cada solicitação ativa em uma sessão.

Monitoramento de consultas

Use 'sys.dm_exec_requests' para identificar as consultas de execução prolongada que podem estar afetando o desempenho geral do banco de dados e tomar as medidas apropriadas a fim de otimizar ou encerrar essas consultas.

Comece identificando as consultas que estão em execução há muito tempo. Use a seguinte consulta para identificar quais consultas estão em execução há mais tempo, em ordem decrescente:

    SELECT request_id, session_id, start_time, total_elapsed_time
    FROM sys.dm_exec_requests
    WHERE status = 'running'
    ORDER BY total_elapsed_time DESC;

É possível continuar investigando para entender qual usuário executou a sessão com a consulta de execução prolongada executando o seguinte:

    SELECT login_name
    FROM sys.dm_exec_sessions
    WHERE 'session_id' = 'SESSION_ID WITH LONG-RUNNING QUERY';

Por fim, é possível usar o comando KILL para encerrar a sessão com a consulta de execução prolongada:

    KILL 'SESSION_ID WITH LONG-RUNNING QUERY';

Importante

Você deve ser um administrador de workspace para executar o comando KILL. Os administradores de workspace podem executar todas as três DMVs. As funções de Membro, Colaborador e Visualizador podem ver os próprios resultados no warehouse, mas não podem ver os resultados de outros usuários.