Implementacja kontroli dostępu dla zespołów
W tym rozdziale poznałeś/-aś sposoby kontrolowania dostępu do baz danych. To ostatnie ćwiczenie w kursie. Stworzysz nowy schemat i tabelę do przechowywania danych udostępnianych analitykom danych w twoim zespole. Nawet odpowiedzialni pracownicy mogą popełniać błędy, dlatego warto przyznawać im tylko tyle uprawnień, ile rzeczywiście potrzebują do wykonywania swoich zadań. Członkowie zespołu będą mieć dostęp do danych o pożyczkach, które nie zostały zatwierdzone.
- Zostanie utworzony schemat
analysis. - W nowym schemacie zostanie zdefiniowana tabela
unapproved_loan. - Zostanie utworzony użytkownik
data_scientist. - Użytkownik otrzyma uprawnienia wyłącznie do odczytu danych z nowej tabeli.
To ćwiczenie utrwali podstawy kontroli dostępu do bazy danych.
To ćwiczenie jest częścią kursu
Tworzenie baz danych w PostgreSQL
Instrukcje do ćwiczenia
- Utwórz nowy schemat o nazwie
analysis, który będzie przechowywać naszą nową tabelę. - Utwórz nową tabelę
unapproved_loanw ramach schematuanalysisz kluczem podstawowymPRIMARY KEY(id), kluczem obcymFOREIGN KEY(loan_id) odwołującym się do kluczaidtabeli loan oraz polemdescriptiontypuTEXTopisującym powód odrzucenia pożyczki. - Dodaj użytkownika o nazwie
data_scientistz hasłemchangeme. - Ogranicz uprawnienia użytkownika do dostępu tylko do odczytu tabeli
analysis.unapproved_loan.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
-- 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 ___;