Questão nº 70

Questão de Tecnologia da Informação · FGV TCE-GO 2024 (nº 70)

FGV2024Analista de Controle Externo - Tecnologia da InformaçãoTecnologia da Informação
Gabarito: Cver comentário ↓

Considere um banco de dados relacional de um tribunal, na qual nenhum usuário, a menos do DBA, possua algum privilégio sobre. O DBA concedeu direito de criação de tabelas ao usuário USR_0010, que, por sua vez, criou as tabelas DADOS_PROCESSO e DADOS_PARTE.
Logo após a criação, o usuário USR_0010 executou os seguintes comandos da DCL (Data Control Language) da linguagem SQL no sistema gerenciador de banco de dados, referentes aos usuários USR_0011 e USR_0100:

GRANT SELECT, UPDATE ON DADO_PARTE TO USR_0011;
GRANT SELECT ON DADOS_PARTE TO USR_0100;
GRANT SELECT, INSERT, DELETE, UPDATE ON DADOS_PROCESSO TO USR_0011;
GRANT SELECT, UPDATE ON DADOS_PROCESSO TO USR_0100 WITH GRANT OPTION;

Na sequência, o usuário USR_0100 executou o seguinte comando:

GRANT UPDATE ON DADOS_PROCESSO TO USR_00101;

Por fim, o DBA executou o comando:

REVOKE UPDATE ON DADOS_PROCESSO FROM USR_0100;

Considerando esse cenário, qual situação é válida para as permissões referentes às tabelas DADOS_PROCESSO e DADOS_PARTE?

Resposta comentada

Gabarito Alternativa C

O GRANT concede permissões a usuários, o REVOKE as remove. A cláusula WITH GRANT OPTION permite que o usuário que recebeu a permissão possa repassá-la a outros. Quando um privilégio é revogado de um usuário que o repassou (WITH GRANT OPTION), todas as permissões que ele concedeu com base nesse privilégio específico também são revogadas em cascata.

  • (A) Incorreta: O usuário USR_0010 concedeu SELECT, UPDATE ON DADO_PARTE TO USR_0011;. Não foi concedido o direito de INSERT (inserção) na tabela DADOS_PARTE para USR_0011.
  • (B) Incorreta: O usuário USR_0010 concedeu SELECT, UPDATE ON DADOS_PROCESSO TO USR_0100 WITH GRANT OPTION;. No entanto, o DBA executou REVOKE UPDATE ON DADOS_PROCESSO FROM USR_0100;, removendo o direito de atualização de USR_0100.
  • (C) Correta: O usuário USR_0010 concedeu SELECT, UPDATE ON DADOS_PROCESSO TO USR_0100 WITH GRANT OPTION;. O comando REVOKE subsequente do DBA removeu apenas o privilégio UPDATE de USR_0100. O privilégio SELECT (consulta) e a capacidade de propagá-lo (WITH GRANT OPTION) permanecem para USR_0100 na tabela DADOS_PROCESSO, pois não foram explicitamente revogados.
  • (D) Incorreta: O usuário USR_0100 concedeu UPDATE ON DADOS_PROCESSO TO USR_00101; porque tinha o privilégio UPDATE WITH GRANT OPTION. Contudo, quando o DBA executou REVOKE UPDATE ON DADOS_PROCESSO FROM USR_0100;, o privilégio UPDATE de USR_0100 foi removido. Como USR_0100 havia concedido o UPDATE a USR_00101 com base nesse privilégio, a revogação de USR_0100 cascateia, removendo também o UPDATE de USR_00101. Essa é a principal armadilha da questão.
  • (E) Incorreta: O usuário USR_0100 concedeu apenas UPDATE ON DADOS_PROCESSO TO USR_00101;. Não foi concedido o direito de SELECT (consulta) a USR_00101.

Fonte: FGV TCE-GO 2024 Analista de Controle Externo - Tecnologia da Informação (Caderno Tipo 1). Reproduzida para fins de estudo.

Continue estudando

Estudar é izi

Pratique milhares de questões como esta, de graça, com explicação e gamificação no Quizinho.

Estudar de graça no Quizinho