CommencezCommencez gratuitement

Mettre en place le contrôle d'accès pour les équipes

Dans ce chapitre, vous avez appris à contrôler l'accès à vos bases de données. Nous arrivons maintenant au dernier exercice du cours. Vous allez créer un nouveau schéma et une table pour conserver des données destinées aux scientifiques des données de votre équipe. Même si vos coéquipiers sont probablement responsables, des erreurs peuvent survenir. Donnez-leur seulement les droits nécessaires pour faire leur travail. Ces membres de l'équipe auront accès aux données sur les prêts qui n'ont pas été approuvés.

  • Le schéma analysis sera créé.
  • La table unapproved_loan sera définie dans ce nouveau schéma.
  • L'utilisateur data_scientist sera créé.
  • L'utilisateur sera limité à la lecture de la nouvelle table.

Cet exercice vous aidera à consolider les notions de base du contrôle d'accès dans une base de données.

Cette activité fait partie du cours

Créer des bases de données PostgreSQL

Voir le cours

Instructions de l’exercice

  • Créez un nouveau schéma nommé analysis qui contiendra notre nouvelle table.
  • Créez une nouvelle table unapproved_loan dans le schéma analysis avec une PRIMARY KEY (id), une FOREIGN KEY (loan_id) référant la clé id de la table loan, et un champ TEXT description indiquant pourquoi le prêt a été refusé.
  • Ajoutez un utilisateur nommé data_scientist avec le mot de passe changeme.
  • Limitez cet utilisateur à un accès en lecture seule à la table analysis.unapproved_loan.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

-- 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 ___;
Modifier et exécuter le code