Baseline v2.0.0-dev: fork de ampmInsights_V1

- Copia integral de ampmInsights_V1/ (docs/ + sql/), que o usuário confirma
  ser exatamente o que foi usado para construir e implementar
  ampmInsights_V1_Cliente no cliente.
- Traz docs/10-carga-cmdb-vulnerabilidades.html de V1_Cliente (existia lá,
  faltava em V1 — gap de conteúdo, não só de tom).
- Rebrand mecânico 'Documentação V1' -> 'Documentação V2' nas 10 páginas de
  docs + link de navegação para o capítulo 10 adicionado onde faltava.
- ampmInsights_V1/ e ampmInsights_V1_Cliente/ ficam congelados a partir de
  agora (réplica validada, já implementada no cliente) — todo o trabalho de
  v2.0.0 (schema aditivo: ALTER/MERGE, sem DROP) acontece nesta pasta.
- Adiciona TASKS.md e CHANGELOG.md próprios desta geração.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-09 11:21:14 -03:00
commit 24a1c8bb6a
17 changed files with 82082 additions and 0 deletions

View File

@@ -0,0 +1,95 @@
<!DOCTYPE html>
<html lang="pt-BR">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>ampmInsights &middot; Segurança & boas práticas</title>
<meta name="description" content="Recomendações de segurança para o ambiente ampmInsights, incluindo rotação das credenciais originais encontradas em texto puro.">
<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 &#9776;</button>
<div class="kicker">Documentação V2 &middot; 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="active" 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="" href="10-carga-cmdb-vulnerabilidades.html"><span class="step-no">10</span>Carga: CMDB & Vulnerabilidades</a></li>
</ul>
<div class="sidebar-footer">
Vulnerability &amp; Audit AI Insights<br>
Oracle AI Database 26ai &middot; AI Vector Search<br>
Versão V1 &middot; ambiente reprodutível do cliente
</div>
</aside>
<main class="content">
<p class="page-kicker">Segurança</p>
<h1>Segurança & boas práticas</h1>
<p class="lede">O que rotacionar do ambiente original, e como manter o novo ambiente do cliente com privilégio mínimo.</p>
<div class="callout danger">
<div class="callout-title">Ação recomendada — credenciais do ambiente original</div>
<p>O arquivo de origem (<code>demo_ampm.sql</code>, fora desta pasta) continha uma chave privada
OCI completa, uma senha de schema e OCIDs de usuário/tenancy/compartimento em texto puro. O export
original da aplicação (<code>VulnerabilityAI-myapp.sql</code>) também continha: dois OCIDs de
tenancy, um OCID de compartimento, e-mails pessoais, e <strong>dois links pré-autenticados (PAR)
do Object Storage</strong> apontando para vídeos de demonstração hospedados em um bucket interno da
Oracle (galeria de vídeos genérica "26ai Demo Hub", sem relação com a AM/PM). Nenhum desses valores
foi trazido para <code>ampmInsights_V1</code>, mas recomenda-se:</p>
<ul>
<li>Revogar/rotacionar, no Console OCI, a API key correspondente à chave privada que estava em <code>demo_ampm.sql</code>.</li>
<li>Trocar a senha do usuário de banco original (se o ambiente de origem continuar em uso).</li>
<li>Revogar/expirar os dois links PAR de Object Storage encontrados no export original (dão acesso de leitura a objetos do bucket sem outra autenticação).</li>
<li>Não incluir <code>demo_ampm.sql</code>, <code>VulnerabilityAI-myapp.sql</code>, <code>Connections.md</code> ou <code>Wallet_ADBJSON.zip</code> (pasta raiz do projeto) em nada que seja enviado ao cliente ou a terceiros — apenas os arquivos desta pasta <code>ampmInsights_V1</code>.</li>
</ul>
</div>
<h2>Boas práticas para o ambiente do cliente</h2>
<div class="grid">
<div class="card"><h4>Privilégio mínimo</h4><p>Restrinja a política IAM da API key ao compartimento e ao bucket estritamente necessários (ver exemplo em Pré-requisitos).</p></div>
<div class="card"><h4>Rotação periódica</h4><p>Defina um ciclo de rotação da API key e da senha do schema <code>AMPMINSIGHTS</code>.</p></div>
<div class="card"><h4>ACL de rede restrita</h4><p>A regra de rede liberada cobre apenas o host de Generative AI necessário — evite abrir hosts adicionais sem necessidade.</p></div>
<div class="card"><h4>Sem segredos em texto puro</h4><p>Nunca deixe a chave privada ou senha do schema em planilhas, chats ou repositórios compartilhados.</p></div>
</div>
<h2>Itens do export original que precisam de atenção do time funcional</h2>
<p>Além de segredos, o export da aplicação continha lógica e textos herdados de um template interno
genérico de demonstração ("26ai Demo Hub"), incompatíveis com a entrega deste ambiente à AM/PM.
Foram ajustados nesta versão, mas revise antes de liberar aos usuários finais:</p>
<ul>
<li><strong>Autoprovisionamento de acesso:</strong> o cadastro automático de novos usuários (com envio de senha inicial por e-mail) estava restrito a e-mails <code>@oracle.com</code>. Foi trocado por um marcador
<code>&lt;SUBSTITUA-PELO-DOMINIO-CORPORATIVO-DA-AMPM.COM.BR&gt;</code> — configure o domínio de e-mail real da AM/PM na página de cadastro antes de liberar o app, ou nenhum usuário da AM/PM conseguirá se autoprovisionar.</li>
<li><strong>Disclaimer de uso:</strong> o texto original dizia "uso restrito a colaboradores Oracle", "não enviar dados reais de clientes" e "nunca compartilhe com clientes" — o oposto do que se aplica aqui, já que este ambiente roda com dados reais da própria AM/PM. O texto foi reescrito para o contexto da AM/PM; revise a redação final com o time de compliance/segurança da informação do cliente.</li>
</ul>
<h2>Sobre a normalização de nome de marca na view</h2>
<p>A view <code>V_26AI_TECH</code> contém duas chamadas <code>REPLACE()</code> que padronizam
os valores de <code>NOME</code>/<code>EMPRESA</code> para "Company" quando o CMDB traz "Ipiranga" ou
"Ampm". Essa lógica veio do ambiente de demonstração original (provavelmente pensada para
apresentações a outros prospects). Como este ambiente V1 é o próprio ambiente da AM/PM, avalie com o
time de negócio se essa normalização ainda faz sentido ou se deve ser removida da view.</p>
<h2>Privacidade dos dados</h2>
<p>As tabelas de vulnerabilidade e CMDB carregam dados reais e sensíveis do ambiente da AM/PM
(inventário de ativos, severidade de vulnerabilidades, criticidade de sistemas). Trate a base
carregada com o mesmo nível de confidencialidade do relatório de origem (Tenable/CMDB), inclusive
em ambientes de teste/demonstração.</p>
<div class="pillnav"><a class="prev" href="06-validacao-testes.html">&larr; Validação & testes</a><a class="next" href="08-glossario-roadmap.html">Glossário & roadmap &rarr;</a></div>
</main>
</div>
<script src="assets/main.js"></script>
</body>
</html>