Suponha que você trabalha em uma empresa que deseja aprimorar a estratégia de segurança do seu Banco de Dados, através da utilização do mecanismo de controle de acesso por papéis. Essa empresa utiliza como SGBD o PostgreSQL, que gerencia as permissões de acesso utilizando o conceito de papéis (roles). Você já conhece este mecanismo e sabe que role pode ser um usuário ou um grupo de usuários. Além disso, você também sabe que cada role possui objetos do banco e pode liberar o acesso de seus objetos para que outros roles possam também manipulá-los. Considerando seu conhecimento no assunto, o gerente do setor no qual você trabalha designou a você três tarefas: a) Executar os comandos a seguir e definir como está organizada a hierarquia dos grupos e usuários da empresa: CREATE ROLE user1 LOGIN PASSWORD 'user1'; CREATE ROLE user3 LOGIN PASSWORD 'abc'; CREATE ROLE supervisor; CREATE ROLE expedicao; CREATE ROLE admin CREATEDB CREATEROLE ROLE supervisor, user3; CREATE ROLE vendedor; CREATE ROLE user2 LOGIN IN ROLE admin; GRANT admin TO vendedor; GRANT vendedor, expedicao TO user1; b) Utilizando o user1, executar a seguinte rotina e descrever quais tabelas cada um dos papéis (admin, expedicao, supervisor, vendedor, user1, user2, user3) tem permissão para realizar um SELECT. CREATE TABLE tbl1 (id serial primary key, data date DEFAULT now()); SET ROLE vendedor; CREATE TABLE tbl2 (id serial primary key, data date DEFAULT now()); SET ROLE admin; CREATE TABLE tbl3 (id serial primary key, data date DEFAULT now()); c) Refazer os passos a e b alterando o comando: CREATE ROLE vendedor; • por CREATE ROLE vendedor NOINHERIT; Descrever quais tabelas cada um dos papéis (admin, expedicao, supervisor, vendedor, user1, user2, user3) tem permissão para realizar um SELECT diretamente (sem a necessidade de alterar o papel atual).
Responda

Helpful Social

Copyright © 2024 ELIBRARY.TIPS - All rights reserved.