為團隊實作存取控制
在本章中,你學到如何控制對資料庫的存取。現在進入本課程的最後一個練習。你將建立一個新的綱要與資料表,用來存放要提供給團隊中資料科學家的資料。雖然你的同事多半很負責,但難免會有意外發生。你應只授予他們完成工作所需的最低限度資料庫權限。這些成員將能存取尚未核准的貸款資料。
- 建立綱要
analysis。 - 在此新綱要中定義資料表
unapproved_loan。 - 建立使用者
data_scientist。 - 將該使用者的權限限制為只能讀取新資料表。
本練習將強化你對資料庫存取控制基礎的理解。
本練習屬於課程
建立 PostgreSQL 資料庫
練習說明
- 建立名為
analysis的新綱要,用來存放新的資料表。 - 在
analysis綱要中建立新的資料表unapproved_loan,其包含PRIMARY KEY(id)、FOREIGN KEY(loan_id)參照 loan 資料表的id鍵,以及用來說明為何貸款遭到拒絕的descriptionTEXT欄位。 - 新增名稱為
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 ___;