팀을 위한 액세스 제어 구현
이 장에서는 데이터베이스에 대한 액세스를 제어하는 방법을 배웠어요. 이제 강의의 마지막 연습 문제로 넘어갑니다. 팀의 데이터 과학자들에게 제공할 데이터를 보관할 새 스키마와 테이블을 만들게 돼요. 팀원들이 신중하더라도 실수는 일어날 수 있어요. 팀원들에게는 업무에 필요한 최소한의 데이터베이스 권한만 부여해야 합니다. 이 팀원들은 승인되지 않은 대출 데이터에 접근할 수 있어요.
- 스키마
analysis를 생성합니다. - 새 스키마에 테이블
unapproved_loan을 정의합니다. - 사용자
data_scientist를 생성합니다. - 해당 사용자는 새 테이블에 대해 읽기 권한만 갖도록 제한합니다.
이 연습 문제는 데이터베이스 액세스 제어의 기본을 다시 한번 다지도록 도와줄 거예요.
이 연습은 강의의 일부입니다
PostgreSQL 데이터베이스 만들기
연습 안내
- 새 테이블을 보관할
analysis라는 이름의 새 스키마를 만드세요. analysis스키마 내부에unapproved_loan테이블을 만들고,PRIMARY KEY는 (id),FOREIGN KEY는 (loan_id)로서 loan 테이블의id키를 참조하도록 하며, 대출이 거절된 사유를 나타내는descriptionTEXT필드를 추가하세요.- 비밀번호가
changeme인data_scientist사용자를 추가하세요. 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 ___;