Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Existem duas maneiras principais de personalizar a implantação do conteúdo do seu repositório nos espaços de trabalho do Microsoft Sentinel. Cada método utiliza diferentes ficheiros e sintaxe, por isso, considere estes exemplos para começar. Antes de começar, verifique se os pré-requisitos de conexão e implantação do repositório necessários estão em vigor.
| Método de personalização | Opções de implementação abrangidas |
|---|---|
| Fluxo de trabalho do GitHub Pipeline de DevOps |
Personalize o gatilho de implantação da sua conexão Personalize seu caminho de implantação Ativação de implementações inteligentes |
| Arquivos de configuração | Controlar a ordem priorizada das implementações de conteúdos Optar por excluir ficheiros de conteúdo específicos de implementações Dimensionar implementações em diferentes áreas de trabalho ao mapear ficheiros de parâmetros para ficheiros de conteúdo específicos |
Pré-requisitos
Para personalizar uma implantação de repositório, você precisa de uma conexão de repositório existente. Para criar um, consulte Implantar conteúdo personalizado do repositório. Depois de criar a conexão, certifique-se de atender a estes requisitos:
- Acesso de colaborador ao repositório do GitHub ou ao acesso do Administrador de Projetos ao seu repositório do Azure DevOps
- Ações ativadas para o GitHub e Pipelines ativadas para Azure DevOps
- Certifique-se de que os ficheiros de conteúdo personalizados que pretende implementar nas áreas de trabalho estão num formato suportado. Para obter os formatos suportados, veja Planear o conteúdo do repositório.
Para obter mais informações sobre tipos de conteúdo implementáveis, veja Planear o conteúdo do repositório.
Personalize o fluxo de trabalho ou pipeline
O fluxo de trabalho predefinido só implementa conteúdo modificado desde a última implementação, com base em consolidações no repositório. Personalize o fluxo de trabalho ou pipeline para configurar diferentes gatilhos de implantação, ou para implantar conteúdo exclusivamente de uma pasta raiz específica.
Selecione uma das seguintes abas de acordo com o seu tipo de conexão:
Para personalizar seu fluxo de trabalho de implantação no GitHub:
No GitHub, aceda ao seu repositório e localize o fluxo de trabalho no diretório .github/workflows .
O ficheiro de fluxo de trabalho é o ficheiro YML que começa com sentinel-deploy-xxxxx.yml. Abra esse ficheiro e o nome do fluxo de trabalho é apresentado na primeira linha e tem a seguinte convenção de nomenclatura predefinida:
Deploy Content to <workspace-name> [<deployment-id>].Por exemplo:
name: Deploy Content to repositories-demo [xxxxx-dk5d-3s94-4829-9xvnc7391v83a]Selecione o botão de lápis no canto superior direito da página para abrir o ficheiro para edição e, em seguida, modifique a implementação da seguinte forma:
Para modificar o gatilho de implantação, atualize a
onseção no código, que descreve o evento que desencadeia a execução do fluxo de trabalho.Por predefinição, esta configuração está definida como
on: push, o que significa que o fluxo de trabalho é acionado em qualquer push para o ramo ligado, incluindo modificações ao conteúdo existente e adições de novos conteúdos ao repositório. Por exemplo:on: push: branches: [ main ] paths: - `**` - `!.github/workflows/**` # this filter prevents other workflow changes from triggering this workflow - `.github/workflows/sentinel-deploy-<deployment-id>.yml`Altere estas definições, por exemplo, para agendar a execução periódica do fluxo de trabalho ou para combinar diferentes eventos de fluxo de trabalho.
Para mais informações, veja Configurar eventos de fluxo de trabalho na documentação do GitHub.
Para desativar implantações inteligentes:
O comportamento de implantação inteligente é configurado separadamente do gatilho do fluxo de trabalho na
onseção. Navegue para ajobssecção do fluxo de trabalho. Mude osmartDeploymentvalor predefinido detrueparafalse. Assim que esta alteração for consolidada, a funcionalidade de implementação inteligente é desativada e todas as implementações futuras para esta ligação implementam novamente todos os ficheiros de conteúdo relevantes do repositório para as áreas de trabalho ligadas.Para modificar o caminho de implantação:
Na configuração padrão mostrada para a seção
on, os curingas (**) na primeira linha da seçãopathsindicam que a ramificação inteira está no caminho para os gatilhos de implantação.Essa configuração padrão significa que um fluxo de trabalho de implantação é acionado sempre que esse conteúdo é enviado para qualquer parte do ramo conectado.
Na
jobsseção, a configuração padrão incluidirectory: '${{ github.workspace }}'. Adirectoryconfiguração indica que todo o ramo do GitHub está no caminho para a implantação do conteúdo, sem filtragem para nenhum caminho de pasta.Para implantar conteúdo somente de um caminho de pasta específico, adicione-o às configurações
pathsedirectory. Por exemplo, para implementar conteúdo apenas a partir de uma pasta raiz chamadaSentinelContent, atualize o código da seguinte forma:paths: - `SentinelContent/**` - `!.github/workflows/**` # this filter prevents other workflow changes from triggering this workflow - `.github/workflows/sentinel-deploy-<deployment-id>.yml` ... directory: '${{ github.workspace }}/SentinelContent'
Para mais informações, veja a sintaxe do fluxo de trabalho GitHub Actions para filtros de caminho na documentação do GitHub.
Importante
Tanto no GitHub quanto no Azure DevOps, certifique-se de manter o caminho do gatilho e os diretórios do caminho de implantação consistentes.
Dimensionar as implementações com ficheiros de parâmetros
Em vez de transmitir parâmetros como valores inline nos seus ficheiros de conteúdo, considere utilizar um ficheiro de parâmetro bicep ou um ficheiro JSON que contenha os valores dos parâmetros. Em seguida, mapeie esses ficheiros de parâmetros para os ficheiros de conteúdo Microsoft Sentinel associados para dimensionar melhor as suas implementações em diferentes áreas de trabalho.
Existem várias formas de mapear ficheiros de parâmetros para os ficheiros de conteúdo. Lembre-se de que os arquivos de parâmetros do Bicep oferecem suporte apenas a modelos de arquivo do Bicep, mas os arquivos de parâmetros JSON oferecem suporte a ambos. O pipeline de implementação de repositórios considera os ficheiros de parâmetros pela seguinte ordem:
Existe um mapeamento no sentinel-deployment.config?
Para obter mais informações, veja Personalizar a configuração da ligação.Existe um ficheiro de parâmetros mapeado pela área de trabalho? Sim, os arquivos de conteúdo estão no mesmo diretório com um arquivo de parâmetros mapeado para um workspace que corresponda a um destes padrões:
.<WorkspaceID>.bicepparam
.parameters-<WorkspaceID>.jsonExiste um ficheiro de parâmetros predefinido? Sim, os ficheiros de conteúdo estão no mesmo diretório com um ficheiro de parâmetro que corresponde a um destes padrões:
.bicepparam
.parameters.json
Evite conflitos com múltiplas implementações de áreas de trabalho ao mapear os ficheiros de parâmetros através do ficheiro de configuração ou ao especificar o ID da área de trabalho no nome do ficheiro.
Importante
Uma vez definida uma correspondência com um arquivo de parâmetros com base na precedência de mapeamento, o pipeline ignora quaisquer mapeamentos restantes.
Modificar o ficheiro de parâmetro mapeado listado no sentinel-deployment.config aciona a implementação do respetivo ficheiro de conteúdo emparelhado. Adicionar ou modificar um ficheiro de parâmetros mapeado por área de trabalho ou um ficheiro de parâmetros predefinido também aciona uma implementação dos ficheiros de conteúdo emparelhado juntamente com os parâmetros recentemente modificados, a menos que esteja em vigor um mapeamento de parâmetros de precedência superior. Outros ficheiros de conteúdo não são implementados desde que a funcionalidade de implementações inteligentes ainda esteja ativada no ficheiro de definição de fluxo de trabalho/pipeline.
Personalizar a configuração da ligação
O script de implementação para repositórios suporta a utilização de um ficheiro de configuração de implementação para cada ramo de repositório a partir de julho de 2022. O ficheiro JSON de configuração ajuda-o a mapear ficheiros de parâmetros para ficheiros de conteúdo relevantes, a atribuir prioridades a conteúdos específicos em implementações e a excluir conteúdos específicos de implementações.
Importante
Criar, excluir ou modificar o arquivo sentinel-deployment.config dispara uma implantação completa de todo o conteúdo do repositório de acordo com a configuração atualizada.
Crie o ficheiro sentinel-deployment.config na raiz do seu repositório.
Inclua o conteúdo estruturado em três secções opcionais,
"prioritizedcontentfiles":,"excludecontentfiles":e"parameterfilemappings":. Se não estiverem incluídas secções ou o ficheiro .config for omitido, o processo de implementação continuará a ser executado. As secções inválidas ou não reconhecidas são ignoradas.
Aqui está um exemplo do conteúdo completo de um arquivo sentinel-deployment.config válido. Este exemplo também pode ser encontrado no exemplo de repositórios CICD do Microsoft Sentinel.
{
"prioritizedcontentfiles": [
"parsers/Sample/ASimAuthenticationAWSCloudTrail.json",
"workbooks/sample/TrendMicroDeepSecurityAttackActivity_ARM.json",
"Playbooks/PaloAlto-PAN-OS/PaloAltoCustomConnector/azuredeploy.bicep"
],
"excludecontentfiles": [
"Detections/Sample/PaloAlto-PortScanning.json",
"parameters"
],
"parameterfilemappings": {
"879001c8-2181-4374-be7d-72e5dc69bd2b": {
"Playbooks/PaloAlto-PAN-OS/Playbooks/PaloAlto-PAN-OS-BlockIP/azuredeploy.bicep": "parameters/samples/auzredeploy.bicepparam"
},
"9af71571-7181-4cef-992e-ef3f61506b4e": {
"Playbooks/Enrich-SentinelIncident-GreyNoiseCommunity-IP/azuredeploy.json": "path/to/any-parameter-file.json"
}
},
"DummySection": "This shouldn't impact deployment"
}
Observação
Não use o caractere "\" de barra invertida em nenhum dos caminhos de conteúdo. Em vez disso, use a barra "/".
Para priorizar arquivos de conteúdo:
À medida que a quantidade de conteúdo no seu repositório aumenta, os tempos de implementação podem aumentar. Adicione conteúdo sensível ao tempo a esta seção para priorizar sua implantação quando um acionador for disparado.
Adicione nomes de caminho completos à
"prioritizedcontentfiles":secção. A correspondência com curinga não é suportada no momento.Para excluir arquivos de conteúdo, modifique a
"excludecontentfiles":seção com nomes completos de caminhos de arquivos individuais .json conteúdo.Para mapear parâmetros:
O script de implantação aceita três métodos de parâmetros de mapeamento (mapeamentos de arquivo de configuração, arquivos de parâmetro mapeados por workspace e arquivos de parâmetro padrão), conforme descrito em Dimensionar suas implantações com arquivos de parâmetro. Os parâmetros de mapeamento através do sentinel-deployment.config têm a precedência mais elevada e garantem que um determinado ficheiro de parâmetro é mapeado para os respetivos ficheiros de conteúdo associados. Modifique a seção
"parameterfilemappings":com o ID do espaço de trabalho da conexão de destino e os caminhos completos dos arquivos .json individuais.