Utilisateurs et rôles

CREATE ROLE et CREATE USER, rôle de connexion et rôle de groupe, attributs LOGIN, SUPERUSER et CREATEDB, appartenance et héritage, propriétaire d'un objet et principe du moindre privilège.

  • 25 cartes
  • 5 thèmes
  • Gratuit

Le programme, thème par thème

Le poids de chaque thème suit celui que lui donne l'examen.

  1. Notions
  2. Questions
  3. Ranger et relier
  4. Mises en situation
  5. Comprendre

Quelques cartes du deck

  • Rôle : de quoi s'agit-il ?

    Voir la réponse

    Entité du serveur de base de données qui détient des droits et peut posséder des objets ; elle représente une personne, un programme ou un groupe.

    PostgreSQL n'a plus qu'une seule notion : CREATE USER et CREATE GROUP ne sont que des écritures de CREATE ROLE.

  • Avec ces instructions, et sachant que le groupe lecture a le droit SELECT sur client, que peut faire alice ?

    ```sql
    CREATE ROLE lecture;
    CREATE ROLE compta;
    CREATE USER alice;
    GRANT lecture TO compta;
    GRANT compta TO alice;
    `

    • Lire la table client, par compta puis par lecture
    • Rien, car un groupe ne peut pas être membre d'un autre groupe
    • Rien, car alice n'a pas reçu SELECT elle-même
    • Lire et modifier client, car compta est un groupe de comptabilité
    Voir la réponse

    Lire la table client, par compta puis par lecture

    L'appartenance se transmet : alice est membre de compta, compta de lecture, et chaque membre hérite des droits du groupe. Rien dans ces instructions n'accorde l'écriture.

  • Dans PostgreSQL, CREATE USER équivaut à CREATE ROLE avec l'attribut ….

    Voir la réponse

    Dans PostgreSQL, CREATE USER équivaut à CREATE ROLE avec l'attribut LOGIN.

    Un rôle créé par CREATE ROLE seul porte NOLOGIN : il ne peut pas se connecter, ce qui convient à un groupe.

  • Utilisateur (CREATE USER) : de quoi s'agit-il ?

    Voir la réponse

    Rôle qui a le droit d'ouvrir une connexion à la base.

    CREATE USER alice équivaut à CREATE ROLE alice LOGIN : seul l'attribut LOGIN distingue les deux écritures.

  • Une faille du site web a permis à un visiteur de supprimer des tables. Le site se connecte à la base en superutilisateur. Quelle correction limite le mal à l'avenir ?

    • Un mot de passe plus long, changé chaque mois, pour le superutilisateur
    • Faire du site le propriétaire de toutes les tables et du schéma entier
    • Un REVOKE sur chaque table, adressé au superutilisateur du serveur
    • Un rôle dédié au site, limité à SELECT, INSERT, UPDATE et DELETE
    Voir la réponse

    Un rôle dédié au site, limité à SELECT, INSERT, UPDATE et DELETE

    La faille reste possible, mais le rôle ne peut plus supprimer de tables. Un mot de passe ne change pas ce que le rôle peut faire, un propriétaire peut supprimer sa table, et aucun REVOKE ne retire quoi que ce soit à un superutilisateur.