Alerta sobre atribuições de função privilegiadas do Azure
As funções privilegiadas do Azure, como Colaborador, Proprietário ou Administrador de Acesso de Usuário, são funções poderosas e podem introduzir riscos em seu sistema. Talvez você queira ser notificado por e-mail ou mensagem de texto quando essas ou outras funções forem atribuídas. Este artigo descreve como ser notificado de atribuições de função privilegiada em um escopo de assinatura criando uma regra de alerta usando o Azure Monitor.
Pré-requisitos
Para criar uma regra de alerta, você deve ter:
- Aceder a uma subscrição do Azure
- Permissão para criar grupos de recursos e recursos dentro da assinatura
- O Log Analytics está configurado para ter acesso à tabela AzureActivity
Estimar custos antes de usar o Azure Monitor
Há um custo associado ao uso do Azure Monitor e das regras de alerta. O custo é baseado na frequência com que a consulta é executada e nas notificações selecionadas. Para obter mais informações, consulte Preços do Azure Monitor.
Criar uma regra de alerta
Para ser notificado sobre atribuições de função privilegiada, crie uma regra de alerta no Azure Monitor.
Inicie sessão no portal do Azure.
Navegue até Monitor.
Na navegação à esquerda, clique em Alertas.
Clique em Criar>regra de alerta. A página Criar uma regra de alerta é aberta.
Na guia Escopo, selecione sua assinatura.
Na guia Condição, selecione o nome do sinal de pesquisa de log personalizado.
Na caixa Consulta de log, adicione a seguinte consulta Kusto que será executada no log da assinatura e acionará o alerta.
Esta consulta filtra as tentativas de atribuir as funções de Colaborador, Proprietário ou Administrador de Acesso de Usuário no escopo da assinatura selecionada.
AzureActivity | where CategoryValue =~ "Administrative" and OperationNameValue =~ "Microsoft.Authorization/roleAssignments/write" and (ActivityStatusValue =~ "Start" or ActivityStatus =~ "Started") | extend Properties_d = todynamic(Properties) | extend RoleDefinition = extractjson("$.Properties.RoleDefinitionId",tostring(Properties_d.requestbody),typeof(string)) | extend PrincipalId = extractjson("$.Properties.PrincipalId",tostring(Properties_d.requestbody),typeof(string)) | extend PrincipalType = extractjson("$.Properties.PrincipalType",tostring(Properties_d.requestbody),typeof(string)) | extend Scope = extractjson("$.Properties.Scope",tostring(Properties_d.requestbody),typeof(string)) | where Scope !contains "resourcegroups" | extend RoleId = split(RoleDefinition,'/')[-1] | extend RoleDisplayName = case( RoleId =~ 'b24988ac-6180-42a0-ab88-20f7382dd24c', "Contributor", RoleId =~ '8e3af657-a8ff-443c-a75c-2fe8c4bcb635', "Owner", RoleId =~ '18d7d88d-d35e-4fb5-a5c3-7773c20a72d9', "User Access Administrator", "Irrelevant") | where RoleDisplayName != "Irrelevant" | project TimeGenerated,Scope, PrincipalId,PrincipalType,RoleDisplayName
Na seção Medição, defina os seguintes valores:
- Medida: Linhas da tabela
- Tipo de agregação: Contagem
- Granularidade da agregação: 5 minutos
Para granularidade de agregação, você pode alterar o valor padrão para uma frequência desejada.
Na seção Dividir por dimensões, defina a coluna ID do recurso como Não dividir.
Na seção Lógica de alerta, defina os seguintes valores:
- Operador: Maior que
- Valor limite: 0
- Frequência da avaliação: 5 minutos
Para Frequência de avaliação, você pode alterar o valor padrão para uma frequência desejada.
Na guia Ações, crie um grupo de ações ou selecione um grupo de ações existente.
Um grupo de ações define as ações e notificações que são executadas quando o alerta é acionado.
Ao criar um grupo de ações, você deve especificar o grupo de recursos no qual colocar o grupo de ações. Em seguida, selecione as notificações (Email/SMS message/Push/Voice action) para invocar quando a regra de alerta for acionada. Pode ignorar os separadores Ações e Etiquetas . Para obter mais informações, consulte Criar e gerenciar grupos de ações no portal do Azure.
Na guia Detalhes, selecione o grupo de recursos para salvar a regra de alerta.
Na seção Detalhes da regra de alerta, selecione uma Severidade e especifique um nome de regra de alerta.
Para Região, você pode selecionar qualquer região, já que os logs de atividade do Azure são globais.
Ignore a guia Marcas .
No separador Rever + criar, clique em Criar para criar a regra de alerta.
Testar a regra de alerta
Depois de criar uma regra de alerta, você pode testar se ela é acionada.
Atribua a função de Colaborador, Proprietário ou Administrador de Acesso de Usuário no escopo da assinatura. Para obter mais informações, consulte Atribuir funções do Azure utilizando o portal do Azure.
Aguarde alguns minutos para receber o alerta com base na granularidade da agregação e na frequência de avaliação da consulta de log.
Na página Alertas, monitore o alerta especificado no grupo de ações.
A imagem a seguir mostra um exemplo do alerta de e-mail.
Excluir a regra de alerta
Siga estas etapas para excluir a regra de alerta de atribuição de função e interromper custos adicionais.
No Monitor, navegue até Alertas.
Na barra, clique em Regras de alerta.
Adicione uma marca de seleção ao lado da regra de alerta que você deseja excluir.
Clique em Excluir para remover o alerta.