Nova pagina docs/10-carga-cmdb-vulnerabilidades.html documentando como filtrar e mapear novas cargas de CMDB (ServiceNow) e vulnerabilidades (Tenable) pra manter o ambiente com dados exclusivos da AM/PM - o export bruto do grupo Ultrapar traz Ipiranga/Ultrapar/Iconic misturados, e a coluna "company"/"empresa" do export nao e confiavel (~40% das linhas marcadas AMPM tinham nome de servidor de outra empresa); o criterio usado e o prefixo do nome do servidor (AM...). Inclui os dois templates finais ja sanitizados e com cabecalho mapeado pro formato esperado pelos perfis de carga do APEX (DL_TECH_CMDB_V1 e DL_TECH_VULNERABILIDADE_V2): Artefatos/template_limpo_ampm/*_AMPM.xlsx. .gitignore atualizado pra nunca versionar os exports brutos/intermediarios (contem dados reais de outras empresas do grupo) - so os *_AMPM.xlsx finais sao rastreados. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
163 lines
10 KiB
HTML
163 lines
10 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="pt-BR">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<title>ampmInsights · Carga de dados: CMDB e Vulnerabilidades</title>
|
|
<meta name="description" content="Como preparar e subir novas cargas de CMDB (ServiceNow) e vulnerabilidades (Tenable) só com dados da AM/PM.">
|
|
<link rel="stylesheet" href="assets/main.css">
|
|
</head>
|
|
<body>
|
|
<div class="layout">
|
|
<aside class="sidebar">
|
|
<div class="brand">
|
|
<span class="oracle">ORACLE</span>
|
|
<span class="name">ampmInsights</span>
|
|
</div>
|
|
<button class="menu-toggle" type="button">Menu ☰</button>
|
|
<div class="kicker">Documentação V1 · AM/PM</div>
|
|
<ul class="nav-list">
|
|
<li><a class="" href="index.html"><span class="step-no">1</span>Visão geral</a></li>
|
|
<li><a class="" href="02-arquitetura.html"><span class="step-no">2</span>Arquitetura</a></li>
|
|
<li><a class="" href="03-pre-requisitos-credenciais.html"><span class="step-no">3</span>Pré-requisitos & credenciais</a></li>
|
|
<li><a class="" href="04-passo-a-passo-banco.html"><span class="step-no">4</span>Passo a passo: banco de dados</a></li>
|
|
<li><a class="" href="05-passo-a-passo-apex.html"><span class="step-no">5</span>Passo a passo: aplicação APEX</a></li>
|
|
<li><a class="" href="06-validacao-testes.html"><span class="step-no">6</span>Validação & testes</a></li>
|
|
<li><a class="" href="07-seguranca-boas-praticas.html"><span class="step-no">7</span>Segurança & boas práticas</a></li>
|
|
<li><a class="" href="08-glossario-roadmap.html"><span class="step-no">8</span>Glossário & roadmap</a></li>
|
|
<li><a class="" href="09-operacao-observabilidade.html"><span class="step-no">9</span>Operação & observabilidade</a></li>
|
|
<li><a class="active" href="10-carga-cmdb-vulnerabilidades.html"><span class="step-no">10</span>Carga: CMDB & Vulnerabilidades</a></li>
|
|
</ul>
|
|
<div class="sidebar-footer">
|
|
Vulnerability & Audit AI Insights<br>
|
|
Oracle AI Database 26ai · AI Vector Search<br>
|
|
Versão V1 · ambiente reprodutível do cliente
|
|
</div>
|
|
</aside>
|
|
<main class="content">
|
|
<p class="page-kicker">Carga de dados</p>
|
|
<h1>Carga de dados: CMDB e Vulnerabilidades</h1>
|
|
<p class="lede">Guia rápido para preparar e subir novas cargas de CMDB (ServiceNow) e de vulnerabilidades (Tenable), garantindo que só entram dados da AM/PM.</p>
|
|
|
|
<div class="callout danger">
|
|
<div class="callout-title">Por que filtrar antes de subir</div>
|
|
<p>O ServiceNow e o Tenable do grupo Ultrapar são compartilhados entre todas as empresas
|
|
(Ipiranga, Ultrapar, Iconic, AM/PM). Um export "bruto" do CMDB ou do Tenable traz ativos de
|
|
<strong>todas</strong> essas empresas misturados — sem filtrar antes de subir, o ambiente da
|
|
AM/PM passa a exibir servidores e vulnerabilidades de outras empresas do grupo. Siga os passos
|
|
abaixo em toda carga nova, não só na primeira.</p>
|
|
</div>
|
|
|
|
<h2>1. Como identificar o que é da AM/PM</h2>
|
|
<p>O campo "Empresa"/"company" do export <strong>não é totalmente confiável</strong> — em uma
|
|
carga real, cerca de 40% das linhas marcadas como AM/PM na verdade tinham nome de servidor no
|
|
padrão de outra empresa do grupo. O critério que funciona é o <strong>nome do servidor</strong>:</p>
|
|
<div class="table-wrap">
|
|
<table>
|
|
<tr><th>Prefixo do nome</th><th>Empresa</th></tr>
|
|
<tr><td><code>AM...</code></td><td>AM/PM — manter</td></tr>
|
|
<tr><td><code>IP...</code> / <code>I2...</code></td><td>Ipiranga — remover</td></tr>
|
|
<tr><td><code>U2...</code></td><td>Ultragaz — remover</td></tr>
|
|
<tr><td>outros/genéricos (ex.: endereço IP, hash, <code>SERV-*</code>)</td><td>revisar manualmente antes de decidir</td></tr>
|
|
</table>
|
|
</div>
|
|
<p><strong>Regra prática no Excel:</strong> filtre a coluna de nome do servidor pra manter só
|
|
linhas que <em>começam com</em> <code>AM</code> (não importa o que a coluna "Empresa" diga) e
|
|
apague o restante. Revise manualmente linhas com nome fora desse padrão antes de decidir incluir
|
|
ou não — nunca confie só na coluna "Empresa".</p>
|
|
|
|
<h2>2. Mapeamento de colunas — CMDB</h2>
|
|
<p>O arquivo de CMDB do ServiceNow vem com nomes de coluna em inglês; a carga no ampmInsights
|
|
espera um <strong>XLSX</strong> com os cabeçalhos exatamente como na tabela abaixo (renomeie as
|
|
colunas no Excel antes de subir):</p>
|
|
<div class="table-wrap">
|
|
<table>
|
|
<tr><th>Coluna no export ServiceNow</th><th>Renomear para (cabeçalho esperado)</th></tr>
|
|
<tr><td><code>name</code></td><td><code>NOME</code></td></tr>
|
|
<tr><td><code>operational_status</code></td><td><code>STATUS_OPERACIONAL</code></td></tr>
|
|
<tr><td><code>short_description</code></td><td><code>DESCRIÇÃO</code></td></tr>
|
|
<tr><td><code>environment</code></td><td><code>AMBIENTE</code></td></tr>
|
|
<tr><td><code>company</code></td><td><code>EMPRESA</code> (revise pelo nome do servidor, não copie direto)</td></tr>
|
|
<tr><td><code>managed_by_group</code></td><td><code>GERENCIADO_PELO_GRUPO</code></td></tr>
|
|
<tr><td><code>assignment_group</code></td><td><code>GRUPO_RESPONSÁVEL</code></td></tr>
|
|
<tr><td><code>u_safe_box</code></td><td><code>COFRE</code> (converter Verdadeiro/Falso(a) para 1/0)</td></tr>
|
|
<tr><td><code>u_sox</code></td><td><code>SOX</code> (converter Verdadeiro/Falso(a) para 1/0)</td></tr>
|
|
<tr><td><code>u_tipo_de_rede</code></td><td><code>TIPO_DE_REDE</code></td></tr>
|
|
<tr><td><code>u_grupo_resp_assignment_group</code></td><td><code>GRUPOS_RESPONSÁVEIS</code></td></tr>
|
|
<tr><td><code>u_tenable</code></td><td><code>TENABLE</code> (converter Verdadeiro/Falso(a) para 1/0)</td></tr>
|
|
<tr><td><code>u_siem</code></td><td><code>SIEM</code> (converter Verdadeiro/Falso(a) para 1/0)</td></tr>
|
|
<tr><td><em>sem equivalente no export</em></td><td><code>É_VIRTUAL</code>, <code>APPLIANCE</code>, <code>EDR</code> — deixe em branco</td></tr>
|
|
</table>
|
|
</div>
|
|
|
|
<h2>3. Mapeamento de colunas — Vulnerabilidades</h2>
|
|
<p>O export do Tenable também precisa ter os cabeçalhos renomeados. Use só as colunas abaixo —
|
|
o restante do export do Tenable (CVE, CVSS, solução, etc.) não é usado nesta carga:</p>
|
|
<div class="table-wrap">
|
|
<table>
|
|
<tr><th>Coluna no export Tenable</th><th>Renomear para (cabeçalho esperado)</th></tr>
|
|
<tr><td><code>age_in_days</code></td><td><code>AGE_IN_DAYS</code></td></tr>
|
|
<tr><td><code>asset.display_ipv4_address</code></td><td><code>ASSET_DISPLAY_IPV4_ADDRESS</code></td></tr>
|
|
<tr><td><code>asset.id</code></td><td><code>ASSET_ID</code></td></tr>
|
|
<tr><td><code>asset.name</code></td><td><code>ASSET_NAME</code></td></tr>
|
|
<tr><td><code>asset.tags</code></td><td><code>ASSET_TAGS</code></td></tr>
|
|
<tr><td><code>definition.exploitability_ease</code></td><td><code>DEFINITION_EXPLOITABILITY_EASE</code></td></tr>
|
|
<tr><td><code>definition.family</code></td><td><code>DEFINITION_FAMILY</code></td></tr>
|
|
<tr><td><code>definition.id</code></td><td><code>DEFINITION_ID</code></td></tr>
|
|
<tr><td><code>definition.name</code></td><td><code>DEFINITION_NAME</code></td></tr>
|
|
<tr><td><code>definition.vpr.score</code></td><td><code>DEFINITION_VPR_SCORE</code></td></tr>
|
|
<tr><td><code>first_observed</code></td><td><code>FIRST_OBSERVED</code></td></tr>
|
|
<tr><td><code>id</code></td><td><code>ID</code></td></tr>
|
|
<tr><td><code>last_seen</code></td><td><code>LAST_SEEN</code></td></tr>
|
|
<tr><td><code>output</code></td><td><code>OUTPUT</code></td></tr>
|
|
<tr><td><code>protocol</code></td><td><code>PROTOCOL</code></td></tr>
|
|
<tr><td><code>resurfaced_date</code></td><td><code>RESURFACED_DATE</code></td></tr>
|
|
<tr><td><code>severity</code></td><td><code>SEVERITY</code></td></tr>
|
|
<tr><td><code>state</code></td><td><code>STATE</code></td></tr>
|
|
</table>
|
|
</div>
|
|
<div class="callout warning">
|
|
<div class="callout-title">Filtre as vulnerabilidades pelo mesmo critério do CMDB</div>
|
|
<p>Depois de filtrar o CMDB, filtre também o arquivo de vulnerabilidades: mantenha só as linhas
|
|
cujo <code>ASSET_NAME</code> começa com <code>AM</code> — mesmo critério do passo 1, aplicado
|
|
aqui pelo nome do ativo em vez do nome do servidor.</p>
|
|
</div>
|
|
|
|
<h2>4. Passo a passo da carga</h2>
|
|
<ol>
|
|
<li><strong>Exportar</strong> o CMDB (ServiceNow) e as vulnerabilidades (Tenable) em CSV, como de costume.</li>
|
|
<li><strong>Filtrar</strong> as duas planilhas pelo critério do passo 1 (nome começa com <code>AM</code>).</li>
|
|
<li><strong>Renomear as colunas</strong> conforme as tabelas dos passos 2 e 3, e salvar cada planilha como <code>.xlsx</code>.</li>
|
|
<li><strong>Se for recarregar dados já existentes</strong> (não uma carga inicial), limpe as tabelas antes — peça ao time técnico para rodar:
|
|
<div class="code-block">
|
|
<div class="code-bar">
|
|
<span class="code-label">Limpeza antes de recarregar (time técnico)</span>
|
|
<button class="copy-btn" type="button">Copiar</button>
|
|
</div>
|
|
<pre><code class="lang-sql">DELETE FROM TB_26AI_TECH_VECTOR WHERE source_type = 'VUL';
|
|
DELETE FROM TB_26AI_TECH_V2;
|
|
DELETE FROM TB_26AI_TECH_CMDB;
|
|
COMMIT;</code></pre>
|
|
</div>
|
|
</li>
|
|
<li><strong>Suba o CMDB primeiro</strong>, pelo menu <strong>Upload CMDB</strong> da aplicação.</li>
|
|
<li><strong>Suba as vulnerabilidades em seguida</strong> (depois do CMDB, pra já aparecer nome/empresa corretos nos insights).</li>
|
|
<li><strong>Valide</strong>: confira no CMDB que o total de linhas bate com o esperado e que o filtro "Empresa" só mostra AM/PM; confira na tela de Insights que os nomes de servidor são todos padrão <code>AM...</code>.</li>
|
|
</ol>
|
|
|
|
<div class="callout info">
|
|
<div class="callout-title">Casos que sempre merecem revisão manual</div>
|
|
<ul>
|
|
<li>Nomes com sufixo <code>#DUP</code> — o ServiceNow já marcou como duplicata pendente de revisão.</li>
|
|
<li>Nomes duplicados exatos na planilha de CMDB — mantenha a linha com status "Operacional" e descarte a outra.</li>
|
|
<li>Ativos de vulnerabilidade sem correspondência no CMDB filtrado — ficam sem nome/empresa preenchidos nos insights, mas os dados de vulnerabilidade continuam sendo carregados normalmente.</li>
|
|
</ul>
|
|
</div>
|
|
|
|
<div class="pillnav"><a class="prev" href="09-operacao-observabilidade.html">← Operação & observabilidade</a></div>
|
|
</main>
|
|
</div>
|
|
<script src="assets/main.js"></script>
|
|
</body>
|
|
</html>
|