Menerapkan kontrol akses untuk tim
Dalam bab ini, Anda mempelajari cara mengendalikan akses ke database Anda. Sekarang kita sampai pada latihan terakhir di kursus ini. Anda akan membuat schema dan tabel baru untuk menampung data yang akan disediakan bagi data scientist di tim Anda. Meskipun anggota tim Anda kemungkinan besar adalah individu yang bertanggung jawab, kesalahan bisa terjadi. Anda sebaiknya hanya memberikan kontrol atas database sebatas yang diperlukan untuk menjalankan tugas mereka. Anggota tim ini akan memiliki akses ke data pinjaman yang belum disetujui.
- Schema
analysisakan dibuat. - Tabel
unapproved_loanakan didefinisikan di schema baru ini. - Pengguna
data_scientistakan dibuat. - Pengguna tersebut akan dibatasi hanya dapat membaca dari tabel baru.
Latihan ini akan memperkuat dasar-dasar kontrol akses untuk sebuah database.
Latihan ini adalah bagian dari kursus
Membuat Database PostgreSQL
Petunjuk latihan
- Buat schema baru bernama
analysisyang akan menampung tabel baru kita. - Buat tabel baru
unapproved_loandi dalam schemaanalysisdenganPRIMARY KEY(id),FOREIGN KEY(loan_id) yang mereferensikan kunciiddari tabel loan, dan fielddescriptionbertipeTEXTyang menjelaskan alasan pinjaman ditolak. - Tambahkan pengguna bernama
data_scientistdengan kata sandichangeme. - Batasi pengguna agar hanya memiliki akses baca ke tabel
analysis.unapproved_loan.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
-- 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 ___;