0% ont trouvé ce document utile (0 vote)
13 vues14 pages

Gestion des utilisateurs et sécurité Oracle

Le document traite de l'administration d'une infrastructure de base de données Oracle, en se concentrant sur l'authentification et l'autorisation des utilisateurs, ainsi que sur la gestion des bases de données multitenantes. Il décrit les différentes méthodes d'authentification, l'attribution de rôles et de privilèges, ainsi que la protection des données par cryptage et audit. Enfin, il aborde la sauvegarde et la restauration des bases de données, ainsi que l'automatisation des tâches de gestion.

Transféré par

rimaster446
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
13 vues14 pages

Gestion des utilisateurs et sécurité Oracle

Le document traite de l'administration d'une infrastructure de base de données Oracle, en se concentrant sur l'authentification et l'autorisation des utilisateurs, ainsi que sur la gestion des bases de données multitenantes. Il décrit les différentes méthodes d'authentification, l'attribution de rôles et de privilèges, ainsi que la protection des données par cryptage et audit. Enfin, il aborde la sauvegarde et la restauration des bases de données, ainsi que l'automatisation des tâches de gestion.

Transféré par

rimaster446
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Oracle – Administration d’une infrastructure de base de données

Gestion des authentifications et des autorisations des utilisateurs

Authentification des connexions à Oracle

L’authentification consiste à vérifier l’identité d’un utilisateur Oracle.


Oracle propose plusieurs méthodes :

Authentification interne (IDENTIFIED BY password)

L’utilisateur est authentifié par Oracle à l’aide d’un mot de passe.

CREATE USER kara IDENTIFIED BY StrongPass#2025;

Authentification externe (OS Authentication)

L’utilisateur est authentifié par le système d’exploitation :

CREATE USER kara IDENTIFIED EXTERNALLY;

Authentification via un répertoire (LDAP / Active Directory)

Utilise Oracle Internet Directory ou Oracle Unified Directory.

CREATE USER kara IDENTIFIED GLOBALLY AS


'uid=kara,cn=users,dc=example,dc=com';

Authentification par proxy (Application Proxy)

Une application se connecte en tant qu’utilisateur, sans connaître son mot de passe.

ALTER USER app CONNECT THROUGH kara;

Autorisation des comptes de connexion pour accéder aux bases de données

Une fois authentifié, l’utilisateur doit être autorisé à accéder aux ressources.

Attribution de quota sur un tablespace

ALTER USER kara QUOTA 50M ON USERS;

Rôle par défaut

GRANT CONNECT, RESOURCE TO kara;

Définir le profil (mot de passe, ressources, verrouillage)

ALTER USER kara PROFILE secure_profile;


Autorisation entre serveurs (Database Links)

Permet à un utilisateur de se connecter à une autre base Oracle distante.

Création d’un database link

CREATE DATABASE LINK link_remote


CONNECT TO remote_user IDENTIFIED BY pass123
USING 'remote_db';

Utilisation

SELECT * FROM employes@link_remote;

Bases de données partiellement contenues (Pluggable Databases – PDB)

Oracle Multitenant introduit les CDB (Container Database) et PDB (Pluggable Database).

Utilisateurs CDB vs PDB

Type d’utilisateur Emplacement Accès


