Gerenciar o acesso aos workspaces do Log Analytics

Os dados em um workspace do Log Analytics que podem ser acessados são determinados por uma combinação dos seguintes fatores:

  • As configurações no workspace em si.
  • O acesso aos recursos que enviam dados para o workspace.
  • O método usado para acessar o workspace.

Este artigo descreve como o acesso é gerenciado e como executar qualquer configuração necessária.

Visão geral

Os fatores que definem os dados que podem ser acessados são descritos na tabela a seguir. Cada fator é descrito em mais detalhes nas seções a seguir.

Fator Descrição
Modo de acesso O método usado para acessar o workspace. Define o escopo dos dados disponíveis e o modo de controle de acesso que é aplicado.
Modo de controle de acesso Configuração no espaço de trabalho que define se as permissões são aplicadas no nível de espaço de trabalho ou de recurso.
Controle de acesso baseado em função (RBAC) do Azure Permissões aplicadas individualmente ou a grupos de usuários do workspace ou do recurso que envia dados para o workspace. Define a quais dados você terá acesso.
RBAC do Azure de nível de tabela Permissões opcionais que definem tipos de dados específicos no workspace que podem ser acessados. Elas se aplicam a todos os usuários, independentemente do modo de acesso ou do modo de controle de acesso.

Modo de acesso

O modo de acesso refere-se a como você acessa o workspace do Log Analytics e define os dados que você pode acessar durante a sessão atual. O modo é determinado de acordo com o escopo selecionado no Log Analytics.

Há dois modos de acesso:

  • Contexto do workspace: é possível exibir todos os logs do workspace para o qual você tem permissão. As consultas nesse modo têm o escopo definido para todos os dados em todas as tabelas do espaço de trabalho. Esse modo de acesso é usado quando os logs são acessados tendo o workspace como o escopo, como quando você seleciona Logs no menu do Azure Monitor no portal do Azure.
  • Contexto do recurso: quando você acessa o espaço de trabalho de um recurso específico, grupo de recursos ou assinatura, como por exemplo, quando você seleciona Logs no menu de recursos no portal do Azure, você pode visualizar logs somente dos recursos em todas as tabelas às quais você tem acesso. As consultas nesse modo têm como escopo somente os dados associados a esse recurso. Esse modo também habilita o RBAC granular do Azure. Os workspaces usam um modelo de log de contexto de recurso em que cada registro de log emitido por um recurso do Azure é associado automaticamente ao recurso.

Os registros estarão disponíveis em consultas de contexto de recurso somente se estiverem corretamente associados ao recurso relevante. Para verificar a associação, execute uma consulta e verifique se a coluna _ResourceId foi preenchida.

Há limitações conhecidas com os seguintes recursos:

Comparar modos de acesso

A tabela a seguir resume os modos de acesso:

Problema Contexto do workspace Contexto do recurso
A quem cada modelo se destina? Administração central.
Os administradores que precisam configurar a coleta de dados e os usuários que precisam acessar uma ampla variedade de recursos. Também exigido no momento para os usuários que precisam acessar os logs para recursos fora do Azure.
Equipes do Aplicativo.
Administradores de recursos do Azure sendo monitorados. Permite que eles se concentrem no recurso sem filtragem.
Do que o usuário precisa para visualizar os logs? Permissões para o espaço de trabalho.
Veja “Permissões de workspace” em Gerenciar o acesso usando permissões de workspace.
Acesso de leitura para o recurso.
Veja “Permissões de recurso” em Gerenciar o acesso usando as permissões do Azure. As permissões podem ser herdadas (por exemplo, do grupo de recursos ou assinatura) ou diretamente atribuídas ao recurso. A permissão para os logs do recurso será atribuída automaticamente. O usuário não requer acesso ao workspace.
Qual é o escopo da permissão? Espaço de trabalho.
Os usuários com acesso ao workspace podem consultar todos os logs dele nas tabelas às quais têm permissões. Confira Controle de acesso à tabela.
Recurso do Azure.
Os usuários podem consultar logs de recursos específicos, grupos de recursos ou assinaturas aos quais têm acesso em qualquer workspace, mas não podem consultar logs de outros recursos.
Como um usuário acessa logs? Selecione Logs no menu do Azure Monitor.

