Vidéo: PostgreSQL - 13. Index : le hash ou fonction de hashing 2024
Après avoir créé un utilisateur, vous devez décider quels types de choses l'utilisateur peut faire dans la base de données Oracle 12c. Vous souhaiterez probablement autoriser l'utilisateur à se connecter, mais vous devrez peut-être limiter l'exécution des tâches suivantes:
-
Accès à certaines données
-
Démarrage et arrêt de la base de données
-
Création de tables, index et vues
-
Suppression des données
-
Effectuer des sauvegardes
Vous déterminez ce qu'un utilisateur peut faire via les privilèges . La base de données possède deux types de privilèges:
-
Les privilèges système contrôlent ce qu'un utilisateur peut faire dans la base de données. Par exemple, peuvent-ils créer des tables, créer des utilisateurs et supprimer des tablespaces? Ces privilèges s'appliquent principalement à l'ajout ou au changement de structures dans la base de données.
-
Les privilèges d'objet contrôlent la façon dont un utilisateur peut accéder aux données réelles dans la base de données. Par exemple, quelles données peut-il voir, modifier ou supprimer? Ces privilèges s'appliquent principalement aux lignes d'une table ou d'une vue.
Vous gérez tous les privilèges avec les commandes GRANT et REVOKE. Il est clair d'après leurs noms que l'on donne et que l'on cède. Cependant, vous formez les commandes en fonction du type de privilège. Par exemple, quand vous donnez, vous ACCORDEZ et quand vous prenez REVOKE DE.
Les privilèges système sont les premiers privilèges dont un utilisateur a besoin. Il y a littéralement des centaines de privilèges système.
Avant qu'un utilisateur puisse faire quoi que ce soit avec la base de données, il doit pouvoir se connecter. Le privilège CREATE SESSION permet aux utilisateurs d'accéder à la base de données. Sans ce privilège, aucun autre privilège n'a d'importance.
Procédez comme suit pour accorder des privilèges CREATE SESSION à l'utilisateur DTITILAH:
-
Connectez-vous à la base de données en tant que l'utilisateur SYSTEM.
-
Tapez ce qui suit:
Vous voyez ce qui suit, ce qui signifie que DTITILAH peut se connecter à la base de données:
Grant a réussi.
Que se passe-t-il si le mot de passe de l'utilisateur DTITILAH a été compromis? Un moyen rapide de s'assurer que l'utilisateur ne peut plus accéder à la base de données, de manière externe ou non, consiste à révoquer le privilège CREATE SESSION de cet utilisateur.
Révoquez la CREATE SESSION à partir de DTITILAH en procédant comme suit:
-
Connectez-vous à la base de données en tant que SYSTEM.
-
Tapez ce qui suit:
Vous voyez ceci:
Revoke réussi.
Lorsque cet utilisateur essaie de se connecter, il voit ceci:
ERREUR: ORA-01045: l'utilisateur DTITILAH n'a pas le privilège CREATE SESSION; Connexion refusée
-
Corrigez la faille de sécurité en découvrant pourquoi le mot de passe a été piraté.
Un utilisateur peut également disposer de ces privilèges système lui permettant de créer des objets dans la base de données:
-
RESUMABLE permet de suspendre les travaux et de les reprendre lorsque les restrictions d'espace sont satisfaites.
-
FLASHBACK ARCHIVE permet aux utilisateurs de récupérer des données du passé.
-
CREATE JOB permet aux utilisateurs de créer des travaux pouvant être exécutés dans Oracle Scheduler.
-
CREATE SYNONYM permet aux utilisateurs de créer un alias pour les objets afin de faciliter l'accès.
Les privilèges suivants s'appliquent généralement aux développeurs:
-
CREATE TABLE
-
CREATE VIEW
-
CREATE SEQUENCE
-
CREATE PROCEDURE
-
CREATE TRIGGER
Les administrateurs de bases de données (DBA) ont généralement ces privilèges: < CREATE ANY TABLE
-
crée des tables dans le schéma de n'importe quel utilisateur. DROP ANY TABLE
-
supprime les tables du schéma de n'importe quel utilisateur. CREATE TABLESPACE
-
crée des zones de stockage d'espace de stockage. ALTER USER
-
change les caractéristiques de l'utilisateur. DROP USER
-
… laisse tomber un utilisateur. ALTER SYSTEM
-
change les paramètres de fonctionnement du système. GRANT ANY OBJECT
-
permet au bénéficiaire de gérer n'importe quel privilège d'objet par rapport à n'importe quel objet de la base de données. Très puissant! WITH ADMIN OPTION est une autre fonctionnalité associée aux privilèges système. Vous pouvez utiliser cette option lors de l'octroi d'un privilège système pour autoriser l'utilisateur à accorder le privilège à quelqu'un d'autre. Par exemple, dites que vous avez engagé un nouvel administrateur de base de données avec le nom d'utilisateur RPLEW.
Pour accorder un privilège système WITH ADMIN OPTION, procédez comme suit:
Connectez-vous à SQL * Plus en tant que SYSTEM.
-
Tapez ce qui suit:
-
Vous voyez ceci:
Grant a réussi.
MAUST peut maintenant administrer CREATE SESSION.