Common User (C##user) CDB et toutes les PDB Global
Local User Une seule PDB Local

Création d’un utilisateur local dans une PDB

ENTREZ LE NOM UTILISATEUR : /AS SYSDBA

SQL> SHOW CON_NAME

CON_NAME
------------------------------
CDB$ROOT

//AFFICHER LA VUE

SQL> DESC DBA_PDBS

SQL> SELECT PDB_ID, PDB_NAME FROM DBA_PDBS;

//MODIFIER LA SESSION POUR ORACLEPDB CAR CDB$ROOT NE MARCHE PAS

SQL> ALTER SESSION SET CONTAINER=ORACLEPDB;

SQL> SHOW CON_NAME

CON_NAME
------------------------------
ORACLEPDB

SQL> CREATE USER KARA IDENTIFIED BY ORACLE;


CREATE USER KARA IDENTIFIED BY ORACLE
*
ERREUR Ó LA LIGNE 1 :
ORA-01109: BASE DE DONNÚES NON OUVERTE

//DEMARRER LA BD PLUGGABLE

SQL> STARTUP
BASE DE DONNÚES PLUGGABLE OUVERTE.
SQL> CREATE USER KARA IDENTIFIED BY ORACLE;
UTILISATEUR CRÚÚ.

ALTER SESSION SET CONTAINER = PDB1;


CREATE USER kara IDENTIFIED BY pass;
GRANT CONNECT TO kara;

Affectation de rôles serveur et de base de données

Création d’un rôle

CREATE ROLE role_dev;

Attribution de privilèges à un rôle

GRANT CREATE TABLE, CREATE VIEW TO role_dev;

Attribution du rôle à un utilisateur

GRANT role_dev TO kara;

Rôle par défaut

ALTER USER kara DEFAULT ROLE role_dev;

Autoriser les utilisateurs à accéder aux objets

Oracle distingue privilèges système et privilèges d’objet.

Privilèges sur objets (tables, vues, procédures, séquences)

Exemples :

GRANT SELECT ON [Link] TO kara;


GRANT INSERT, UPDATE ON [Link] TO kara;
GRANT EXECUTE ON hr.pkg_gestion TO kara;

Avec clause WITH GRANT OPTION

Permet à l’utilisateur de redonner ce privilège.

GRANT SELECT ON [Link] TO kara WITH GRANT OPTION;

Autoriser les utilisateurs à exécuter du code

Les objets de type PL/SQL (procédures, fonctions, packages) nécessitent le privilège


EXECUTE :

GRANT EXECUTE ON [Link] TO kara;

Pour du code dynamique :

GRANT CREATE PROCEDURE TO kara;

Résumé pédagogique

Thème Élément clé


Authentification interne, OS, LDAP, proxy
Autorisation rôles, privilèges système/objet
Multitenant CDB/PDB, common/local users
Objets SELECT, INSERT, EXECUTE
Serveurs Database links
Sécurité profils, quotas, auditing

Configuration des permissions au niveau schéma

Dans Oracle, le schéma correspond à un utilisateur.


On peut accorder des privilèges précis sur les objets contenus dans ce schéma.

Donner des droits sur un schéma entier (méthode recommandée : via un rôle)

Création d’un rôle :

CREATE ROLE role_app;

Attribution des privilèges sur tous les objets d’un schéma :

BEGIN
FOR t IN (
SELECT table_name FROM dba_tables WHERE owner='HR'
) LOOP
EXECUTE IMMEDIATE 'GRANT SELECT, INSERT, UPDATE, DELETE ON
HR.'||t.table_name||' TO role_app';
END LOOP;
END;
/

Assigner le rôle à un utilisateur :

GRANT role_app TO utilisateur1;

Droits sur les objets individuels

GRANT SELECT, INSERT ON [Link] TO utilisateur1;


GRANT EXECUTE ON HR.PKG_GESTION TO utilisateur1;

Autorisations d’accès aux ressources

Les ressources Oracle comprennent tablespaces, CPU, sessions, etc.

Quota sur un tablespace

ALTER USER utilisateur1 QUOTA 300M ON USERS;

Profils de ressources (limites CPU, session, tentatives de connexion)

CREATE PROFILE profil_strict LIMIT


SESSIONS_PER_USER 2
FAILED_LOGIN_ATTEMPTS 5
PASSWORD_LIFE_TIME 60;

Assigner le profil :

ALTER USER utilisateur1 PROFILE profil_strict;

Autoriser les utilisateurs à accéder aux objets

Tables

GRANT SELECT, INSERT, UPDATE, DELETE ON [Link] TO user;

Vues

GRANT SELECT ON schema.vue_employes TO user;

Séquences

GRANT SELECT ON schema.seq_emp TO user;

Index
Aucun privilège direct : dépend des droits sur la table.

Autoriser les utilisateurs à exécuter du code (PL/SQL)

Pour procédures, fonctions, packages :

GRANT EXECUTE ON [Link] TO user;

Pour la création de code :

GRANT CREATE PROCEDURE TO user;

Protection des données par cryptage et audit

Oracle propose :

 Transparent Data Encryption (TDE) : Chiffre automatiquement les données dans


les tablespaces ou colonnes.
 Auditing : Trace les actions des utilisateurs.

Options d’audit de l’accès aux données dans Oracle

Deux types principaux :

Unified Auditing (recommandé Oracle 12c+)

Centralise tous les audits dans une seule politique.

Types d’actions auditables :

 Connexions / déconnexions
 Sélections, insertions, mises à jour, suppressions
 Accès aux objets sensibles
 Appels de procédures PL/SQL
 Erreurs de connexion
 Actions administratives (GRANT, CREATE USER)

Traditional Auditing

Encore utilisé sur anciennes versions :

AUDIT SELECT TABLE, INSERT TABLE, UPDATE TABLE BY user BY ACCESS;

Implémentation de l’audit Oracle (Unified Auditing)

Créer une politique d’audit

CREATE AUDIT POLICY audit_employes


ACTIONS SELECT, INSERT, UPDATE, DELETE ON [Link];
Activer la politique

AUDIT POLICY audit_employes;

Auditer les connexions

AUDIT POLICY ora_logon_failures;

Auditor PL/SQL

CREATE AUDIT POLICY audit_code ACTIONS EXECUTE PROCEDURE;


AUDIT POLICY audit_code;

Gestion de l’audit Oracle

Consulter les journaux

Pour Unified Auditing :

SELECT * FROM UNIFIED_AUDIT_TRAIL;

Désactiver une politique

NOAUDIT POLICY audit_employes;

Supprimer une politique

DROP AUDIT POLICY audit_employes;

Purger les logs

BEGIN
DBMS_AUDIT_MGMT.CLEAN_AUDIT_TRAIL(
AUDIT_TRAIL_TYPE => DBMS_AUDIT_MGMT.AUDIT_TRAIL_UNIFIED,
USE_LAST_ARCH_TS => TRUE
);
END;
/

Protection des données par cryptage

Transparent Data Encryption (TDE) – Chiffrement des colonnes

ALTER TABLE clients MODIFY (num_carte_credit ENCRYPT);

Chiffrement tablespace (TDE Tablespace Encryption)

ALTER TABLESPACE users ENCRYPTION ONLINE ENCRYPT;

Requiert :
ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN IDENTIFIED BY
password;

Modèles de récupération (Recovery Models)

Oracle utilise Archivage :

Paramètre Description
NOARCHIVELOG Pas d’historique, pas de restauration point-in-time
ARCHIVELOG Historique complet, restauration avancée

Voir le mode :

ARCHIVE LOG LIST;

Stratégies de sauvegarde (RMAN)

Sauvegarde complète

RMAN> BACKUP DATABASE PLUS ARCHIVELOG;

Sauvegarde incrémentielle

RMAN> BACKUP INCREMENTAL LEVEL 1 DATABASE;

Sauvegarde du controlfile

RMAN> BACKUP CURRENT CONTROLFILE;

Stratégies recommandées

 Full weekly + incremental daily


 Archive logs chaque heure
 Sauvegarde des fichiers de configuration

Comprendre le fonctionnement du journal de transaction Oracle (Redo Log)

Le Redo Log enregistre toutes les modifications effectuées en base.

Types

 Online Redo Logs


 Archived Redo Logs
 LGWR (Log Writer) écrit dans les Redo
 DBWR (DB Writer) écrit dans les datafiles

Fonctionnement
1. L’utilisateur exécute une modification.
2. LGWR écrit l’entrée redo dans les redo logs.
3. DBWR écrit ensuite en mémoire → datafiles.
4. Les redo logs servent à rejouer les transactions en cas de crash.

Avantages

 Récupération après crash


 Restauration point-in-time (ARCHIVELOG obligatoire)

Planification d’une stratégie de sauvegarde dans Oracle

La stratégie dépend de :

Les exigences de l’entreprise

 RTO (Recovery Time Objective)


 RPO (Recovery Point Objective)
 Durée maximale d’indisponibilité tolérée
 Quantité acceptable de perte de données

Le mode de la base

 NOARCHIVELOG : sauvegarde hors ligne uniquement, pas de récupération point-


in-time.
 ARCHIVELOG : sauvegardes en ligne, restauration avancée.

Les composants à sauvegarder

 Datafiles
 Controlfile
 SPFILE
 Redo logs archivés
 Paramètres RMAN

Types de sauvegardes

 Sauvegarde complète
 Incrémentielle (Level 0 / Level 1)
 Sauvegarde des archives
 Sauvegarde image copy
 Snapshots (ASM / appliance)

Sauvegarde des bases de données dans Oracle

L’outil recommandé est RMAN (Recovery Manager).

Sauvegarde complète RMAN

RMAN> BACKUP DATABASE;


Sauvegarde avec les archives

RMAN> BACKUP DATABASE PLUS ARCHIVELOG;

. Sauvegarde incrémentielle

RMAN> BACKUP INCREMENTAL LEVEL 0 DATABASE;


RMAN> BACKUP INCREMENTAL LEVEL 1 DATABASE;

Sauvegarde du controlfile et SPFILE

RMAN> BACKUP CURRENT CONTROLFILE;


RMAN> BACKUP SPFILE;

Sauvegarde des journaux de transaction

En mode ARCHIVELOG :

RMAN> BACKUP ARCHIVELOG ALL;

On peut supprimer les archives automatiquement :

RMAN> DELETE ARCHIVELOG ALL BACKED UP 1 TIMES;

Gestion des sauvegardes de bases de données

Catalogage des sauvegardes

RMAN> CATALOG START WITH '/backups/';

Vérification

RMAN> VALIDATE DATABASE;


RMAN> VALIDATE BACKUPSET ALL;

Rapport des sauvegardes

RMAN> REPORT OBSOLETE;


RMAN> LIST BACKUP;

Suppression des sauvegardes anciennes

RMAN> DELETE OBSOLETE;

Travailler avec les options de sauvegarde

Sauvegarde compressée

RMAN> BACKUP AS COMPRESSED BACKUPSET DATABASE;


Sauvegarde encryptée

RMAN> SET ENCRYPTION ON IDENTIFIED BY 'MotDePasse';


RMAN> BACKUP DATABASE;

Sauvegardes incrémentielles cumulatives / différentielles

 Cumulative : tout depuis le Level 0


 Differential : seulement depuis la précédente Level 1

RMAN> BACKUP INCREMENTAL LEVEL 1 CUMULATIVE DATABASE;

Image Copy (facilement restaurable)

RMAN> BACKUP AS COPY DATABASE;

Restauration de bases de données

La restauration se fait en deux étapes :

1. RESTORE → copie les fichiers depuis la sauvegarde


2. RECOVER → applique les archives & redo logs

Exemple :

RMAN> RESTORE DATABASE;


RMAN> RECOVER DATABASE;

Comprendre le processus de restauration

RESTORE

 Récupère les fichiers de la sauvegarde


 Replace les datafiles manquants ou corrompus

RECOVER

 Oracle applique les redo logs (archives + redo online)


 Rejoue les transactions non écrites

OPEN RESETLOGS

Après une restauration point-in-time :

RMAN> ALTER DATABASE OPEN RESETLOGS;

Scénarios de restauration avancés

Restauration fichier datafile unique


RMAN> RESTORE DATAFILE 5;
RMAN> RECOVER DATAFILE 5;

Restauration tablespace

RMAN> RESTORE TABLESPACE users;


RMAN> RECOVER TABLESPACE users;

Perte du controlfile

RMAN :

RMAN> RESTORE CONTROLFILE FROM AUTOBACKUP;

Perte des redo logs

Restauration point-in-time obligatoire → RESETLOGS

Travailler avec un point de récupération temporel connu

Très utilisé en production (erreur utilisateur, suppression de table…).

Restauration jusqu’à une heure précise

RUN {
SET UNTIL TIME "TO_DATE('2025-01-27 14:05','YYYY-MM-DD HH24:MI')";
RESTORE DATABASE;
RECOVER DATABASE;
}

Restauration jusqu’à un SCN

RUN {
SET UNTIL SCN 345678901;
RESTORE DATABASE;
RECOVER DATABASE;
}

Restauration jusqu’à un sequence de log

RUN {
SET UNTIL SEQUENCE 1234;
RESTORE DATABASE;
RECOVER DATABASE;
}

Restaurations des bases de données systèmes et de fichiers individuels

Restaurer SYSTEM, SYSAUX


RMAN> RESTORE TABLESPACE SYSTEM;
RMAN> RECOVER TABLESPACE SYSTEM;

Restaurer UNDO

RMAN> RESTORE TABLESPACE undotbs1;


RMAN> RECOVER TABLESPACE undotbs1;

Restaurer un fichier SPFILE

RMAN> RESTORE SPFILE;

Restaurer PDB en architecture multitenant

RMAN> RESTORE PLUGGABLE DATABASE PDB1;


RMAN> RECOVER PLUGGABLE DATABASE PDB1;

Automatisation de la gestion Oracle

L’automatisation peut se faire via :

✔️ RMAN SCRIPTS

Scripts stockés :

RMAN> CREATE SCRIPT backup_full {


BACKUP DATABASE PLUS ARCHIVELOG;
}

✔️ CRON / Scheduler OS

Exemple Linux :

0 2 * * * rman target / @backup_full.rman

✔️ Oracle Scheduler

Planification interne Oracle :

BEGIN
DBMS_SCHEDULER.CREATE_JOB (
job_name => 'backup_nightly',
job_type => 'EXECUTABLE',
job_action => '/bin/sh /u01/backup/[Link]',
start_date => SYSTIMESTAMP,
repeat_interval => 'FREQ=DAILY;BYHOUR=02;BYMINUTE=00',
enabled => TRUE
);
END;
/
✔️ Automatisation des purges

RMAN> DELETE OBSOLETE;

Vous aimerez peut-être aussi