Gerir conteúdo como código com Microsoft Sentinel repositórios

Microsoft Sentinel repositórios permitem-lhe implementar e gerir conteúdos de Sentinel personalizados a partir de um repositório de controlo de origem externo para integração contínua/entrega contínua (CI/CD). Esta automatização elimina a necessidade de processos manuais para atualizar e implementar o conteúdo personalizado nas áreas de trabalho. Um subconjunto de conteúdo como código é o de deteções como código (DaC). Microsoft Sentinel Repositórios também implementa o DaC.

Para obter mais informações sobre o conteúdo do Sentinel, consulte Acerca do conteúdo e das soluções do Microsoft Sentinel.

Como funcionam Microsoft Sentinel repositórios

Pode implementar estes tipos de conteúdo personalizados do Microsoft Sentinel a partir de um repositório externo de controlo de código-fonte que liga ao Microsoft Sentinel:

  • Regras de análise
  • Regras de automatização
  • Regras de deteção personalizadas (Pré-visualização)
  • Consultas de investigação
  • Analisadores
  • Guias de procedimentos
  • Livros

As atualizações que efetua ao conteúdo nos seus repositórios do Microsoft Sentinel são sincronizadas com o seu espaço de trabalho do Microsoft Sentinel e substituem quaisquer alterações que efetue nesse conteúdo através do portal do Microsoft Sentinel. Os seus repositórios do Microsoft Sentinel tornam-se a sua fonte única de verdade para conteúdos personalizados nas áreas de trabalho conectadas.

Planeie a ligação ao repositório

Os repositórios do Microsoft Sentinel requerem um planeamento cuidadoso para garantir que tem as permissões adequadas da sua área de trabalho para o repositório (repo) que pretende ligar.

  • Apenas são suportadas ligações ao GitHub e Azure repositórios de DevOps.
  • É necessário acesso de colaborador ao seu repositório do GitHub ou administrador de projetos ao seu Azure repositório de DevOps.
  • A aplicação Microsoft Sentinel precisa de autorização para o seu repositório.
  • As ações têm de estar ativadas para o GitHub.
  • Os pipelines têm de estar ativados para Azure DevOps.
  • Uma ligação do Azure DevOps tem de estar no mesmo tenant que a área de trabalho do Microsoft Sentinel.

Criar uma ligação a um repositório requer a função de Proprietário no grupo de recursos que contém o seu espaço de trabalho do Microsoft Sentinel.

Se encontrar conteúdo num repositório público onde não é contribuidor, importe primeiro, bifurque ou clone o conteúdo para um repositório onde é contribuidor. Em seguida, ligue o repositório à área de trabalho Microsoft Sentinel. Para obter mais informações, veja Implementar conteúdo personalizado a partir do seu repositório.

Número máximo de ligações e distribuições

  • Cada Microsoft Sentinel área de trabalho está atualmente limitada a cinco ligações de repositório.
  • Cada grupo de recursos do Azure está limitado a 800 implementações no respetivo histórico de implementações. Se tiver um grande volume de implementações de modelos num ou mais dos seus grupos de recursos, poderá ver o Deployment QuotaExceeded erro. Para obter mais informações, consulte DeploymentQuotaExceeded na documentação dos modelos do Azure Resource Manager.

Planear o conteúdo do repositório

Os repositórios do Microsoft Sentinel suportam a implementação de conteúdo armazenado como ficheiros Bicep ou modelos do Azure Resource Manager (ARM). Recomendamos a utilização do Bicep, que é mais intuitivo e facilita a descrição de recursos do Azure e de conteúdo do Microsoft Sentinel.

O modelo para cada tipo de conteúdo tem uma estrutura específica e um nome de parâmetro, conforme documentado na referência de modelo de recursos de Sentinel. Para ver exemplos de cada tipo de conteúdo, consulte o repositório RepositoriesSampleContent.

Fornecemos um repositório de exemplo com modelos para cada um dos tipos de conteúdo listados. O repositório também demonstra como utilizar funcionalidades avançadas de ligações de repositório. Para obter mais informações, veja exemplo de repositórios CI/CD do Microsoft Sentinel.

Captura de ecrã de uma ligação a um repositório bem-sucedida. É apresentado o RepositoriesSampleContent. Esta captura de ecrã foi obtida após a importação do exemplo do repositório SentinelCICD para um repositório privado no GitHub na organização FourthCoffee.

Embora possa criar modelos do zero, muitas vezes é mais fácil começar com os ficheiros YAML do repositório público do GitHub do Sentinel ou com o conteúdo predefinido do Microsoft Sentinel. Esta tabela indica como converter um modelo ARM para utilização nos Repositórios do Microsoft Sentinel.