Selecione Logs no workspace do Log Analytics.

Nas Pastas de trabalho do Azure Monitor.
Selecione Logs no menu do recurso do Azure. Os usuários terão acesso aos dados desse recurso.

Selecione Logs no menu do Azure Monitor. Os usuários terão acesso aos dados de todos os recursos aos quais eles têm acesso.

Selecione Logs no workspace do Log Analytics. Os usuários terão acesso aos dados de todos os recursos aos quais eles têm acesso.

Nas Pastas de trabalho do Azure Monitor.

Modo de controle de acesso

O modo de controle de acesso é uma configuração em cada workspace que define como as permissões são determinadas para ele.

  • Exigir permissões do workspace. Esse modo de controle não permite o RBAC granular do Azure. Para acessar o workspace, o usuário deve receber permissões para o workspace ou para as tabelas específicas.

    Se o usuário acessar o espaço de trabalho seguindo o modo de contexto de espaço de trabalho, ele terá acesso a todos os dados de qualquer tabela para a qual tenha sido concedido acesso. Se o usuário acessar o espaço de trabalho seguindo o modo de contexto de recurso, ele terá acesso somente a dados daquele recurso, em qualquer tabela para a qual tenha sido concedido acesso.

    Essa é a configuração padrão para todos os workspaces criados antes de março de 2019.

  • Usar permissões de recurso ou de workspace. Este modo de controle permite RBAC granular do Azure. Os usuários podem receber acesso somente a dados associados aos recursos que podem visualizar, atribuindo readpermissão do Azure.

    Quando o usuário acessa o espaço de trabalho no modo de contexto de espaço de trabalho, as permissões de espaço de trabalho se aplicam. Quando o usuário acessa o espaço de trabalho no modo de contexto de recurso, somente as permissões de recurso são verificadas, e as permissões de espaço de trabalho são ignoradas. Habilite o RBAC do Azure para os usuários removendo-os das permissões do espaço de trabalho, e depois permitindo que suas permissões de recurso sejam reconhecidas.

    Essa é a configuração padrão para todos os workspaces criados depois de março de 2019.

    Observação

    Se o usuário tiver apenas permissões de recurso para o workspace, ele só poderá acessá-lo usando o modo de contexto de recurso, supondo que o modo de acesso do workspace esteja definido para Usar permissões de recurso ou workspace.

Configurar o modo de controle de acesso para um workspace

Você pode exibir o modo de controle de acesso do workspace atual na página Visão geral do workspace no menu Workspace do Log Analytics.

Screenshot that shows the workspace access control mode.

Altere essa configuração na página Propriedades do workspace. A alteração da configuração será desabilitada se você não tiver permissões para configurar o workspace.

Screenshot that shows changing workspace access mode.

RBAC do Azure

O acesso a um workspace é gerenciado com o RBAC do Azure. Para conceder acesso ao workspace do Log Analytics usando as permissões do Azure, siga as etapas em Atribuir funções do Azure para gerenciar o acesso aos recursos da assinatura do Azure.

Permissões de workspace

Cada workspace pode ter diversas contas associadas a ele. Cada conta pode ter acesso a diversos workspaces. A tabela a seguir lista as permissões do Azure para diferentes ações do workspace:

