Privilèges de la subvention postgresql

Privilèges de la subvention postgresql

Dans PostgreSQL, un utilisateur doit avoir le Privilège de connexion Pour se connecter à la base de données. Cependant, les autorisations explicites doivent être attribuées pour effectuer des opérations de base de données, notamment la sélection des tables, des colonnes et des enregistrements.

Le Subvention postgresql La requête vous permet de modifier les privilèges pour les utilisateurs sur des objets de base de données tels que des tables, des colonnes, des vues, des fonctions, des schémas et plus encore.

Ce tutoriel vous guidera en utilisant le Subvention postgresql Commande pour modifier les privilèges pour divers objets de base de données.

Utilisation de base

La syntaxe de base pour la commande Grant est:

Accorder les privilèges sur les objets à l'utilisateur

Dans la syntaxe ci-dessus, vous pouvez spécifier un ou plusieurs privilèges à accorder sur l'objet spécifié à l'utilisateur.

Pour définir tous les privilèges sur un objet, vous pouvez utiliser le mot-clé tout.

Certains des privilèges que vous pouvez spécifier pour accorder sur un objet comprennent:

  1. SÉLECTIONNER
  2. INSÉRER
  3. MISE À JOUR
  4. SUPPRIMER
  5. CRÉER
  6. CONNECTER
  7. DÉCLENCHER
  8. TRONQUER
  9. LES RÉFÉRENCES
  10. EXÉCUTER

Ensuite, vous spécifiez l'objet de base de données et l'utilisateur qui pour accorder les privilèges définis.

Exemples de déclaration de subvention

Examinons quelques exemples de comment utiliser le Requête de subvention sur le Base de données PostgreSQL.

Tout d'abord, créez un utilisateur local sans privilèges. Pour ce faire, assurez-vous de vous connecter en tant qu'utilisateur administrateur.

PSQL -U Postgres
Créer des mods de rôle de connexion Mot de passe «bonjour»;

Dans l'étape suivante, créez une exemple de base de données et un tableau que nous utiliserons pour illustrer les privilèges postgresql.

Un exemple de requête est ci-dessous:

Déposez la base de données si existe des privilèges;
Créer des privations de base de données;
\ c privs;
Create Table Modify (id serial, nom d'utilisateur varchar (255) pas null, e-mail varchar (255) pas null, montant int, clé primaire (id));

Enfin, sortez de l'utilisateur de Postgres et connectez-vous en tant qu'utilisateur que nous venons de créer ci-dessus. Dans l'exemple ci-dessus, utilisez la commande:

psql -u mods -d privs;

Exemple 1

Si vous essayez de sélectionner des valeurs dans le tableau Modifier de la base de données privilège.

Par exemple:

privs => select * dans modifier;
Erreur: autorisation refusée pour le tableau Modifier

Vous pouvez résoudre cette erreur en accordant toutes les autorisations à l'utilisateur des mods ou en ajoutant des privilèges sélectionnés.

Pour ce faire, connectez-vous en tant qu'utilisateur de Postgres.

PSQL -U Postgres -d privs;
Grant Select on Modify to mods;

Cela permet aux utilisateurs de mods de sélectionner des éléments dans la table de modification de la base de données PRIVS.

Une fois que vous avez exécuté l'instruction SELECT, vous devez obtenir des résultats comme:

privs = # select * dans modifier;
ID | Nom d'utilisateur | Courriel | montant
----+----------+-------+--------
(0 lignes)

Exemple 2

Vous pouvez également attribuer plusieurs privilèges à la fois. Par exemple, pour spécifier Sélectionnez, insérer, supprimer et tronquer les privilèges, Utilisez la commande.

Grant Select, Insérer, Supprimer, tronquer sur Modifier en mods;

Exemple 3

Pour accorder toutes les autorisations à un utilisateur, définissez les privilèges à tous, comme indiqué dans l'exemple de commande ci-dessous:

Accorder tout sur Modify to mods;

Exemple 4

Dans tous les exemples ci-dessus, nous n'attribuons des privilèges qu'à un utilisateur sur un tableau spécifique. Pour accorder les privilèges à toutes les tableaux d'un schéma spécifié, nous pouvons utiliser la commande:

Grant Select, Insérer, supprimer, tronquer sur toutes les tables dans le schéma "privs" aux mods;

Exemple 5

Vous pouvez aussi ACCORDER un privilège de connexion à un utilisateur spécifique à une base de données spécifique. La requête est:

Grant Connect sur la base de données privilèges aux mods;

Pour révoquer toutes les autorisations accordées à un utilisateur, utilisez la requête REVOKE comme:

Révoquer Sélectionner, insérer, supprimer, tronquer sur modifier à partir des mods;

Fermeture

Comme ce guide vous l'a montré, Postgresql vous permet de modifier les privilèges à un utilisateur sur des objets de base de données à l'aide du Accorder et révoquer commandes.