Zugriffskontrolle für Teams umsetzen
In diesem Kapitel hast du gelernt, wie du den Zugriff auf deine Datenbanken steuerst. Damit sind wir bei der letzten Übung des Kurses. Du erstellst ein neues Schema und eine Tabelle für Daten, die den Data Scientists in deinem Team bereitgestellt werden. Auch wenn deine Teammitglieder verantwortungsbewusst sind, können Fehler passieren. Gib ihnen daher nur so viel Kontrolle über die Datenbank, wie sie für ihre Arbeit brauchen. Diese Teammitglieder erhalten Zugriff auf Daten zu Darlehen, die nicht genehmigt wurden.
- Das Schema
analysiswird erstellt. - Die Tabelle
unapproved_loanwird in diesem neuen Schema definiert. - Der Benutzer
data_scientistwird erstellt. - Der Benutzer wird auf Lesezugriff für die neue Tabelle beschränkt.
Diese Übung festigt die Grundlagen der Zugriffskontrolle für eine Datenbank.
Diese Übung ist Teil des Kurses
Erstellen von PostgreSQL-Datenbanken
Anleitung zur Übung
- Erstelle ein neues Schema namens
analysis, das unsere neue Tabelle enthalten wird. - Erstelle eine neue Tabelle
unapproved_loanim Schemaanalysismit einemPRIMARY KEY(id), einemFOREIGN KEY(loan_id), der auf den Schlüsselidder Tabelleloanverweist, und einemTEXT-Felddescription, das den Ablehnungsgrund des Darlehens beschreibt. - Füge einen Benutzer namens
data_scientistmit dem Passwortchangemehinzu. - Beschränke den Benutzer auf schreibgeschützten Zugriff auf die Tabelle
analysis.unapproved_loan.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
-- 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 ___;