Maison >base de données >Oracle >autorisations de requête utilisateur Oracle

autorisations de requête utilisateur Oracle

WBOY
WBOYoriginal
2023-05-08 11:14:373901parcourir

La base de données Oracle est le principal système de gestion de bases de données relationnelles du secteur. Elle présente les caractéristiques de sécurité, de stabilité, de haute fiabilité et de bonne évolutivité, et est largement utilisée dans le stockage et la gestion des données d'entreprise. Dans les grands systèmes de bases de données, la gestion des utilisateurs et des autorisations des utilisateurs est particulièrement importante. Cet article se concentrera sur l'introduction des connaissances pertinentes sur les autorisations de requête des utilisateurs Oracle afin de mieux comprendre et appliquer le système de base de données.

1. La notion d'utilisateurs et d'autorisations

Un utilisateur fait référence à un compte ou une session connecté à la base de données Oracle. Les comptes d'utilisateurs sont généralement authentifiés par un nom d'utilisateur et un mot de passe et disposent d'autorisations dans la base de données pour effectuer une série d'opérations.

Les autorisations font référence aux droits d'un compte utilisateur pour effectuer des opérations spécifiques ou utiliser des objets spécifiques dans la base de données. Dans la base de données Oracle, les autorisations sont divisées en deux types : les autorisations système et les autorisations sur les objets.

Les autorisations système font référence aux autorisations au niveau du système de base de données, notamment CREATE TABLE, CREATE USER, etc. Habituellement, seul l'administrateur de la base de données dispose de ces autorisations.

Les autorisations d'objet font référence aux autorisations de l'utilisateur pour utiliser des objets de base de données (tels que des tables, des vues, des procédures stockées, etc.), notamment SELECT, INSERT, UPDATE, DELETE, etc. Généralement accordé par le propriétaire ou l'administrateur de l'objet.

2. Interroger les autorisations des utilisateurs

Oracle fournit plusieurs commandes pour afficher les utilisateurs et les autorisations, comme indiqué ci-dessous :

  1. Interroger les autorisations du système et les autorisations des objets

Utilisez l'instruction SQL suivante pour vérifier les autorisations système et les autorisations de l'utilisateur actuel. Autorisations d'objet utilisateur :

SELECT * FROM USER_SYS_PRIVS;--查询系统级权限
SELECT * FROM USER_TAB_PRIVS;--查询表级权限
SELECT * FROM USER_COL_PRIVS;--查询列级权限

Parmi elles, la table USER_SYS_PRIVS répertorie les autorisations système détenues par l'utilisateur, et les tables USER_TAB_PRIVS et USER_COL_PRIVS répertorient respectivement les autorisations de l'utilisateur sur les tables et les colonnes.

  1. Interroger les autorisations d'un utilisateur spécifié

Pour les autorisations des autres utilisateurs, vous pouvez utiliser l'instruction SQL suivante pour interroger :

SELECT * FROM DBA_SYS_PRIVS WHERE GRANTEE='username';--查询系统级权限
SELECT * FROM DBA_TAB_PRIVS WHERE GRANTEE='username';--查询表级权限
SELECT * FROM DBA_COL_PRIVS WHERE GRANTEE='username';--查询列级权限

Parmi eux, DBA_SYS_PRIVS représente les autorisations au niveau du système, DBA_TAB_PRIVS représente les autorisations au niveau de la table, et DBA_COL_PRIVS représente les autorisations au niveau des colonnes. Le paramètre GRANTEE spécifie le nom de l'utilisateur.

3. Accorder et révoquer les autorisations des utilisateurs

L'octroi et la révocation des autorisations des utilisateurs est l'une des opérations principales de gestion des utilisateurs de base de données. Oracle fournit deux commandes, GRANT et REVOKE, pour implémenter cette fonction.

  1. Commande GRANT

La commande GRANT est utilisée pour accorder des autorisations aux utilisateurs. Voici la syntaxe de la commande GRANT :

GRANT privilege [ON object] TO user;

Parmi eux, le privilège spécifie l'autorisation à accorder, et l'objet ON spécifie l'objet à autoriser (comme les tables, les vues, etc.). Si l’objet ON n’est pas spécifié, les autorisations au niveau du système sont accordées.

Voici quelques exemples d'autorisation :

GRANT SELECT ON employees TO user1; --授予user1对employees表的SELECT权限
GRANT UPDATE(emp_name) ON employees TO user2; --授予user2对employees表的emp_name字段的UPDATE权限
GRANT CREATE SESSION TO user3; --授予user3创建会话的权限
  1. Commande REVOKE

La commande REVOKE est utilisée pour révoquer les autorisations de l'utilisateur. Voici la syntaxe de la commande REVOKE :

REVOKE privilege [ON object] FROM user;

Parmi eux, le privilège spécifie l'autorisation à révoquer, et ON object spécifie l'objet à révoquer (tel que des tables, des vues, etc.). Si l’objet ON n’est pas spécifié, les autorisations au niveau du système sont révoquées.

Voici quelques exemples de révocation d'autorisations :

REVOKE SELECT ON employees FROM user1; --撤销user1对employees表的SELECT权限
REVOKE UPDATE(emp_name) ON employees FROM user2; --撤销user2对employees表的emp_name字段的UPDATE权限
REVOKE CREATE SESSION FROM user3; --撤销user3创建会话的权限

4. Résumé

La gestion des utilisateurs et des autorisations Oracle est une partie très importante du système de base de données. L'autorisation et l'octroi d'autorisations sont l'une des opérations principales de gestion des utilisateurs de base de données. Cet article présente principalement les commandes SQL courantes pour interroger les autorisations des utilisateurs et les connaissances associées sur l'autorisation et la révocation des autorisations. Dans les applications réelles, les autorisations doivent être gérées et attribuées en fonction des conditions réelles pour garantir la sécurité et la stabilité des données.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn