Notions de base de la gestion des privilèges et objets dans Oracle 12c

Décider qui des privilèges pour les bases de données est quelque chose que chaque administrateur de base de données (DBA) doit déterminer. Un type de privilège dans Oracle 12c est oprivilèges bject

Sommaire

qui contrôle l'accès aux données et de modification.

Notions de base de privilèges d'objets dans Oracle 12c

Vous pouvez accorder seulement huit privilèges objet:

  • SELECT permet au destinataire de sélectionner les lignes de tables

  • INSERT permet au destinataire insérer des lignes dans les tables.

  • METTRE À JOUR permet de changer le destinataire lignes existantes dans les tables.

  • EFFACER permet au destinataire de supprimer les lignes existantes à partir des tables.

  • RÉFÉRENCES permet à un utilisateur de créer une vue sur, ou une clé étrangère, la table d'un autre utilisateur.

  • INDEX permet à un utilisateur de créer un index sur la table d'un autre utilisateur.

  • ALTER permet un changement d'utilisateur ou ajouter à la structure de la table d'un autre utilisateur.

  • EXECUTE permet les procédures d'exécuter bénéficiaires appartenant à un autre utilisateur.

Gardez ces bribes de privilèges à l'esprit:

  • Lorsque vous possédez un objet, vous avez automatiquement tous les privilèges sur cet objet. En d'autres termes, vous ne devez pas être accordée SELECT sur votre propre table.




  • Privilèges objet ne peuvent pas être révoqués par le propriétaire d'un objet.

  • Quel que soit le schéma propriétaire de l'objet contrôle finalement les privilèges de cet objet.

  • Sans autorisation expresse, personne ne peut gérer les privilèges d'objet dudit objet - ainsi, personne, sauf un utilisateur qui pourrait avoir la subvention de privilège système importe quel objet (habituellement réservée aux DBA).

  • Privilège de l'objet ne peut pas être révoquée par personne, mais la personne qui l'a accordée, sauf pour quelqu'un avec la subvention de privilège Tout objet. Pas même le propriétaire peut révoquer un privilège sur son propre objet, sauf si elle était le concédant.

Comment gérer les privilèges d'objets dans Oracle 12c

Dans les étapes suivantes, les utilisateurs MAGGIE, Jason, et Matt travaillent dans une base de données qui contient des recettes. Cet exemple utilise privilèges objet de leur permettre de visualiser et d'ajouter plus de recettes.

  1. Maggie se connecte.

  2. Maggie types suivants: le

    Cela permet à l'utilisateur MAGGIE permettre JASON pour sélectionner à partir de sa table VEGETARIAN_RECIPES. Elle voit ceci:

Grant a réussi.

Similaire à WITH ADMIN OPTION de privilèges système, les privilèges d'objets ont quelque chose appelé WITH GRANT OPTION.

  • MAGGIE peut permettre à Jason de pouvoir insérer dans sa table et permettre JASON à transmettre ce privilège:

  • JASON peut transmettre que les INSERT privilège de MATT:

  • MAGGIE ne peut pas révoquer le privilège INSERT de Matt. Elle doit demander JASON de le faire.

  • Si JASON refuse de révoquer les privilèges INSERT pour Matt, MAGGIE peut révoquer le privilège de Jason et, à son tour, la révoquer de Matt. Il a appelé un cascade révocation. Notez que ceci est différent de privilèges système.

  • MAGGIE peut révoquer le privilège INSERT de Jason et en attendant automatiquement les révoquer de Matt:

    Elle voit ceci:

    Révoquer réussi.

Si un utilisateur veut voir ce privilège objet qu'ils ont donné sur, elle peut interroger la vue USER_TAB_PRIVS.

Par exemple, MAGGIE peut voir ce que les privilèges JASON a laissé sur ses objets:

Elle voit quelque chose comme ceci:

GRANTEE PROPRIÉTAIRE TABLE_NAME GRANTOR PRIVILEGE ---------- ---------- ------------------ ------- --- ---------- JASON MAGGIE VEGETARIAN_RECIPES MAGGIE SELECT

» » » Notions de base de la gestion des privilèges et objets dans Oracle 12c