LoslegenKostenlos loslegen

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 analysis wird erstellt.
  • Die Tabelle unapproved_loan wird in diesem neuen Schema definiert.
  • Der Benutzer data_scientist wird 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

Kurs anzeigen

Anleitung zur Übung

  • Erstelle ein neues Schema namens analysis, das unsere neue Tabelle enthalten wird.
  • Erstelle eine neue Tabelle unapproved_loan im Schema analysis mit einem PRIMARY KEY (id), einem FOREIGN KEY (loan_id), der auf den Schlüssel id der Tabelle loan verweist, und einem TEXT-Feld description, das den Ablehnungsgrund des Darlehens beschreibt.
  • Füge einen Benutzer namens data_scientist mit dem Passwort changeme hinzu.
  • 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 ___;
Code bearbeiten und ausführen