Implementera åtkomstkontroll för team
I det här kapitlet har du lärt dig att styra åtkomsten till dina databaser. Nu är det dags för kursens sista övning. Du ska skapa ett nytt schema och en ny tabell för data som ska göras tillgänglig för datavetarna i ditt team. Även om dina teammedlemmar är ansvarstagande individer kan misstag hända. Ge därför bara teammedlemmarna den kontroll över databasen som de faktiskt behöver för att utföra sitt arbete. De kommer att ha åtkomst till data om lån som inte har godkänts.
- Schemat
analysisskapas. - Tabellen
unapproved_loandefinieras i det nya schemat. - Användaren
data_scientistskapas. - Användaren begränsas till att endast läsa från den nya tabellen.
Den här övningen befäster grunderna i åtkomstkontroll för en databas.
Den här övningen är en del av kursen
Skapa PostgreSQL-databaser
Övningsinstruktioner
- Skapa ett nytt schema med namnet
analysissom ska innehålla vår nya tabell. - Skapa en ny tabell
unapproved_loaninom schematanalysismed enPRIMARY KEY(id), enFOREIGN KEY(loan_id) som refererar tillid-nyckeln i lånetabellen, samt ettdescription-fält av typenTEXTsom beskriver varför lånet avslogs. - Lägg till en användare med namnet
data_scientistoch lösenordetchangeme. - Begränsa användaren till läsbehörighet för tabellen
analysis.unapproved_loan.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
-- 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 ___;