Système de gestion de bases de données ABDELLI Maher Page 13 Chapitre 3 Adminis
Système de gestion de bases de données ABDELLI Maher Page 13 Chapitre 3 Administrer la sécurité des utilisateurs I. Introduction La gestion des utilisateurs est au coeur de la sécurité de la base de données, c’est l’une des tâches les plus basiques d’un administrateur. Le SGBD Oracle utilise son propre ensemble d'usagers qui est distinct de celui défini pour l'accès et les ressources du système informatique. Chaque usager est repéré par un nom et un mot de passe. Chaque utilisateur de la base de données doit avoir un ou plusieurs privilèges pour exécuter un type particulier d'instruction SQL ou d'accéder à l'objet d'un autre utilisateur. II. Comptes utilisateurs de base de données: 1. Créer un utilisateur: Pour accéder à la base de données, un utilisateur doit indiquer un compte utilisateur de base de données valide et s'authentifier via ce compte. Chaque utilisateur de base de données possède son propre compte. Cette méthode est recommandée par Oracle car elle permet d'éviter toute faille dans la sécurité et fournit des données significatives pour certaines activités d'audit. Syntaxe de création d'un compte utilisateur CREATE USER nom_ut IDENTIFIED BY mdp [DEFAULT TABLESPACE nom_def_TS] [TEMPORARY TABLESPACE nom_tmp_TS] [QUOTA {val|UNLIMITED} ON nom_TS] [PROFILE nom_prof] [PASSWORD EXPIRE] [ACCOUNT {LOCK|UNLOCK}] Chaque compte utilisateur comporte les éléments suivants: Système de gestion de bases de données ABDELLI Maher Page 14 - Un nom utilisateur unique nom_ut : Les noms utilisateur ne peuvent pas dépasser 30 octets, ne doivent pas contenir de caractères spéciaux et doivent commencer par une lettre. - Une méthode d'authentification mdp: La méthode la plus courante est l'authentification par mot de passe, mais Oracle Database 10g prend en charge plusieurs autres méthodes d'authentification, notamment l'authentification par biométrie, par certificat et par système tiers. - Un tablespace par défaut nom_def_TS : Il s'agit de l'emplacement dans lequel l'utilisateur crée des objets s'il n'a pas indiqué d'autre tablespace. Notez que le fait qu'un utilisateur dispose d'un tablespace par défaut n'implique pas qu'il bénéficie du privilège permettant de créer des objets dans ce tablespace, ni qu'il dispose d'un quota d'espace dans ce tablespace. En effet, les privilèges et les quotas sont accordés séparément. - Un tablespace temporaire nom_tmp_TS : Il s'agit de l'emplacement dans lequel l'utilisateur peut créer des objets temporaires, tels que des tris et des tables temporaires. - Un profil utilisateur nom_prof : Il s'agit d'un ensemble de restrictions concernant les ressources et les mots de passe qui est affecté à l'utilisateur. - Lorsque le mot clé composé PASSWORD EXPIRE est précisé, l’utilisateur sera obligé de modifier son mot de passe dès la première connexion. Ainsi, même celui qui a créé l’utilisateur en question ne connaitra plus le mot de passe. - Un groupe de consommateurs de ressources : Il est utilisé par le gestionnaire de ressources. - Un statut de verrouillage ACCOUNT {LOCK|UNLOCK}] : Les utilisateurs n'ont accès qu'aux comptes "déverrouillés". Exemple : La requête suivante est un exemple de création de l’utilisateur ADER dont le mot de passe expire et auquel on affectera un quota de 20M sur son tablespace par défaut data. : CREATE USER ADER IDENTIFIED BY ADER1 DEFAULT TABLESPACE data QUOTA 20M ON data PASSWORD EXPIRE; A noter que spécifier le tablespace data comme tablespace par défaut de ADER ne suffit pas pour lui permettre d’y stocker des segments, il faut qu’il ait un quota dessus. 2. Modifier un utilisateur: Un utilisateur peut être modifié via la requête ALTER USER dont la syntaxe est la suivante : Système de gestion de bases de données ABDELLI Maher Page 15 ALTER USER nom_utilisateur [IDENTIFIED BY mdp] [DEFAULT TABLESPACE nom_def_TS] [TEMPORARY TABLESPACE nom_tmp_TS] [QUOTA {val|UNLIMITED} ON nom_TS] [PROFILE nom_prof] [PASSWORD EXPIRE] [ACCOUNT {LOCK|UNLOCK}] Exemple 1 : Modifier le mot de passe d’un utilisateur ALTER USER ADER IDENTIFIED BY ADER2 ; Exemple 2 : verrouiller un compte utilisateur ALTER USER ADER ACCOUNT LOCK 3. Supprimer un utilisateur: La requête DROP permet la suppression d’un utilisateur. Son utilisation dans sa forme la plus simple ne réussit pas si l’utilisateur en question possède un schéma (et donc des objets). Dans ce cas, il faut ajouter le mot clé CASCADE à la fin de la requête, ce qui provoquera et la suppression de l’utilisateur et de son schéma. La syntaxe de la requête de suppression est la suivante : Syntaxe DROP USER nom_utilisateur [CASCADE] ; Exemple : DROP USER ADER CASCADE ; Système de gestion de bases de données ABDELLI Maher Page 16 4. Comptes prédéfinis sous Oracle Pour pouvoir s'authentifier, il faut évidemment avoir des utilisateurs. Certains sont définis par défaut dans Oracle et quelques uns avec des droits particulièrement élevés. Les utilisateurs privilégiés possèdent des droits d'administration ou des droits système, par exemple : - SYS : dispose du rôle d’administrateur de base de données (DBA) et est propriétaire du dictionnaire ; Pour vous connecter au compte SYS, vous devez utiliser la clause AS SYSDBA. - SYSTEM : a par défaut le rôle DBA, mais pas le privilège SYSDBA. 5. Recommandation : Selon le principe du moindre privilège, ces comptes ne sont pas utilisés pour les opérations de routine. Les utilisateurs qui ont besoin de privilèges DBA disposent de comptes distincts auxquels sont affectés les privilèges requis. Ainsi, Jim peut avoir un compte ayant peu de privilèges, nommé jim, et un compte doté de privilèges élevés, appelé jim_dba. Cette méthode permet d'appliquer le principe du moindre privilège. Elle élimine tout besoin de recourir à un partage de compte et permet de réaliser des audits sur des actions individuelles. Les comptes SYS et SYSTEM sont obligatoires dans la base de données. Par conséquent, vous ne pouvez pas les supprimer. III. Les privilèges 1. Définition : On nomme privilège le droit d'exécuter un type particulier d'instruction SQL ou d'accéder à l'objet d'un autre utilisateur. La base de données Oracle vous permet de contrôler les opérations que les utilisateurs peuvent effectuer ou non au sein de la base. 2. Types de privilèges Les privilèges sont répartis en deux catégories : - Privilèges système, - Privilèges objet. a- Privilèges système : Système de gestion de bases de données ABDELLI Maher Page 17 Chaque privilège système autorise un utilisateur à effectuer une certaine opération de base de données ou une certaine classe d'opérations. Un privilège système est un privilège qui est relié avec le langage de définition de données et le langage de contrôle de données. C’est un privilège qui donne le droit d’utiliser les requêtes CREATE, ALTER, et DROP sur les différents types d’objets relatifs à la base de données et aussi les requêtes GRANT et REVOKE qui permettent d’attribuer/retirer des privilèges. La requête d’attribution d’un privilège système est la suivante : GRANT priv1[,priv2…] TO {user1[,user2…]|PUBLIC} [WITH ADMIN OPTION] Les privilèges système priv1[,priv2…] sont présentés dans le dictionnaire de données dans la vue SYSTEM_PRIVILEGE_MAP. Voici par ailleurs quelques exemples : ALTER SYSTEM, CREATE SESSION, ALTER USER, DROP USER, DROP ANY TABLE,GRANT ANY PRIVILEGE etc. Avec l’option WITH ADMIN OPTION, l’utilisateur récepteur pourra à son tour attribuer le privilège en question à d’autres utilisateurs. Exemple : SQL>CONNECT SYSTEM/admin; SQL>GRANT CREATE TABLE, CREATE SESSION TO HR WITH ADMIN OPTION; L’utilisateur SYSTEM autorise l’utilisateur HR a créer des table et créer une session pour se connecter. SQL>CONNECT HR/HR; SQL>GRANT CREATE TABLE TO USER1; L’utilisateur HR après avoir obtenue les prévilèges système CREATE TABLE, CREATE SESSION avec l’option WITH ADMIN OPTION , il pourra alors autoriser d’autre utilisateur, comme ici USER1 , a créer des tables. b- Privileges objet : Système de gestion de bases de données ABDELLI Maher Page 18 Les privilèges objet permettent à un utilisateur d'effectuer une action particulière sur un objet spécifique, tel qu'une table, une vue, une séquence, une procédure, une fonction ou un package. Ils portent généralement sur les requêtes de manipulation de données, à savoir INSERT, UPDATE, DELETE et SELECT, mais aussi EXECUTE lorsqu’il s’agit d’un programme PL/SQL, qui seront définis sur un objet bien spécifié. Les privilèges objet peuvent être octroyés par le propriétaire d'un objet, par l'administrateur, ou par un utilisateur auquel la permission d'accorder des privilèges sur l'objet a été attribuée explicitement. GRANT {priv1[(col1[,col2,…])][,priv2…]|ALL PRIVILEGES} ON [schema.]obj TO {user1[,user2,…]|PUBLIC} WITH GRANT OPTION; Voici une liste détaillant les différents Objets Oracle et leurs Privilèges. Functions Procedures Packages Sequence Table View ALTER - x x - DELETE - - x x EXECUTE x - - - FLASHBACK - - x x INSERT - - x x SELECT - x x x UPDATE - - x x Exemple: SQL>connect HR/HR SQL>GRANT SELECT, UPDATE(last_name,job_id) ON EMPLOYEES TO ADER; Système de gestion de bases de données ABDELLI Maher Page 19 ADER recevra ces deux privilèges sur la table EMPLOYEES. 3. Révoquer des privilèges a- Privilèges système : Les privilèges système qui ont été octroyés directement à l'aide de la commande GRANT peuvent être révoqués via l'instruction SQL REVOKE. Les utilisateurs disposant de l'option ADMIN OPTION pour un privilège système peuvent révoquer ce privilège pour tout autre utilisateur de la base de données. La révocation peut être effectuée par un utilisateur différent de celui qui a initialement octroyé le privilège. uploads/Management/ chap-3 1 .pdf
Documents similaires










-
24
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Mai 27, 2022
- Catégorie Management
- Langue French
- Taille du fichier 0.2281MB