Ação Permissões do Azure necessárias Observações
Alterar o tipo de preço. Microsoft.OperationalInsights/workspaces/*/write
Criar um workspace no portal do Azure. Microsoft.Resources/deployments/*
Microsoft.OperationalInsights/workspaces/*
Exibir propriedades básicas do workspace e inserir o painel do workspace no portal. Microsoft.OperationalInsights/workspaces/read
Consultar logs usando qualquer interface. Microsoft.OperationalInsights/workspaces/query/read
Acessar todos os tipos de logs usando consultas. Microsoft.OperationalInsights/workspaces/query/*/read
Acessar uma tabela de logs específica. Microsoft.OperationalInsights/workspaces/query/<table_name>/read
Ler as chaves do workspace para permitir o envio de logs para ele. Microsoft.OperationalInsights/workspaces/sharedKeys/action
Adicionar e remover soluções de monitoramento. Microsoft.Resources/deployments/*
Microsoft.OperationalInsights/*
Microsoft.OperationsManagement/*
Microsoft.Automation/*
Microsoft.Resources/deployments/*/write

Essas permissões precisam ser concedidas no nível de assinatura ou no grupo de recursos.
Exibir dados nos blocos de solução Backup e Recuperação de Site. Administrador/coadministrador

Acessa recursos implantados usando o modelo de implantação clássico.

Funções internas

Atribua usuários a essas funções para dar a eles acesso em escopos diferentes:

  • Assinatura: acesso a todos os workspaces na assinatura
  • Grupo de recursos: acesso a todos os workspaces no grupo de recursos
  • Recurso: acesso somente ao workspace especificado

Crie atribuições no nível do recurso (workspace) para garantir o controle de acesso preciso. Use as funções personalizadas para criar funções com as permissões específicas necessárias.

Observação

Para adicionar e remover usuários de uma função de usuário, é necessário ter as permissões Microsoft.Authorization/*/Delete e Microsoft.Authorization/*/Write.

Leitor do Log Analytics

Os membros da função Leitor do Log Analytics podem exibir e pesquisar todos os dados de monitoramento além de exibir as configurações de monitoramento, incluindo a exibição da configuração do diagnóstico do Azure em todos os recursos do Azure.

Os membros da função Leitor do Log Analytics podem:

  • Exibir e pesquisar todos os dados de monitoramento.
  • Exiba configurações de monitoramento, incluindo exibir a configuração do diagnóstico do Azure em todos os recursos do Azure.

A função de leitor do Log Analytics inclui as seguintes ações do Azure:

Tipo Permissão Descrição
Ação */read Capacidade de exibir todos os recursos do Azure e a configuração do recurso.
Inclui exibir:
- Status da extensão da máquina virtual.
- Configuração do diagnóstico do Azure nos recursos.
- Todas as propriedades e configurações de todos os recursos.

Em workspaces, isso viabiliza permissões totalmente irrestritas para ler as configurações do workspace e executar a consulta nos dados. Veja opções mais granulares na lista anterior.
Ação Microsoft.Support/* Capacidade de abrir casos de suporte.
Nenhuma Ação Microsoft.OperationalInsights/workspaces/sharedKeys/read Impede a leitura da chave do workspace necessária para usar a API da coleta de dados e instalar os agentes. Isso impede que o usuário adicione recursos no workspace.
Ação Microsoft.OperationalInsights/workspaces/analytics/query/action Preterido.
Ação Microsoft.OperationalInsights/workspaces/search/action Preterido.

Colaborador do Log Analytics

Os membros da função Colaborador do Log Analytics podem:

  • Leia todos os dados de monitoramento concedidos pela função Leitor do Log Analytics.
  • Editar configurações de monitoramento dos recursos do Azure, incluindo o seguinte:
    • Adicionar a extensão da VM às VMs.
    • Configurar o diagnóstico do Azure em todos os recursos do Azure.
  • Criar e configurar contas de Automação. Essa permissão precisa ser concedida no nível da assinatura ou do grupo de recursos.
  • Adicionar e remover soluções de gerenciamento. Essa permissão precisa ser concedida no nível da assinatura ou do grupo de recursos.
  • Ler chaves da conta de armazenamento.
  • Configurar a coleta de logs no Armazenamento do Azure.

Aviso

Você pode usar a permissão para adicionar uma extensão da máquina virtual a uma máquina virtual para ter controle total sobre uma máquina virtual.

A função de Colaborador do Log Analytics inclui as seguintes ações do Azure:

Permissão Descrição
*/read Capacidade de exibir todos os recursos do Azure e a configuração do recurso.

