Implementar control de acceso para equipos
En este capítulo has aprendido a controlar el acceso a tus bases de datos. Esto nos lleva al ejercicio final del curso. Crearás un nuevo esquema y una tabla para guardar datos que se proporcionarán a los data scientists de tu equipo. Aunque seguramente sean responsables, los accidentes ocurren. Solo deberías darles el control justo y necesario sobre la base de datos para que hagan su trabajo. Estas personas tendrán acceso a datos sobre préstamos que no han sido aprobados.
- Se creará el esquema
analysis. - La tabla
unapproved_loanse definirá en este nuevo esquema. - Se creará el usuario
data_scientist. - El usuario quedará limitado a leer de la tabla nueva.
Este ejercicio reforzará los conceptos básicos del control de acceso en una base de datos.
Este ejercicio forma parte del curso
Creación de bases de datos en PostgreSQL
Instrucciones del ejercicio
- Crea un esquema nuevo llamado
analysisque contendrá nuestra nueva tabla. - Crea una tabla nueva
unapproved_loandentro del esquemaanalysiscon unaPRIMARY KEY(id), unaFOREIGN KEY(loan_id) que haga referencia a la claveidde la tabla loan, y un campoTEXTdescriptionque indique por qué se rechazó el préstamo. - Añade un usuario llamado
data_scientistcon contraseñachangeme. - Restringe a este usuario para que tenga acceso de solo lectura a la tabla
analysis.unapproved_loan.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
-- 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 ___;