Tipo de Conteúdo Converter a partir de YAML Público do Sentinel Exportar do Sentinel Referência de Modelo Modelos de Exemplo
Regras de análise Script do PowerShell Exportar funcionalidade ou script do PowerShell Referência Modelos do ARM
Regras de automatização N/D Exportar a funcionalidade ou os scripts do PowerShell Referência N/D
Consultas de pesquisa Script do PowerShell comandos da CLI do Azure Referência Conteúdo de Exemplo
Analisadores Script do PowerShell do ASIM comandos da CLI do Azure Referência Modelos
Guias de procedimentos N/D Utilitário do PowerShell Referência N/D
Livros de trabalho N/D Exportar livros de trabalho como modelos ARM Referência N/D

Importante

Considerações sobre o Bicep:

  • Para utilizar ficheiros Bicep, a ligação de repositórios tem de ser atualizada se a ligação tiver sido criada antes de 1 de novembro de 2024. As ligações de repositórios têm de ser removidas e recriadas para serem atualizadas.
  • Os ficheiros Bicep não suportam a propriedade id. Ao decompor o JSON do ARM para Bicep, certifique-se de que não tem esta propriedade. Por exemplo, os modelos de regras analíticas exportados de Microsoft Sentinel têm a id propriedade que precisa de ser removida.
  • Altere o esquema JSON do ARM para a versão 2019-04-01 para obter os melhores resultados ao decompor-se.

As regras de análise implementadas com a funcionalidade Repositórios Microsoft Sentinel só podem utilizar consultas entre áreas de trabalho se a área de trabalho de destino estiver no mesmo Grupo de Recursos que a área de trabalho ligada ao repositório.

Para obter informações sobre como criar conteúdo personalizado do zero, veja o wiki relevante Microsoft Sentinel GitHub para cada tipo de conteúdo.

Implementar regras de deteção personalizadas como código (Pré-visualização)

Importante

O suporte a regras de deteção personalizadas nos repositórios Microsoft Sentinel está atualmente em Pré-visualização. Consulte os Termos de Utilização Complementares das Visualizações Prévias do Microsoft Azure para obter os termos legais que se aplicam às funcionalidades do Azure que estão em beta, em pré-visualização ou que ainda não foram lançadas para disponibilidade geral.

Pode gerir regras de deteção personalizadas como código no seu repositório usando a extensão Microsoft Security BICEP. As regras de deteção personalizadas utilizam uma extensão BICEP e um fornecedor de recursos diferentes dos outros tipos de conteúdo do Microsoft Sentinel.

Pré-requisitos para regras de deteção personalizadas

Para além dos pré-requisitos padrão de ligação ao repositório, regras de deteção personalizadas exigem:

  • Uma licença Microsoft 365 E5 (ou licença equivalente que inclua Microsoft Defender XDR).
  • Espaços de trabalho Microsoft Sentinel integrados no portal Microsoft Defender.

Configurar a extensão Microsoft Security BICEP

As regras de deteção personalizadas requerem a extensão Microsoft Security BICEP. Crie um bicepconfig.json ficheiro na raiz do seu repositório:

{
  "extensions": {
    "MicrosoftSecurity": "br:mcr.microsoft.com/bicep/extensions/microsoftsecurity:v1.0.1"
  }
}

Esta configuração é necessária tanto para a sincronização baseada em repositórios como para a implementação direta do BICEP.

Criar um ficheiro BICEP de regra de deteção personalizada

Defina uma regra de deteção personalizada usando o tipo de Microsoft.Security/detectionRules recurso. Crie um .bicep ficheiro (por exemplo, detectionRule.bicep) com a seguinte estrutura:

extension MicrosoftSecurity

resource detectionRule 'Microsoft.Security/detectionRules@2026-06-01-preview' = {
  id: 'custom-rule-id'
  displayName: 'Custom Rule Display Name'
  status: 'enabled'
  queryCondition: {
    queryText: 'DeviceProcessEvents | take 10 | project DeviceId, Timestamp, FileName'
  }
  schedule: {
    frequency: 'PT1H'
  }
  detectionAction: {
    alertTemplate: {
      title: '<ruleTitle>'
      description: 'Custom detection rule'
      severity: 'medium'
      tactics: [
        {
          tactic: 'Execution'
          techniques: [
            {
              technique: 'T1059'
            }
          ]
        }
      ]
      entityMappings: {
        hosts: [
          {
            id: 'h'
            deviceIdColumn: 'DeviceId'
          }
        ]
      }
    }
  }
}

As regras são identificadas de forma única pelo seu ID, que deve ser fornecido no modelo.

Implementação de regras de deteção personalizadas

Pode implementar regras de deteção personalizadas usando um dos seguintes métodos.

Método de implantação Description Quem gere a implantação
Microsoft Sentinel Repositories (sincronizado) Sincronização automática do seu repositório GitHub ou Azure DevOps para o Microsoft Sentinel. O Sentinel executa automaticamente a implantação em cada commit.
BICEP CLI (direta) Implementa usando az deployment group create a partir do CLI do Azure. Executas a implementação manualmente ou a partir de um pipeline personalizado.

