Pular para o conteúdo principal

Questão de Banco de Dados — Segurança em Banco de Dados — CESPE / CEBRASPE 2024

Banco de DadosSegurança em Banco de Dados
Código
ce403624
Banca
CESPE / CEBRASPE
Órgão
MPO
Ano
2024
Cargo
APO ( )
Julgue o item seguinte, relativos à linguagem de definição de dados SQL, à linguagem de manipulação de dados SQL, à linguagem de controle de dados SQL e à linguagem de consulta de dados SQL.   Um usuário que receba alguma forma de autorização poderá passá-la adiante, para outros usuários, bastando, para tanto, que anexe a cláusula with extended permission no comando grant apropriado.
  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoE — Errado

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”.

SQL – Comando GRANT e a cláusula WITH GRANT OPTION

Gabarito: Errado. A cláusula correta para permitir que um usuário repasse privilégios recebidos a outros usuários é WITH GRANT OPTION, e não WITH EXTENDED PERMISSION. O comando GRANT concede privilégios, e a opção WITH GRANT OPTION autoriza o beneficiário a conceder esses mesmos privilégios a terceiros. A expressão "with extended permission" não existe na sintaxe SQL padrão.

A linguagem SQL é dividida em sublinguagens, cada uma com funções específicas. A DCL (Data Control Language) é a sublinguagem responsável pelo controle de acesso e permissões no banco de dados. Seus comandos principais são GRANT e REVOKE. O GRANT concede privilégios a usuários ou papéis (roles), enquanto o REVOKE retira esses privilégios. A sintaxe básica do GRANT é:

GRANT <privilégios> ON <objeto> TO <usuário> [WITH GRANT OPTION];

A cláusula WITH GRANT OPTION é o mecanismo que permite ao usuário que recebeu o privilégio repassá-lo a outros usuários. Sem essa opção, o usuário pode usar o privilégio, mas não pode concedê-lo a ninguém. Essa é uma característica fundamental do controle de acesso discricionário (DAC – Discretionary Access Control), onde o proprietário do objeto ou quem tem o privilégio com a opção de concessão pode delegar autorizações.

A questão afirma que basta anexar a cláusula "with extended permission" ao comando GRANT para que o usuário possa repassar a autorização. Isso está incorreto por dois motivos: primeiro, a cláusula correta é WITH GRANT OPTION; segundo, "with extended permission" não é uma cláusula válida na sintaxe SQL padrão. Portanto, a afirmação é falsa.

É importante distinguir o GRANT de outros comandos SQL. O GRANT é um comando DCL, enquanto CREATE, ALTER, DROP são DDL (Data Definition Language), e INSERT, UPDATE, DELETE, SELECT são DML (Data Manipulation Language) ou DQL (Data Query Language). O REVOKE é o comando que remove privilégios concedidos anteriormente.

A pegadinha da banca está em trocar o nome da cláusula correta por um termo inventado. O candidato que conhece a sintaxe do GRANT percebe imediatamente que "with extended permission" não existe, mas quem não domina o assunto pode ser induzido a aceitar a afirmação como verdadeira.

1Concede privilégios
2Sem WITH GRANT OPTION
Usa, mas não repassa
3Com WITH GRANT OPTION
Repassa a outros usuários
4WITH EXTENDED PERMISSION
Não existe no padrão SQL
GRANT (DCL)
LEVELsoulevel.com.br
GRANT (DCL): Concede privilégios; Sem WITH GRANT OPTION (Usa, mas não repassa); Com WITH GRANT OPTION (Repassa a outros usuários); WITH EXTENDED PERMISSION (Não existe no padrão SQL)

Item — ❌ Errado

A afirmação está incorreta porque a cláusula correta para permitir a delegação de privilégios é WITH GRANT OPTION, e não "with extended permission". A sintaxe do comando GRANT com essa opção é:

GRANT SELECT ON tabela TO usuario WITH GRANT OPTION;

Isso permite que o usuário usuario conceda o privilégio SELECT sobre a tabela tabela a outros usuários. Sem essa opção, o usuário não pode repassar o privilégio. A expressão "with extended permission" não é reconhecida pelo padrão SQL e não tem efeito algum.

NÃO CAIA NESSA!

A banca troca o nome da cláusula correta (WITH GRANT OPTION) por um termo fictício (WITH EXTENDED PERMISSION). O candidato que sabe a sintaxe do GRANT percebe a pegadinha na hora; quem não sabe pode marcar como certo. Lembre-se: a delegação de privilégios no SQL é feita exclusivamente com WITH GRANT OPTION.

Gabarito: Errado.

Link permanente: /questoes/ce403624