Questão de Banco de Dados — Segurança em Banco de Dados — FCC 2025
Banco de Dados›Segurança em Banco de Dados
Código
fc150341
Banca
FCC
Órgão
Pref SP
Ano
2025
Cargo
AMCI (CGM SP)
Ao analisar o código SQL utilizado para criar e manipular as tabelas do IPTU e de pagamentos de um banco de dados relacional de uma Prefeitura com o objetivo de avaliar a conformidade das linguagens de definição e manipulação de dados utilizadas, um Auditor identificou um potencial risco de segurança. Representam a melhor descrição de um risco e da ação de mitigação mais adequada:
ARisco: ausência de normalização das tabelas, levando à redundância de dados e inconsistências. Mitigação: normalizar as principais tabelas até a 5ª Forma Normal e manter as demais até a 2ª Forma Normal. Relatar procedimentos em desacordo com as normas.
BRisco: utilização de joins complexos, impactando o desempenho das consultas. Mitigação: criar views para simplificar as consultas. Obter os dez últimos Report Clock Times de desempenho, reportar conduta e recomendar ajustes.
CRisco: utilização excessiva de índices, impactando o desempenho do banco de dados. Mitigação: eliminar índices não utilizados e obter todos os pagamentos realizados no último ano para constatação de procedimentos Out of Compliance.
DRisco: ausência de chaves primárias em todas as tabelas. Mitigação: criar chaves primárias compostas para garantir a unicidade dos registros e uma lista dos IPTUs em atraso há mais de um ano para constatação e Report de falhas anteriores.
ERisco: utilização de comandos com privilégios para todos os usuários, permitindo alterações na estrutura do banco de dados. Mitigação: implementar um sistema de controle de acesso baseado em papéis (Role-based Access Control - RBAC), concedendo apenas os privilégios necessários a cada usuário.
Revelar gabarito e comentário▾
GabaritoE — Risco: utilização de comandos com privilégios para todos os usuários, permitindo alterações na estrutura do banco de dados.
Mitigação: implementar um sistema de controle de acesso baseado em papéis (Role-based Access Control - RBAC), concedendo apenas os privilégios necessários a cada usuário.
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Segurança em Banco de Dados: Controle de Acesso e Privilégios
Gabarito: letra E. O risco mais grave identificado é a utilização de comandos com privilégios excessivos para todos os usuários, permitindo alterações na estrutura do banco de dados, e a mitigação mais adequada é implementar um sistema de controle de acesso baseado em papéis (RBAC), concedendo apenas os privilégios necessários a cada usuário. Essa é a descrição que melhor representa um risco de segurança real e a ação de mitigação mais eficaz, alinhada ao princípio do menor privilégio.
O enunciado descreve um cenário de auditoria em um banco de dados relacional, onde o foco é a conformidade das linguagens de definição (DDL) e manipulação (DML) de dados. O risco central não é de modelagem, desempenho ou integridade, mas sim de segurança da informação: a concessão indiscriminada de privilégios. Quando todos os usuários têm privilégios elevados, como os de DDL (CREATE, ALTER, DROP), qualquer um pode alterar a estrutura do banco, comprometendo sua integridade e confidencialidade. A mitigação correta é o controle de acesso baseado em papéis (RBAC), que atribui permissões mínimas e necessárias a cada função, reduzindo a superfície de ataque e o risco de ações maliciosas ou acidentais.
O RBAC é um modelo de controle de acesso que associa permissões a papéis, e não diretamente a usuários. Isso facilita a administração, pois novos usuários podem ser facilmente atribuídos a papéis existentes, e as permissões são gerenciadas de forma centralizada. O princípio do menor privilégio, fundamental em segurança, determina que cada usuário deve ter apenas as permissões estritamente necessárias para realizar suas tarefas. No contexto do banco de dados, isso significa que um usuário comum não deve ter privilégios de DDL, apenas de DML (SELECT, INSERT, UPDATE, DELETE) sobre as tabelas que lhe são pertinentes.
As demais alternativas apresentam riscos que, embora possam ser relevantes em outros contextos, não são o foco da questão, que é a segurança. A normalização, os joins, os índices e as chaves primárias são aspectos de modelagem e desempenho, não de segurança. Além disso, as mitigações propostas são inadequadas ou incompletas, como normalizar até a 5ª Forma Normal (desnecessário na prática) ou criar chaves primárias compostas (que não é a solução para a ausência de chaves). A alternativa E é a única que identifica corretamente um risco de segurança e propõe uma mitigação adequada e amplamente reconhecida.
A banca explora a confusão entre problemas de modelagem/desempenho e problemas de segurança. O candidato pode ser atraído por alternativas que mencionam conceitos técnicos como normalização, joins e índices, mas o enunciado pede especificamente um risco de segurança. A palavra-chave é "privilégios", que remete diretamente ao controle de acesso. Guarde a distinção: riscos de segurança envolvem confidencialidade, integridade e disponibilidade, enquanto riscos de modelagem/desempenho envolvem redundância, eficiência e consistência. É nessa fronteira que as alternativas se dividem.
Critério
A) Normalização
B) Joins complexos
C) Índices excessivos
D) Chaves primárias
E) Privilégios excessivos
Tipo de risco
Modelagem de dados
Desempenho
Desempenho
Integridade dos dados
Segurança da informação
Aspecto comprometido
Redundância/consistência
Eficiência de consultas
Performance do banco
Unicidade dos registros
Confidencialidade, integridade e disponibilidade
Mitigação proposta
Normalizar até 5FN (inadequada)
Criar views
Eliminar índices não utilizados
Criar chaves primárias compostas
Implementar RBAC (menor privilégio)
Adequação da mitigação
Técnicamente incorreta (5FN raramente usada)
Não resolve risco de segurança
Não aborda segurança
Não é solução para segurança
Correta e amplamente reconhecida
Foco da questão
❌ Fora do escopo (modelagem)
❌ Fora do escopo (otimização)
❌ Fora do escopo (performance)
❌ Fora do escopo (consistência)
✅ Dentro do escopo (segurança)
Alternativa A — ❌ Incorreta
O risco de ausência de normalização é um problema de modelagem de dados, não de segurança. A mitigação proposta, normalizar até a 5ª Forma Normal, é tecnicamente inadequada, pois a 5FN é raramente utilizada na prática, sendo a 3FN o padrão usual. Além disso, a ação de "relatar procedimentos em desacordo com as normas" é vaga e não resolve o problema. A alternativa confunde um problema de design com um risco de segurança.
Alternativa B — ❌ Incorreta
A utilização de joins complexos é um problema de desempenho, não de segurança. Criar views pode simplificar consultas, mas não mitiga um risco de segurança. A menção a "Report Clock Times" e "recomendar ajustes" é irrelevante e não se relaciona com a mitigação de um risco de segurança. A alternativa foca em otimização, não em proteção.
Alternativa C — ❌ Incorreta
A utilização excessiva de índices é um problema de desempenho, não de segurança. Eliminar índices não utilizados pode melhorar a performance, mas não aborda um risco de segurança. A ação de "obter todos os pagamentos realizados no último ano" é uma consulta de auditoria, não uma mitigação de risco. A alternativa confunde otimização com segurança.
Alternativa D — ❌ Incorreta
A ausência de chaves primárias é um problema de integridade dos dados, não de segurança. Criar chaves primárias compostas pode garantir a unicidade, mas não é uma mitigação para um risco de segurança. A ação de "obter uma lista dos IPTUs em atraso" é uma consulta de negócio, não uma medida de segurança. A alternativa foca em consistência, não em proteção.
Alternativa E — ✅ Correta ⟵ GABARITO
O risco de utilização de comandos com privilégios para todos os usuários é um grave problema de segurança, pois permite que qualquer usuário altere a estrutura do banco de dados (DDL), comprometendo sua integridade e confidencialidade. A mitigação adequada é implementar o controle de acesso baseado em papéis (RBAC), que concede apenas os privilégios necessários a cada usuário, seguindo o princípio do menor privilégio. Essa é a descrição que melhor representa um risco de segurança e a ação de mitigação mais eficaz.