SóProvas


ID
211045
Banca
CESPE / CEBRASPE
Órgão
MPU
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

Em relação aos aspectos de segurança de SGBDs, julgue os itens a
seguir.

Considerando um modelo relacional de banco de dados, o axioma de segurança a seguir está corretamente apresentado: se o usuário i não tiver acesso SELECT à combinação de atributo A, então ele também não tem acesso UPDATE ao A.

Alternativas
Comentários
  •  Creio que o gabarito esteja incorreto. O usuário não precisa ter acesso select para ter acesso update. Pode ter apenas update.

  • Observe que ele se refere ao select de um attributo, nesse caso, um campo apenas. Ou seja, o bloqueio de acesso de um attributo não impede o update da tupla como um todo. A questão aqui é saber se o update apenas daquele campo bloqueado é atualizado ou não. Alguem poderia testar e informar?

  • UPDATE

    Allows UPDATE of any column, or the specific columns listed, of the specified table. (In practice, any nontrivial UPDATE command will require SELECT privilege as well, since it must reference table columns to determine which rows to update, and/or to compute new values for columns.) SELECT ... FOR UPDATE and SELECT ... FOR SHARE also require this privilege on at least one column, in addition to the SELECT privilege. For sequences, this privilege allows the use of the nextval and setval functions.

  • Para se fazer uma atualização em qualquer tupla eu preciso primeiro achar essa tupla, e para achar essa tupla acredito que o SGBD faça um *SELECT* implicitamente. É a única forma de achar essa questão correta.

  • André Veras, aí você tá fazendo engenharia reversa de gabarito :P

    Eu poderia muito bem colocar um update pronto em um sistema (aplicação) e não dar acesso para o usuário que a aplicação está utilizando fazer select. Um exemplo disso poderia ser um update para alterar a senha (ou o hash da senha) em uma tabela de usuários.

  • Oi Tiago, o que o André questionou foi exatamente isso, que para ele a única opção para a questão estar correta seria o update dar um select implicitamente quando vai executar a operação, pois na visão dele as permissões são separadas.

    Eu acho que erraria essa questão, mas faz alguma lógica não ter como dar permissão de alteração para alguém que nem permissão de consultar tem, no site DEVMEDIA, achei este comentário sobre a questão:

    "Apesar de serem permissões diferentes, para conseguir atualizar um atributo é preciso também ter permissão para consultá-lo, ou seja, se um usuário i não tiver acesso SELECT a este atributo, ele também não poderá modificá-lo."


    Leia mais em: Questões de banco de dados do concurso do Ministério Público (2010) – Parte 2 - Revista SQL Magazine 89 http://www.devmedia.com.br/questoes-de-banco-de-dados-do-concurso-do-ministerio-publico-2010-parte-2-revista-sql-magazine-89/21485#ixzz32klTbZoz