Opção 1: Implementar usando repositórios Microsoft Sentinel

  1. Confirma o ficheiro BICEP e bicepconfig.json no repositório do GitHub ou do Azure DevOps.
  2. No portal do Microsoft Defender, navegue até Microsoft Sentinel>Gestão de conteúdos>Repositórios.
  3. Crie uma nova ligação ao repositório ou edite uma existente.
  4. Nas definições de ligação, selecione Regras de Deteção Personalizadas em Tipos de Conteúdo.
  5. Guarde a ligação.

Uma vez ativado, o Microsoft Sentinel sincroniza automaticamente regras de deteção personalizadas a partir do repositório.

Opção 2: Implementar diretamente usando o BICEP

Execute o seguinte comando da CLI do Azure:

az deployment group create \
  --resource-group <RESOURCE_GROUP> \
  --template-file detectionRule.bicep \
  --name mtp-deployment

Verifique se a implementação foi concluída com sucesso no grupo de recursos.

Validar a implementação

Após a implementação com qualquer uma das opções:

  1. Confirme que a regra de deteção aparece na sua lista de regras de deteção personalizadas no portal Microsoft Defender.
  2. Verifique se a regra está ativada e a produzir os resultados esperados.
  3. Se usou sincronização de repositório (Opção 1), faça alterações no repositório para validar o comportamento de sincronização.

Limitações de pré-visualização

Durante a antevisão:

  • Frequências personalizadas para dados do Microsoft Sentinel não são suportadas.
  • Detalhes personalizados não são suportados.

Melhorar o desempenho com implementações inteligentes

Sugestão

Para garantir que as implementações inteligentes funcionam no GitHub, os Fluxos de Trabalho têm de ter permissões de leitura e escrita no seu repositório. Para obter mais informações, veja Managing GitHub Actions settings for a repository (Gerir definições de GitHub Actions de um repositório).

A funcionalidade de implementações inteligentes é uma capacidade de back-end que melhora o desempenho ao controlar ativamente as modificações efetuadas aos ficheiros de conteúdo de um repositório ligado. Utiliza um ficheiro CSV na pasta .sentinel no seu repositório para auditar cada commit. O fluxo de trabalho evita reimplementar conteúdos que não foram modificados desde a última implementação. Este processo melhora o desempenho da implementação e impede a alteração indevida de conteúdo inalterado no seu espaço de trabalho, como a redefinição de agendamentos dinâmicos das suas regras analíticas.

As implementações inteligentes estão ativadas por predefinição nas ligações recém-criadas. Se preferir todo o conteúdo de controlo de origem implementado sempre que uma implementação é acionada, quer esse conteúdo tenha sido modificado ou não, modifique o fluxo de trabalho para desativar implementações inteligentes. Para obter mais informações, veja Personalizar o fluxo de trabalho ou pipeline.

Considerar as opções de personalização da implementação

Considere as seguintes opções de personalização ao implementar conteúdo com Microsoft Sentinel repositórios.

Personalizar o fluxo de trabalho ou a canalização

Personalize o fluxo de trabalho ou pipeline de uma das seguintes formas:

  • configurar diferentes acionadores de implementação
  • implementar conteúdo apenas a partir de uma pasta raiz específica para uma determinada área de trabalho
  • agendar o fluxo de trabalho para ser executado periodicamente
  • combinar diferentes eventos de fluxo de trabalho em conjunto
  • desativar implementações inteligentes

Estas personalizações são definidas num ficheiro .yml específico do fluxo de trabalho ou pipeline. Para obter mais informações sobre como implementar, veja Personalizar implementações de repositório

Personalizar a implementação

Depois de o fluxo de trabalho ou pipeline ser acionado, a implementação suporta os seguintes cenários:

  • atribuir prioridades ao conteúdo a implementar antes do resto do conteúdo do repositório
  • excluir conteúdo da implementação
  • especificar os ficheiros de parâmetros do modelo ARM

Estas opções estão disponíveis através de uma funcionalidade do script de implementação do PowerShell chamada a partir do fluxo de trabalho ou pipeline. Para obter mais informações sobre como implementar estas personalizações, veja Personalizar implementações de repositório.

Gerir Microsoft Sentinel repositórios com a API

Para obter informações sobre como gerir os repositórios do Microsoft Sentinel com a API, consulte as ações Source Control e Source Controls na API REST do Microsoft Sentinel.

Importante

A partir de junho de 2026, as versões mais antigas da API utilizadas pelo Microsoft Sentinel repositórios deixarão de ser suportadas. Se estiver a utilizar APIs para criar e gerir ligações de repositório, transite para a versão 2025-09-01, 2025-06-01 ou 2025-07-01-preview antes de 15 de junho de 2026 para evitar a interrupção do serviço. As ligações de repositório existentes não são afetadas.

Passos seguintes

Obtenha mais exemplos e instruções passo a passo sobre como implementar Microsoft Sentinel repositórios.