Questão nº 43
Questão de Tecnologia da Informação · FGV TJ-MS 2024 (nº 43)
João, administrador do banco de dados (DBA) do Tribunal de Justiça de Mato Grosso do Sul (TJMS), é responsável pela implementação da política de segurança do Tribunal. A ele cabem as tarefas de efetuar o controle de acesso às informações e atribuir permissões a quem for necessário. Tiago é técnico do TJMS. Embora insista em ter acesso à tabela pagamento, ele só precisa dos dados de parte dessa tabela, incluindo: nome, matrícula e função.
Como forma de implementar a política de segurança e manter o acesso de Tiago, João poderá:
- Acriar uma conta para o técnico, atribuir uma role pra ele e adicionar a permissão de select a role para a tabela pagamento;
- Bcriar uma visão por meio de uma consulta que seleciona apenas as tuplas necessárias para o técnico executar seu trabalho;
- Catribuir para Tiago as mesmas permissões existentes do usuário João, de modo que Tiago tenha acesso aos dados necessários;
- Datribuir a permissão de selecionar qualquer tabela dentro da base de dados, liberando o acesso à tabela pagamento para Tiago efetuar seu trabalho;
- Eusar uma visão que será criada a partir de uma consulta à tabela pagamento que seleciona as colunas necessárias ao trabalho do técnico. (alternativa correta)
Resposta comentada
Gabarito Alternativa E
O conceito-chave aqui é o princípio do menor privilégio, que estabelece que um usuário deve ter apenas as permissões mínimas essenciais para realizar suas tarefas. Para implementar isso em bancos de dados, usamos visões (views), que são tabelas virtuais que exibem apenas um subconjunto de dados (colunas e/ou linhas) de uma ou mais tabelas reais, sem armazenar os dados por si só.
- (A) Incorreta: Embora criar uma conta e atribuir uma role sejam boas práticas de segurança, conceder
SELECTdiretamente à tabelapagamentodaria a Tiago acesso a todas as colunas dessa tabela, o que viola o requisito de acesso apenas a parte dos dados. A armadilha é que usa termos de segurança válidos (conta, role), mas aplica a permissão de forma muito ampla. - (B) Incorreta: Criar uma visão é o caminho certo, mas a alternativa menciona "seleciona apenas as tuplas necessárias", enquanto a necessidade de Tiago é principalmente sobre colunas específicas (nome, matrícula, função). Embora uma visão possa filtrar tuplas, a alternativa E é mais precisa ao focar nas colunas.
- (C) Incorreta: Atribuir as mesmas permissões de João (DBA) a Tiago é uma grave falha de segurança, pois João tem acesso total ao banco de dados. Isso violaria completamente o princípio do menor privilégio.
- (D) Incorreta: Conceder permissão para selecionar qualquer tabela no banco de dados é um risco de segurança inaceitável e excede em muito as necessidades de Tiago, que precisa apenas de algumas colunas de uma tabela específica.
- (E) Correta: Usar uma visão é a solução ideal. João pode criar uma visão (
CREATE VIEW) que seleciona apenas as colunasnome,matrículaefunçãoda tabelapagamento. Em seguida, ele concede a permissão deSELECTpara Tiago apenas sobre essa visão. Assim, Tiago vê somente os dados necessários, sem ter acesso direto à tabelapagamentocompleta, implementando o princípio do menor privilégio de forma eficaz.
Fonte: FGV TJ-MS 2024 Técnico de Nível Superior - Analista de Suporte de T.I. (Caderno Tipo 1). Reproduzida para fins de estudo.