TP – Activité n°1 : Classification des données dans Azure SQL Database
1. Contexte et objectifs
Vous allez concevoir et déployer une base de données Azure SQL Database pour une
application de gestion d’une école, puis implémenter la classification des données (labels +
types d’informations + classification des champs) afin d’identifier la sensibilité et l’impact
métier des informations stockées.
2. Prérequis
• Compte Azure actif (abonnement valide)
• Connexion Internet stable
• Azure Data Studio installé (ou à installer)
• Connaissances de base SQL (CREATE TABLE, PRIMARY KEY, FOREIGN KEY)
3. Livrables attendus
À la fin du TP, vous devez remettre :
1) Le schéma BD (diagramme ou description) + tables supplémentaires
2) Le script SQL de création des tables
3) La liste des labels et types d’informations créés
4) Un tableau de classification (table/champ → label/type/sensibilité)
5) Une courte justification (5–10 lignes) des choix de classification
TÂCHE 1 – Créer une Azure SQL Database (déploiement Cloud)
Objectif : disposer d’une base « gestionecole » opérationnelle dans Azure.
1. Ouvrir le portail Azure : [Link]
2. Dans la barre de recherche, taper : SQL databases, puis ouvrir le service.
3. Cliquer sur Créer (Create).
4. Renseigner les informations de base :
- Subscription : votre abonnement
- Resource group : créer un nouveau RG nommé DATA_CLASSIFICATION
- Database name : gestionecole
5. Server : créer un nouveau serveur (ou choisir un existant) :
- Server name : ex. sql-ecole-<votreinitiales> (doit être unique)
- Location : région disponible pour votre abonnement
- Authentication : SQL authentication (login + password)
6. Compute + storage : choisir une configuration minimale (mode développement).
7. Networking : autoriser votre IP cliente (important) :
- Add current client IP address : Yes
- (Optionnel) Allow Azure services : Yes (si demandé dans votre scénario)
8. Review + create → Create, puis attendre la fin du déploiement.
9. Vérifier que la base « gestionecole » apparaît et que son état est Online.
Dépannage rapide (Tâche 1)
• Erreur de connexion ultérieure : vérifier le pare-feu (Networking/Firewall rules).
• Login refusé : vérifier le login SQL admin défini à la création.
• Région indisponible : choisir une autre région autorisée par l’abonnement.
TÂCHE 2 – Concevoir le schéma BD (conception)
Objectif : proposer un modèle relationnel cohérent pour une gestion simplifiée d’une école.
Tables obligatoires : Ecole, Etudiants, Enseignants, Niveau, Salles.
Ajouter au moins 2 tables supplémentaires (exemples recommandés) :
• Cours (matières/enseignements)
• Inscriptions (liaison Etudiants ↔ Cours)
• Notes (évaluations)
• EmploiDuTemps (planning)
Schéma proposé (référence) – recommandé
Ecole(eco_id PK, nom, adresse)
Niveau(niv_id PK, libelle)
Salles(salle_id PK, code, capacite)
Enseignants(ens_id PK, nom, prenom, email)
Etudiants(etu_id PK, nom, prenom, date_naissance, email, tel, niv_id FK)
Cours(cours_id PK, libelle, ens_id FK, salle_id FK)
Inscriptions(insc_id PK, etu_id FK, cours_id FK, date_inscription)
Notes(note_id PK, etu_id FK, cours_id FK, valeur, date_eval)
Règles minimum :
• Chaque table doit avoir une clé primaire (PK).
• Les relations doivent être matérialisées par des clés étrangères (FK).
• Choisir des types SQL adaptés (INT, NVARCHAR, DATE, DECIMAL…).
TÂCHE 3 – Implémenter la BD dans Azure SQL (déploiement technique)
Objectif : créer les tables dans Azure SQL Database en utilisant Azure Data Studio.
3.1 Installer / Ouvrir Azure Data Studio
• Télécharger Azure Data Studio si nécessaire.
• Ouvrir l’application.
3.2 Se connecter à la base « gestionecole »
1) Dans Azure Portal → votre base « gestionecole » → Overview : récupérer le Server name
(ex: [Link]).
2) Dans Azure Data Studio → New Connection :
- Server : <server>.[Link]
- Authentication type : SQL Login
- User/Password : ceux créés à la Tâche 1
- Database : gestionecole
3) Connecter. Si échec : vérifier pare-feu (autoriser IP).
3.3 Script SQL de création (exemple complet)
-- Base: gestionecole (Azure SQL)
-- Recommandation: exécuter dans l’ordre (PK puis FK)
CREATE TABLE Ecole (
eco_id INT IDENTITY(1,1) PRIMARY KEY,
nom NVARCHAR(100) NOT NULL,
adresse NVARCHAR(200) NULL
);
CREATE TABLE Niveau (
niv_id INT IDENTITY(1,1) PRIMARY KEY,
libelle NVARCHAR(50) NOT NULL
);
CREATE TABLE Salles (
salle_id INT IDENTITY(1,1) PRIMARY KEY,
code NVARCHAR(20) NOT NULL,
capacite INT NOT NULL
);
CREATE TABLE Enseignants (
ens_id INT IDENTITY(1,1) PRIMARY KEY,
nom NVARCHAR(60) NOT NULL,
prenom NVARCHAR(60) NOT NULL,
email NVARCHAR(120) NULL
);
CREATE TABLE Etudiants (
etu_id INT IDENTITY(1,1) PRIMARY KEY,
nom NVARCHAR(60) NOT NULL,
prenom NVARCHAR(60) NOT NULL,
date_naissance DATE NULL,
email NVARCHAR(120) NULL,
tel NVARCHAR(30) NULL,
niv_id INT NULL
);
ALTER TABLE Etudiants
ADD CONSTRAINT FK_Etudiants_Niveau FOREIGN KEY (niv_id) REFERENCES
Niveau(niv_id);
CREATE TABLE Cours (
cours_id INT IDENTITY(1,1) PRIMARY KEY,
libelle NVARCHAR(100) NOT NULL,
ens_id INT NULL,
salle_id INT NULL
);
ALTER TABLE Cours
ADD CONSTRAINT FK_Cours_Enseignants FOREIGN KEY (ens_id) REFERENCES
Enseignants(ens_id);
ALTER TABLE Cours
ADD CONSTRAINT FK_Cours_Salles FOREIGN KEY (salle_id) REFERENCES Salles(salle_id);
CREATE TABLE Inscriptions (
insc_id INT IDENTITY(1,1) PRIMARY KEY,
etu_id INT NOT NULL,
cours_id INT NOT NULL,
date_inscription DATE NOT NULL DEFAULT GETDATE()
);
ALTER TABLE Inscriptions
ADD CONSTRAINT FK_Inscriptions_Etudiants FOREIGN KEY (etu_id) REFERENCES
Etudiants(etu_id);
ALTER TABLE Inscriptions
ADD CONSTRAINT FK_Inscriptions_Cours FOREIGN KEY (cours_id) REFERENCES
Cours(cours_id);
CREATE TABLE Notes (
note_id INT IDENTITY(1,1) PRIMARY KEY,
etu_id INT NOT NULL,
cours_id INT NOT NULL,
valeur DECIMAL(4,2) NOT NULL,
date_eval DATE NOT NULL DEFAULT GETDATE()
);
ALTER TABLE Notes
ADD CONSTRAINT FK_Notes_Etudiants FOREIGN KEY (etu_id) REFERENCES
Etudiants(etu_id);
ALTER TABLE Notes
ADD CONSTRAINT FK_Notes_Cours FOREIGN KEY (cours_id) REFERENCES Cours(cours_id);
3.4 Vérification
• Dans Azure Data Studio, vérifier l’apparition des tables.
• Exécuter une requête de contrôle, par exemple :
SELECT * FROM Etudiants; (doit fonctionner même si vide)
TÂCHE 4 – Créer les labels et types d’informations (gouvernance)
Objectif : définir les niveaux de classification qui seront utilisés pour marquer les champs
sensibles.
1) Dans Azure Portal → SQL database « gestionecole »
2) Menu : Sécurité → Découverte des données & classifications
3) Cliquer sur Configurer
4) Créer les labels (exemple recommandé) :
- Publique
- Interne
- Sensible
- Confidentielle
5) Définir/associer des types d’informations (exemples) :
- Identité : Nom, Prénom
- Contact : Email, Téléphone
- Données scolaires : Niveau, Notes
6) Enregistrer les nouveaux labels/types.
TÂCHE 5 – Classifier les champs (implémentation + justification)
Objectif : appliquer des classifications aux colonnes des tables selon leur sensibilité et
impact métier.
1) Revenir à Sécurité → Découverte des données & classifications
2) Onglet : Classification
3) Utiliser la proposition automatique d’Azure (si disponible) puis ajuster.
4) Pour classifier manuellement : cliquer sur Ajouter classification, puis choisir :
- Table + Colonne
- Type d’information
- Label (niveau)
Exemple de tableau de classification (modèle à compléter)
[Link] → Type: Identité / Label: Sensible (donnée personnelle)
[Link] → Type: Identité / Label: Sensible
[Link] → Type: Contact / Label: Confidentielle (contact nominatif)
[Link] → Type: Contact / Label: Confidentielle
[Link] → Type: Données scolaires / Label: Interne (ou Sensible selon politique)
[Link] → Type: Contact / Label: Confidentielle
Justification (obligatoire)
Pour chaque champ classifié, écrire 1 phrase de justification. Exemple :
• « [Link] est classé Confidentielle car c’est une donnée personnelle permettant de
contacter directement une personne. »
Check-list de validation – à cocher avant remise
☐J’ai créé le groupe de ressources DATA_CLASSIFICATION.
☐La base Azure SQL « gestionecole » est créée et accessible (Online).
☐Mon IP est autorisée (pare-feu OK) et je peux me connecter via Azure Data Studio.
☐J’ai conçu un schéma BD cohérent avec au moins 7 tables (5 obligatoires + 2).
☐Toutes les tables sont créées avec PK et relations FK pertinentes.
☐J’ai créé des labels (Publique, Interne, Sensible, Confidentielle) ou équivalents.
☐J’ai défini/associé des types d’informations pertinents (Identité, Contact, etc.).
☐J’ai classifié les champs sensibles de toutes les tables concernées.
☐J’ai enregistré/appliqué les classifications dans Azure.
☐Je peux justifier clairement mes choix de classification (sensibilité + impact métier).