Implementare il controllo degli accessi per i team
In questo capitolo hai imparato come controllare l'accesso ai tuoi database. Questo ci porta all'esercizio finale del corso. Creerai un nuovo schema e una nuova tabella per contenere i dati che saranno messi a disposizione dei data scientist del tuo team. Anche se i tuoi colleghi sono probabilmente persone responsabili, gli incidenti possono capitare. Dovresti concedere a questi membri del team solo il livello di controllo sul database necessario per svolgere il loro lavoro. Questi membri del team avranno accesso ai dati sui prestiti non approvati.
- Verrà creato lo schema
analysis. - La tabella
unapproved_loansarà definita in questo nuovo schema. - Verrà creato l'utente
data_scientist. - All'utente sarà consentita solo la lettura dalla nuova tabella.
Questo esercizio rafforzerà le basi del controllo degli accessi per un database.
Questo esercizio fa parte del corso
Creare database PostgreSQL
Istruzioni dell'esercizio
- Crea un nuovo schema chiamato
analysische conterrà la nostra nuova tabella. - Crea una nuova tabella
unapproved_loanall'interno dello schemaanalysiscon unaPRIMARY KEY(id), unaFOREIGN KEY(loan_id) che fa riferimento alla chiaveiddella tabella loan, e un campoTEXTdescriptionche rappresenta il motivo del rifiuto del prestito. - Aggiungi un utente chiamato
data_scientistcon passwordchangeme. - Limita l'utente ad avere accesso in sola lettura alla tabella
analysis.unapproved_loan.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
-- 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 ___;