Oracle
 sql >> Base de données >  >> RDS >> Oracle

Comment créer un utilisateur et accorder des autorisations dans Oracle

Comme toujours, commencez par vous connecter à votre serveur sur lequel Oracle est hébergé, puis connectez-vous à Oracle lui-même en tant que SYSTEM compte.

Le SYSTEM est l'un des quelques comptes administratifs prédéfinis générés automatiquement lors de l'installation d'Oracle. SYSTEM est capable d'effectuer la plupart des tâches administratives, mais la tâche qui nous intéresse particulièrement est la gestion de compte.

Création d'un utilisateur

Une fois connecté en tant que SYSTEM , émettez simplement le CREATE USER commande pour générer un nouveau compte.

CREATE USER books_admin IDENTIFIED BY MyPassword;

Ici, nous créons simplement un books_admin compte IDENTIFIED ou authentifié par le password spécifié .

La déclaration de subvention

Avec notre nouveau books_admin compte créé, nous pouvons maintenant commencer à ajouter des privilèges au compte en utilisant le GRANT déclaration. GRANT est une déclaration très puissante avec de nombreuses options possibles, mais la fonctionnalité principale est de gérer les privilèges des deux users et roles dans toute la base de données.

Fournir des rôles

En règle générale, vous souhaiterez d'abord attribuer des privilèges à l'utilisateur en attachant le compte à divers rôles, en commençant par le CONNECT rôle :

GRANT CONNECT TO books_admin;

Dans certains cas, pour créer un utilisateur plus puissant, vous pouvez également envisager d'ajouter la RESOURCE rôle (permettant à l'utilisateur de créer des types nommés pour des schémas personnalisés) ou même le DBA rôle, qui permet à l'utilisateur non seulement de créer des types nommés personnalisés, mais aussi de les modifier et de les détruire.

GRANT CONNECT, RESOURCE, DBA TO books_admin;

Attribution de privilèges

Ensuite, vous voudrez vous assurer que l'utilisateur dispose des privilèges pour se connecter à la base de données et créer une session à l'aide de GRANT CREATE SESSION . Nous combinerons également cela avec tous les privilèges en utilisant GRANT ANY PRIVILEGE .

GRANT CREATE SESSION GRANT ANY PRIVILEGE TO books_admin;

Nous devons également nous assurer que notre nouvel utilisateur dispose d'un espace disque alloué dans le système pour réellement créer ou modifier des tables et des données, nous allons donc GRANT TABLESPACE comme ça :

GRANT UNLIMITED TABLESPACE TO books_admin;

Privilèges de table

Bien que cela ne soit généralement pas nécessaire dans les nouvelles versions d'Oracle, certaines installations plus anciennes peuvent nécessiter que vous spécifiiez manuellement les droits d'accès dont dispose le nouvel utilisateur sur un schéma et des tables de base de données spécifiques.

Par exemple, si nous voulons que notre books_admin l'utilisateur doit avoir la possibilité d'effectuer SELECT , UPDATE , INSERT , et DELETE capacités sur les books table, nous pourrions exécuter le GRANT suivant déclaration :

GRANT
  SELECT,
  INSERT,
  UPDATE,
  DELETE
ON
  schema.books
TO
  books_admin;

Cela garantit que books_admin peut effectuer les quatre déclarations de base pour les books table qui fait partie du schema schéma.