Comment protéger les données avec les privilèges de l'utilisateur SQL

Une menace majeure pour l'intégrité des données sont les utilisateurs eux-mêmes. Certaines personnes ne devraient pas avoir accès aux données et SQL vous donne ce contrôle. D'autres auraient seulement limité l'accès à certaines données mais pas d'accès au reste. Certains devraient avoir un accès illimité à tout dans la base de données. Vous avez besoin d'un système de classification des utilisateurs et pour l'attribution de privilèges d'accès aux utilisateurs dans les différentes catégories.

Le créateur d'un schéma spécifie qui est considéré comme son propriétaire. En tant que propriétaire d'un schéma, vous pouvez accorder des privilèges d'accès aux utilisateurs que vous spécifiez. Vous pouvez également révoquer les privilèges que vous avez déjà acquis. Un utilisateur doit passer une procédure d'authentification de prouver son identité avant de pouvoir accéder aux fichiers vous autoriser à utiliser. Les détails de cette procédure dépendent de la mise en œuvre.

SQL vous donne la possibilité de protéger les objets de base de données suivantes:

  • Tableaux

  • Colonnes

  • Vues

  • Domaines

  • Les jeux de caractères

  • Les classements




  • Traductions

SQL prend en charge plusieurs types de protection: voir, ajouter, modifier, supprimer, référencement, et aide bases de données. Il prend également en charge les protections liées à l'exécution de routines externes.

Vous autorisez l'accès en utilisant le GRANT déclaration et de supprimer l'accès à l'aide du REVOKE déclaration. En contrôlant l'utilisation de la SELECT déclaration, les commandes DCL qui peuvent voir un objet de base de données comme un tableau, une colonne, ou la vue. Le contrôle de la INSERT déclaration détermine qui peut ajouter de nouvelles lignes dans une table.

Restriction de l'utilisation de la METTRE À JOUR déclaration aux utilisateurs autorisés vous permet de contrôler qui peut modifier la table rows- restreindre la EFFACER contrôles des états qui peuvent supprimer des lignes de la table.

Si une table dans une base de données contient une clé étrangère une colonne qui est une clé primaire dans une autre table dans la base de données, vous pouvez ajouter une contrainte à la première table de sorte qu'il fait référence à la deuxième table. Quand une table référence à une autre, un utilisateur de la première table peut être en mesure de déduire des informations sur le contenu de la deuxième.

En tant que propriétaire de la deuxième table, vous pouvez empêcher un tel espionnage. La RÉFÉRENCES DE SUBVENTION déclaration vous donne ce pouvoir. En utilisant le GRANT USAGE déclaration, vous pouvez contrôler qui peut utiliser - ou même voir - le contenu d'un domaine, jeu de caractères, la collation, ou la traduction.

Opération de protectionDéclaration
Permettre à l'utilisateur de voir une tableGRANT SELECT
Empêcher l'utilisateur de voir une tableREVOKE SELECT
Permettre à l'utilisateur d'ajouter des lignes à une tableGRANT INSERT
Empêcher l'utilisateur d'ajouter des lignes à une tableREVOKE INSERT
Permettre à l'utilisateur de modifier les données dans les rangées de tableGRANT UPDATE
Empêcher l'utilisateur de modifier les données dans les rangées de tableREVOKE UPDATE
Permettre à l'utilisateur de supprimer des lignes de tableGRANT SUPPRIMER
Empêcher l'utilisateur de supprimer des lignes de tableREVOKE SUPPRIMER
Permettre à l'utilisateur de référencer une tableRÉFÉRENCES DE SUBVENTION
Empêcher l'utilisateur de référencer une tableREVOKE RÉFÉRENCES
Permettre à l'utilisateur d'utiliser un nom de domaine, jeu de caractères, traduction, orcollationGRANT USAGE sur le domaine, GRANT USAGE ONCHARACTER SET, GRANT USAGE ON COLLATION, GRANT USAGE ONTRANSLATION
Empêcher l'utilisateur d'utiliser un domaine, jeu de caractères, la collation, ortranslationREVOKE Utilisation sur DOMAIN, REVOKE Utilisation sur CHARACTER SET, révoquer Utilisation sur COLLATION, révoquer Utilisation sur TRADUCTION

Vous pouvez donner différents niveaux d'accès à des personnes différentes, en fonction de leurs besoins. Les commandes suivantes offrent quelques exemples de cette capacité:

GRANT selecton CUSTOMERTO SALES_MANAGER-

L'exemple précédent permet à une personne - le directeur des ventes - pour voir le tableau d'CLIENT.

L'exemple suivant permet à quiconque ayant accès au système pour voir la liste des prix de détail:

GRANT selecton RETAIL_PRICE_LISTTO PUBLIC

L'exemple suivant permet le directeur des ventes de modifier la liste des prix de détail. Elle peut modifier le contenu des lignes existantes, mais elle ne peut pas ajouter ou supprimer des lignes:

GRANT UPDATEON RETAIL_PRICE_LISTTO SALES_MANAGER-

L'exemple suivant permet le directeur des ventes pour ajouter de nouvelles lignes à la liste des prix de détail:

GRANT INSERTON RETAIL_PRICE_LISTTO SALES_MANAGER-

Maintenant, grâce à ce dernier exemple, le directeur des ventes peuvent supprimer des lignes non désirées de la table, aussi:

GRANT DELETEON RETAIL_PRICE_LISTTO VENTES Manager-

» » » » Comment protéger les données avec les privilèges de l'utilisateur SQL