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
analysisserá criado. - A tabela
unapproved_loanserá definida nesse novo schema. - O usuário
data_scientistserá 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
Instruções do exercício
- Crie um novo schema chamado
analysisque abrigará nossa nova tabela. - Crie uma nova tabela
unapproved_loandentro do schemaanalysiscom umaPRIMARY KEY(id), umaFOREIGN KEY(loan_id) referenciando a chaveidda tabela loan, e um campodescriptiondo tipoTEXTindicando por que o empréstimo foi rejeitado. - Adicione um usuário chamado
data_scientistcom a senhachangeme. - 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 ___;