Inclui exibir:
- Status da extensão da máquina virtual.
- Configuração do diagnóstico do Azure nos recursos.
- Todas as propriedades e configurações de todos os recursos.

Em workspaces, isso viabiliza permissões totalmente irrestritas para ler as configurações do workspace e executar a consulta nos dados. Veja opções mais granulares na lista anterior.
Microsoft.Automation/automationAccounts/* Capacidade de criar e configurar contas de Automação do Azure, incluindo adicionar e editar runbooks.
Microsoft.ClassicCompute/virtualMachines/extensions/*
Microsoft.Compute/virtualMachines/extensions/*
Adicionar, atualizar e remover as extensões da máquina virtual, incluindo a extensão do Microsoft Monitoring Agent e a extensão do Agente do OMS para Linux.
Microsoft.ClassicStorage/storageAccounts/listKeys/action
Microsoft.Storage/storageAccounts/listKeys/action
Exiba a chave da conta de armazenamento. Necessário para configurar o Log Analytics a fim de ler os logs das contas do Armazenamento do Azure.
Microsoft.Insights/alertRules/* Adicionar, atualizar e remover as regras de alerta.
Microsoft.Insights/diagnosticSettings/* Adicionar, atualizar e remover as configurações de diagnóstico nos recursos do Azure.
Microsoft.OperationalInsights/* Adicionar, atualizar e remover a configuração dos workspaces do Log Analytics. Para editar as configurações avançadas do workspace, o usuário precisa de Microsoft.OperationalInsights/workspaces/write.
Microsoft.OperationsManagement/* Adicionar e remover soluções de gerenciamento.
Microsoft.Resources/deployments/* Crie e exclua implantações. Necessário para adicionar e remover soluções, workspaces e contas de Automação.
Microsoft.Resources/subscriptions/resourcegroups/deployments/* Crie e exclua implantações. Necessário para adicionar e remover soluções, workspaces e contas de Automação.

Permissões de recurso

Quando os usuários consultarem logs de um workspace usando o acesso de contexto de recurso, eles terão as seguintes permissões no recurso:

Permissão Descrição
Microsoft.Insights/logs/<tableName>/read

Exemplos:
Microsoft.Insights/logs/*/read
Microsoft.Insights/logs/Heartbeat/read
Capacidade de exibir todos os dados de log do recurso
Microsoft.Insights/diagnosticSettings/write Capacidade de definir a configuração de diagnóstico para permitir a configuração de logs para o recurso

Em geral, a permissão /read é concedida por uma função que inclui permissões */read ou* como as funções internas de Leitor e Colaborador. Funções personalizadas que incluem ações específicas ou funções internas dedicadas podem não incluir essa permissão.

Exemplos de função personalizada

Além de usar as funções internas para o workspace do Log Analytics, é possível criar funções personalizadas para atribuir permissões mais granulares. A seguir, temos alguns exemplos comuns.

Para conceder a um usuário acesso aos dados de log dos recursos dele:

  • Configurar o modo de controle de acesso do workspace para usar permissões de workspace ou recurso.
  • Conceda aos usuários as permissões */read ou Microsoft.Insights/logs/*/read a seus recursos. Se eles já tiverem recebido a função de Leitor do Log Analytics no workspace, será o suficiente.

Para conceder a um usuário acesso aos dados de log dos recursos dele e configurar os recursos para enviar logs para o workspace:

  • Configurar o modo de controle de acesso do workspace para usar permissões de workspace ou recurso.
  • Conceda aos usuários as seguintes permissões no workspace: Microsoft.OperationalInsights/workspaces/read e Microsoft.OperationalInsights/workspaces/sharedKeys/action. Com essas permissões, os usuários não podem executar nenhuma consulta no nível do workspace. Eles só podem enumerar o workspace e usá-lo como um destino para configurações de diagnóstico ou configuração do agente.
  • Conceda aos usuários as seguintes permissões para os recursos deles: Microsoft.Insights/logs/*/read e Microsoft.Insights/diagnosticSettings/write. Se eles já receberam a função de Colaborador do Log Analytics, a função de Leitor ou as permissões */read nesse recurso, isso é o suficiente.

