Restreindre les colonnes et les lignes accessibles

SQL permet de restreindre facilement les colonnes et les lignes accessibles à un certain utilisateur, en créant des fichiers logiques pour créer diverses vues restreintes d'une table ou d'un ensemble de tables. Une vue contient un sous-ensemble des colonnes des tables parents et peut éliminer des enregistrements de la
vue en imposant des critères de sélection d'enregistrement. Soit une table nommée Orders avec une ligne par commande client et des colonnes Name, BillTo, ShipTo, TotalAmt, et PayMethod. L’employé travaillant dans l'entrepôt n'a rien à savoir sur le paiement : vous pouvez donc bloquer l'accès à ces colonnes avec ce genre de vue :CREATE VIEW WHview AS
SELECT Name, BillTo, ShipTo, TotalAmt
FROM Orders;
Les applications servant au personnel de l'entrepôt utiliseraient cette vue plutôt que l'accès complet aux tables. Cela limiterait les risques d'erreur de coding ou de références utilisateurs compromises. Si le langage applicatif est un de ceux qui, comme RPG, ne supporte pas facilement les vues qui excluent des colonnes, vous pouvez remplacer ces colonnes par des masques de position, par exemple :
CREATE VIEW WHview AS
SELECT Name, BillTo, ShipTo, TotalAmt,
'xxxx-xxxx-xxxx-'||SUBSTR(PayMethod,-4)
FROM Orders;
Cela remplace un numéro de carte de crédit à 16 chiffres par des X, à l'exception des quatre derniers chiffres, généralement suffisants pour la plupart des vérifications mais insuffisants pour dévoiler le numéro de compte d'un client.
Pour restreindre encore davantage l'ensemble d'enregistrements accessibles à une application ou un utilisateur, vous pouvez ajouter une clause WHERE à la vue, avec des critères de sélection chargés d'exclure les enregistrements indésirables. Par exemple vous pourriez exclure les commandes de plus de 10 000 dollars en ajoutant WHERE TotalAmt < 10,001 à l'instruction CREATE VIEW.
La restriction d'accès par les vues est une bonne mesure de sécurité, mais pas sûre à 100 % contre des acteurs malveillants et rusés. Bien que vous puissiez coder votre application pour utiliser une vue spécifique, si cette application peut être compromise au point d'exécuter des instructions SQL arbitraires, et si l'assaillant peut découvrir ou deviner les noms des tables sous-jacentes aux vues, il peut contourner les contrôles des vues en accédant tout simplement aux tables originales. Vous pouvez empêcher cela en révoquant l'autorité sur ces vues sous-jacentes pour les utilisateurs non concernés.
REVOKE ALL on Orders FROM WHuser1;
GRANT INSERT, UPDATE, DELETE, SELECT on Orders to WHuser1;
Parfois, peu importe qui lit une colonne particulière, mais il faut limiter ceux qui peuvent la mettre à jour. C'est possible grâce au privilège de colonnes SQL GRANT UPDATE, qui permet aux utilisateurs de ne mettre à jour que les colonnes figurant dans l'instruction GRANT UPDATE. Soit l'instruction suivante :
GRANT UPDATE(Name,ShipTo), SELECT ON Orders to WHuser1;
Cela permet à l'utilisateur WHuser1 de mettre à jour seulement les colonnes Name et ShipTo dans la table Order. Ce n'est peut-être pas évident, mais il existe un moyen de bloquer les mises à jour sur toutes les colonnes : en révoquant simplement les droits UPDATE, plutôt que d'utiliser une liste null (par exemple GRANT UPDATE()…).
Nous sommes ouverts à tous les thèmes portant sur les services, les solutions et les technologies informatiques d'entreprise. Notre seule condition sera la qualité de votre contribution, quel que soit votre thème de prédilection, actualités, annonces, lancements, stratégie, tutoriaux, trucs et astuces, bonnes pratiques... cette liste n'étant pas exhaustive, stay tuned, au plaisir de collaborer.
Participez aux Microsoft IT CampsBénéficiez de formations gratuites, ouvertes et interactives animées par des architectes Microsoft ! Les Microsoft IT Camps sont un nouveau format d'évènement d'une demi-journée vous proposant d'apprendre par la pratique et comprendre comment les solutions Microsoft répondent à vos enjeux au quotidien.Découvrez les thèmes des IT Camps
Ressources Informatiques
Actualités Informatiques
Le SP2 de SQL Server 2008 R2 en version CTP 16/05/2012 | SQL Server
SQL Server 2012 est arrivé ! 03/04/2012 | SQL Server 2012 | Bases de données
Comment SQL Server 2012 accompagne la consumérisation 08/03/2012 | Big Data | Consumérisation
SQL Server 2012 commercialisé le 2 avril 07/03/2012 | Azure | Bases de données
L'histoire de SQL Server en deux minutes 21/02/2012 | Marketing | Microsoft
Informatica signe 22 contrats de plus d'1 million de dollars 31/01/2012 | Cloud Computing | Logiciel
SQL Server 2012 arrive le 7 mars 30/01/2012 | Application | Bases de données
SAP bat ses records de ventes en 2011 27/01/2012 | Application | Bases de données
La BI en « self-service » avec SQL Server 2012 15/12/2011 | BI | MVP
« Il faut une véritable expertise pour exploiter SQL Server » 14/12/2011 | Bases de données | Evènement
Journées SQL Server "“ Des nouveautés sur SQL Azure 13/12/2011 | Azure | Bases de données
« Réussite complète » pour les Journées SQL Server 13/12/2011 | Bases de données | Evènement
Les Journées SQL Server affichent complet 08/12/2011 | Bases de données | Evènement
Le programme des journées SQL Server 2012 05/12/2011 | Bases de données | Groupe Utilisateurs
Un driver SQL Server ODBC pour Linux Red Hat 29/11/2011 | Bases de données | Interface
Vidéos Informatiques
Travail Collaboratif Présentation du Dell XPS 13
Travail Collaboratif Premiers déploiements massifs de SharePoint Workspace en 2012
Cloud computing « Le cloud ne doit pas être une aire de non-droit »
Windows Server Du script PowerShell à l’interface web avec Poshboard
Liens Informatiques
Ressources iT Pro
1er Guide thématique dédié à la mise œuvre d’un Cloud PrivéIT Pro Magazine | 12 pages
Guide de protection des environnements Hyper-VITPro Magazine | 4 pages
Guide d’optimisation & synchronisation des données SharePointAvepoint | 18 pages
Booster les performances des plates-formes virtuelles ?Diskeeper | 12 pages
IT Pro Magazine Spécial Windows 8IT Pro Magazine | 60 pages
Le guide du stockage signé IT Pro MagazineIT Pro Magazine | 16 pages
Testez Acronis Backup & Recovery 11 Virtual EditionAcronis | 2 pages





















