Toegangsbeheer voor teams implementeren
In dit hoofdstuk heb je geleerd hoe je de toegang tot je databases beheert. Dat brengt ons bij de laatste oefening van de cursus. Je maakt een nieuw schema en een nieuwe tabel voor gegevens die beschikbaar worden gesteld aan de data scientists in je team. Hoewel je teamleden waarschijnlijk verantwoordelijke mensen zijn, kunnen er fouten gebeuren. Geef ze daarom alleen zoveel controle over de database als nodig is voor hun werk. Deze teamleden krijgen toegang tot gegevens over leningen die niet zijn goedgekeurd.
- Het schema
analysiswordt aangemaakt. - De tabel
unapproved_loanwordt in dit nieuwe schema gedefinieerd. - Gebruiker
data_scientistwordt aangemaakt. - De gebruiker krijgt alleen leesrechten op de nieuwe tabel.
Deze oefening versterkt de basisprincipes van toegangsbeheer voor een database.
Deze oefening maakt deel uit van de cursus
PostgreSQL-databases maken
Oefeninstructies
- Maak een nieuw schema met de naam
analysiswaarin onze nieuwe tabel komt te staan. - Maak een nieuwe tabel
unapproved_loanbinnen het schemaanalysismet eenPRIMARY KEY(id), eenFOREIGN KEY(loan_id) die verwijst naar de sleutelidvan de tabel loan, en eendescription-veld van het typeTEXTdat beschrijft waarom de lening is afgewezen. - Voeg een gebruiker toe met de naam
data_scientisten wachtwoordchangeme. - Beperk de gebruiker tot alleen-lezen toegang tot de tabel
analysis.unapproved_loan.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
-- 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 ___;