始める無料で始める

チーム向けのアクセス制御を実装する

この章では、データベースへのアクセスを制御する方法を学びました。いよいよコース最後の演習です。ここでは、チームのデータサイエンティストに提供するデータを保持するための新しいスキーマとテーブルを作成します。チームメンバーは責任を持って作業しますが、事故は起こり得ます。業務に必要な範囲に限って権限を与えるようにしましょう。これらのメンバーは、未承認のローンに関するデータへアクセスできるようにします。

  • スキーマ analysis を作成します。
  • 新しいスキーマ内にテーブル unapproved_loan を定義します。
  • ユーザー data_scientist を作成します。
  • このユーザーは新しいテーブルからの読み取りのみに制限します。

この演習では、データベースのアクセス制御の基本を復習します。

この演習はコースの一部です

PostgreSQL データベースの作成

コースを見る

演習の手順

  • 新しいテーブルを保持するため、analysis という名前の新しいスキーマを作成します。
  • analysis スキーマの「内部」に、新しいテーブル unapproved_loan を作成し、PRIMARY KEYid)、FOREIGN KEYloan_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 ___;
コードを編集して実行