Para conceder a um usuário acesso aos dados de log de seus recursos sem que ele possa ler eventos de segurança e enviar dados:

  • Configurar o modo de controle de acesso do workspace para usar permissões de workspace ou recurso.
  • Conceda aos usuários as seguintes permissões para os recursos deles: Microsoft.Insights/logs/*/read.
  • Adicione a seguinte NonAction para impedir que os usuários leiam o tipo de SecurityEvent: Microsoft.Insights/logs/SecurityEvent/read. A NonAction deve estar na mesma função personalizada que a ação que fornece a permissão de leitura (Microsoft.Insights/logs/*/read). Se o usuário herdar a ação de leitura de outra função atribuída ao recurso ou à assinatura ou grupo de recursos, ele poderá ler todos os tipos de log. Isso também será verdadeiro se eles herdarem */read, que existe, por exemplo, com a função de Leitor ou Colaborador.

Para conceder a um usuário acesso aos dados de log de seus recursos e permissão para ler todos os dados de log da solução Gerenciamento de Atualizações e da entrada do Azure AD do workspace:

  • Configurar o modo de controle de acesso do workspace para usar permissões de workspace ou recurso.
  • Conceda aos usuários as seguintes permissões no workspace:
    • Microsoft.OperationalInsights/workspaces/read: necessário para que o usuário possa enumerar o workspace e abrir o painel dele no portal do Azure
    • Microsoft.OperationalInsights/workspaces/query/read: necessário para todo usuário que pode executar consultas
    • Microsoft.OperationalInsights/workspaces/query/SigninLogs/read: para poder ler os logs de entrada do Azure AD
    • Microsoft.OperationalInsights/workspaces/query/Update/read: para poder ler os logs da solução Gerenciamento de Atualizações
    • Microsoft.OperationalInsights/workspaces/query/UpdateRunProgress/read: para poder ler os logs da solução Gerenciamento de Atualizações
    • Microsoft.OperationalInsights/workspaces/query/UpdateSummary/read: para poder ler os logs do Gerenciamento de Atualizações
    • Microsoft.OperationalInsights/workspaces/query/Heartbeat/read: necessário para usar as soluções de Gerenciamento de Atualizações
    • Microsoft.OperationalInsights/workspaces/query/ComputerGroup/read: necessário para usar as soluções de Gerenciamento de Atualizações
  • Conceda aos usuários as seguintes permissões para seus recursos: */read, atribuído à função de Leitor, ou Microsoft.Insights/logs/*/read

RBAC do Azure de nível de tabela

O RBAC do Azure de nível de tabela permite que você defina um controle mais granular para os dados em um workspace do Log Analytics definindo tipos de dados específicos que são acessíveis apenas a um conjunto específico de usuários.

Implemente o controle de acesso de tabela com as Funções personalizadas do Azure para conceder acesso a tabelas específicas no workspace. Essas funções são aplicadas a workspaces com os modos de controle de acesso de contexto de recurso ou de contexto do workspace, independentemente do modo de acesso do usuário.

Crie uma função personalizada com as seguintes ações para definir o acesso a uma determinada tabela:

  • Inclua a seção Ações da definição de função. Para subtrair o acesso das Açõespermitidas, inclua-o na seção NotActions.
  • Use Microsoft.OperationalInsights/workspaces/query/* para especificar todas as tabelas.

Exemplos

Veja a seguir exemplos de ações de função personalizada para conceder e negar acesso a tabelas específicas.

Conceda acesso às tabelas Pulsação e AzureActivity:

"Actions":  [
    "Microsoft.OperationalInsights/workspaces/read",
    "Microsoft.OperationalInsights/workspaces/query/read",
    "Microsoft.OperationalInsights/workspaces/query/Heartbeat/read",
    "Microsoft.OperationalInsights/workspaces/query/AzureActivity/read"
  ],

Conceda acesso somente à tabela SecurityBaseline:

"Actions":  [
    "Microsoft.OperationalInsights/workspaces/read",
    "Microsoft.OperationalInsights/workspaces/query/read",
    "Microsoft.OperationalInsights/workspaces/query/SecurityBaseline/read"
],

Conceda acesso a todas as tabelas, exceto SecurityAlert:

"Actions":  [
    "Microsoft.OperationalInsights/workspaces/read",
    "Microsoft.OperationalInsights/workspaces/query/read",
    "Microsoft.OperationalInsights/workspaces/query/*/read"
],
"notActions":  [
    "Microsoft.OperationalInsights/workspaces/query/SecurityAlert/read"
],

