ComeçarComece de graça

Implementando controle de acesso para equipes

Neste capítulo, você aprendeu a controlar o acesso aos seus bancos de dados. Chegamos ao exercício final do curso. Você vai criar um novo schema e uma tabela para armazenar dados que serão disponibilizados aos cientistas de dados da sua equipe. Embora provavelmente sejam pessoas responsáveis, acidentes acontecem. Você deve dar a esses membros da equipe apenas o nível de controle necessário para realizarem seu trabalho. Esses membros terão acesso aos dados de empréstimos que não foram aprovados.

  • O schema analysis será criado.
  • A tabela unapproved_loan será definida nesse novo schema.
  • O usuário data_scientist será criado.
  • O usuário ficará restrito à leitura da nova tabela.

Este exercício reforça os fundamentos de controle de acesso em um banco de dados.

Este exercício faz parte do curso

Criando bancos de dados PostgreSQL

Ver curso

Instruções do exercício

  • Crie um novo schema chamado analysis que abrigará nossa nova tabela.
  • Crie uma nova tabela unapproved_loan dentro do schema analysis com uma PRIMARY KEY (id), uma FOREIGN KEY (loan_id) referenciando a chave id da tabela loan, e um campo description do tipo TEXT indicando por que o empréstimo foi rejeitado.
  • Adicione um usuário chamado data_scientist com a senha changeme.
  • Restrinja o usuário para ter acesso somente leitura à tabela analysis.unapproved_loan.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

-- Create the new analysis schema
CREATE SCHEMA ___;

-- Create a table unapproved loan under the analysis schema
CREATE TABLE ___ (
    id serial PRIMARY KEY,
    loan_id INTEGER REFERENCES loan(id),
    description ___ NOT NULL
);

-- Create 'data_scientist' user with password 'changeme'
___ USER ___ WITH ___ '___';

-- Give 'data_scientist' ability to use 'analysis' schema
GRANT ___ ON ___ ___ TO ___;

-- Grant read-only access to table for 'data_scientist' user
___ SELECT ON ___ TO ___;
Editar e executar o código