Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Gerenciamento de Acesso a Banco de Dados PostgreSQL: Criando Usuários e Permissões, Resumos de Matérias técnicas

Neste documento, aprenda a criar usuários e gerenciar permissões em um banco de dados postgresql. Saiba como criar tabelas, inserir dados, criar sequências e gerenciar acesso a elas. Além disso, veja como conceder e revogar permissões select, insert, update, delete, create e outras permissões específicas para usuários. Essencial para quem trabalha com bancos de dados postgresql e deseja controlar o acesso aos seus dados.

Tipologia: Resumos

2020

Compartilhado em 14/04/2020

elmerribeiro
elmerribeiro 🇧🇷

5

(1)

3 documentos

1 / 2

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Criar banco de dados.
Criar tabela.
CREATE TABLE pessoa(
idpessoa INT NOT NULL,
nome VARCHAR(60) NOT NULL,
idade INT NOT NULL,
PRIMARY KEY(idpessoa)
)
Inserir dados.
INSERT INTO pessoa(idpessoa, nome, idade)VALUES(1, 'Pessoa 1', '30');
INSERT INTO pessoa(idpessoa, nome, idade)VALUES(2, 'Pessoa 2', '25');
INSERT INTO pessoa(idpessoa, nome, idade)VALUES(3, 'Pessoa 3', '37');
Criar usuário para teste.
CREATE USER testeGrantRevoke WITH PASSWORD '12345';
Acessar banco de dados.
\c bdtestegrantrevoke postgres;
Utilizar usuário de teste.
SET ROLE testeGrantRevoke;
GRANT USAGE ON SCHEMA public TO usr_rogerio;
- permite ao usuário “usr_rogerio” acessar os objetos do esquema “public”;
REVOKE USAGE ON SCHEMA “public” FROM “usr_rogerio”;
- revoga o privilégio se usar o esquema “public” do usuário “usr_rogerio”
GRANT SELECT ON cargos,funcionarios TO usr_rogerio;
- permite que o usuário “usr_rogerio” possa listar os dados das tabelas cargos e
funcionarios, ou seja, comandos como SELECT * FROM cursos e SELECT nome,
nascimento FROM funcionarios;
pf2

Pré-visualização parcial do texto

Baixe Gerenciamento de Acesso a Banco de Dados PostgreSQL: Criando Usuários e Permissões e outras Resumos em PDF para Matérias técnicas, somente na Docsity!

Criar banco de dados. Criar tabela. CREATE TABLE pessoa( idpessoa INT NOT NULL, nome VARCHAR(60) NOT NULL, idade INT NOT NULL, PRIMARY KEY(idpessoa) ) Inserir dados. INSERT INTO pessoa(idpessoa, nome, idade)VALUES(1, 'Pessoa 1', '30'); INSERT INTO pessoa(idpessoa, nome, idade)VALUES(2, 'Pessoa 2', '25'); INSERT INTO pessoa(idpessoa, nome, idade)VALUES(3, 'Pessoa 3', '37'); Criar usuário para teste. CREATE USER testeGrantRevoke WITH PASSWORD '12345'; Acessar banco de dados. \c bdtestegrantrevoke postgres; Utilizar usuário de teste. SET ROLE testeGrantRevoke; GRANT USAGE ON SCHEMA public TO usr_rogerio;

  • permite ao usuário “usr_rogerio” acessar os objetos do esquema “public”; REVOKE USAGE ON SCHEMA “public” FROM “usr_rogerio”;
  • revoga o privilégio se usar o esquema “public” do usuário “usr_rogerio” GRANT SELECT ON cargos,funcionarios TO usr_rogerio;
  • permite que o usuário “usr_rogerio” possa listar os dados das tabelas cargos e funcionarios, ou seja, comandos como SELECT * FROM cursos e SELECT nome, nascimento FROM funcionarios;

GRANT INSERT ON funcionarios TO usr_rogerio;

  • permite que o usuário “usr_rogerio” possa inserir dados na tabela “funcionarios”. Agora fique atente pois como a tabela usa uma seqüência é necessário permitir o usuário atualizar esta seqüência; GRANT UPDATE ON funcionarios_id_codfunc_seq TO usr_rogerio;
  • permite ao usuário “usr_rogerio” atualizar a seqüência, ou seja, utilizar nextval('funcionarios_id_codfunc_seq'). GRANT CREATE ON DATABASE "db_teste" TO "usr_rogerio";
  • permite ao usuário “usr_rogerio” criar esquema dentro do banco de dados “db_teste”; REVOKE CREATE ON DATABASE "db_teste" FROM "usr_rogerio";
  • remove o privilégio para criar esquemas do usuário “usr_rogerio” no banco de dados “db_teste”; GRANT SELECT, INSERT, UPDATE, DELETE, RULE, REFERENCES, TRIGGER ON “cargos" TO "usr_rogerio";
  • concede todos os privilégios possíveis para o usuário “usr_rogerio” na tabela “cargos”. Este poderia ser substituído por : GRANT ALL PRIVILEGES ON “cargos” TO “usr_rogerio”; GRANT CREATE ON SCHEMA "public" TO "usr_rogerio";
  • concedido ao usuário “usr_rogerio” o privilégio de criar objetos no esquema “public”; GRANT SELECT ON "cargos_e_funcionarios" TO "usr_rogerio";
  • “cargos_e_funcionarios” aqui é uma visão, então estamos concedendo o privilégio de seleção para a mesma ao usuário “usr_rogerio”, desta forma o usuário poderá utilizar : SELECT * FROM cargos_e_funcionarios; GRANT RULE ON “cargos” TO “usr_rogerio”;
  • permite ao usuário “usr_rogerio” criar regras para a tabela “cargos”. Isso pode ser ruim pois o usuário poderá criar regras inconsistentes ou maliciosas que venham a prejudicar a performance do banco de dados. GRANT TRIGGER ON “cargos TO “usr_rogerio”;
  • permite ao usuário “usr_rogerio” criar gatilhos para a tabela “cargos”. Também pode ser extremamente prejudicial do ponto de vista de segurança do banco de dados; REVOKE TRIGGER, RULE ON "cargos" FROM "usr_rogerio";
  • retira os privilégios TRIGGER e RULE da tabela “cargos” para o usuário “usr_rogerio”; GRANT TEMPORARY ON DATABASE db_teste to usr_rogerio;
  • aqui estamos permitindo que o usuário “usr_rogerio” possa criar tabelas temporárias no banco de dados “db_teste”; REVOKE TEMPORARY ON DATABASE db_teste FROM usr_rogerio;
  • revogando o privilégio de criação de tabelas temporárias no banco de dados;