Logs personalizados

Os logs personalizados são criados com base em fontes de dados como logs de texto e a API do coletor de dados HTTP. A maneira mais fácil de identificar o tipo de log é verificando as tabelas listadas em Logs personalizados no esquema de log.

Observação

As tabelas criadas pela API de logs personalizados ainda não dão suporte ao RBAC de nível de tabela.

Não é possível conceder acesso a logs personalizados individuais, mas você pode conceder acesso a todos os logs personalizados. Para criar uma função com acesso a todas as tabelas de logs personalizados, crie uma função personalizada usando as seguintes ações:

"Actions":  [
    "Microsoft.OperationalInsights/workspaces/read",
    "Microsoft.OperationalInsights/workspaces/query/read",
    "Microsoft.OperationalInsights/workspaces/query/Tables.Custom/read"
],

Uma abordagem alternativa para gerenciar o acesso a logs personalizados é atribuí-los a um recurso do Azure e gerenciar o acesso usando o controle de acesso do contexto de recurso. Inclua a ID do recurso especificando-a no cabeçalho x-ms-AzureResourceId quando os dados forem ingeridos no Log Analytics por meio da API do coletor de dados HTTP. A ID do recurso deve ser válida e ter regras de acesso aplicadas a ela. Depois que os logs forem ingeridos, eles poderão ser acessados pelos usuários com acesso de leitura ao recurso.

Alguns logs personalizados são provenientes de fontes que não estão diretamente associadas a um recurso específico. Nesse caso, crie um grupo de recursos para gerenciar o acesso a esses logs. O grupo de recursos não incorre em nenhum custo, mas fornece uma ID de recurso válida para controlar o acesso aos logs personalizados.

Por exemplo, se um firewall específico estiver enviando logs personalizados, crie um grupo de recursos chamado MyFireWallLogs. Verifique se as solicitações de API contêm a ID de recurso de MyFireWallLogs. Os registros de log de firewall só podem ser acessados por usuários que receberam acesso a MyFireWallLogs ou por aqueles com acesso completo ao workspace.

Considerações

  • Se um usuário receber permissão de leitura global com as funções Leitor ou Colaborador padrão que incluem a ação */read, isso substituirá o controle de acesso por tabela e dará a ele acesso a todos os dados de log.
  • Se um usuário tiver acesso por tabela, mas nenhuma outra permissão, ele poderá acessar dados de log da API, mas não do portal do Azure. Para fornecer acesso do portal do Azure, use o Leitor do Log Analytics como a função base.
  • Os administradores e proprietários da assinatura terão acesso a todos os tipos de dados, independentemente de qualquer outra configuração de permissão.
  • Os proprietários do workspace são tratados como qualquer outro usuário para o controle de acesso por tabela.
  • Recomendamos atribuir funções a grupos de segurança em vez de usuários individuais para reduzir o número de atribuições. Isso também ajudará você a usar as ferramentas de gerenciamento de grupo existentes para configurar e verificar o acesso.

Próximas etapas