Files
ampmInsights/docs/07-seguranca-boas-praticas.html
Antonio Sergio Rodrigues Figueiredo 561f26608e Docs v2.0.0: capítulos 11 e 12 (evolução de schema + view/procedure)
- docs/11-v2-evolucao-schema.html: documenta o Passo 1
  (sql/03_v2_ddl_schema_evolution.sql) — o quê, por quê, script resumido,
  como rodar, validação, rollback. Callout deixa explícito que ainda está
  em validação, não é procedimento definitivo.
- docs/12-v2-view-procedure.html: documenta o Passo 2
  (sql/04_v2_view_procedure_update.sql), mesmo formato, com dependência
  explícita do capítulo 11.
- Nav lateral (sidebar) atualizada nas 12 páginas do doc set para incluir
  os capítulos novos; pillnav do capítulo 10 ganhou link 'next' para o 11.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-09 15:01:48 -03:00

98 lines
7.2 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 &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>
<li><a class="" href="11-v2-evolucao-schema.html"><span class="step-no">11</span>v2.0.0 — Evolução de schema</a></li>
<li><a class="" href="12-v2-view-procedure.html"><span class="step-no">12</span>v2.0.0 — View & Procedure</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>