Реалізація контролю доступу для команд
У цьому розділі ви дізналися, як керувати доступом до своїх баз даних. Настав час фінальної вправи курсу. Ви створите нову схему та таблицю для даних, які надаватимуться дата-сайєнтистам у вашій команді. Хоча ваші колеги, ймовірно, відповідальні, помилки все ж трапляються. Надавайте їм лише такий рівень контролю над базою даних, який потрібен для виконання їхньої роботи. Ці учасники команди матимуть доступ до даних про кредити, які не були схвалені.
- Схема
analysisбуде створена. - Таблицю
unapproved_loanбуде визначено в цій новій схемі. - Буде створено користувача
data_scientist. - Користувачу буде дозволено лише читання з нової таблиці.
Ця вправа закріпить базові принципи контролю доступу в базі даних.
Ця вправа є частиною курсу
Створення баз даних PostgreSQL
Інструкції до вправи
- Створіть нову схему з назвою
analysis, у якій зберігатиметься наша нова таблиця. - Створіть нову таблицю
unapproved_loanУ МЕЖАХ схемиanalysisзPRIMARY KEY(id),FOREIGN KEY(loan_id), що посилається на ключidтаблиці loan, і полемdescriptionтипуTEXT, яке описує причину відхилення кредиту. - Додайте користувача з ім'ям
data_scientistі паролемchangeme. - Обмежте користувача доступом лише для читання до таблиці
analysis.unapproved_loan.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
-- 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 ___;