Dans cette étape, vous allez créer un utilisateur et lui accorder l'appartenance au reporting_role
pour tester les privilèges.
-
Se connecter au serveur PostgreSQL :
Connectez-vous au serveur PostgreSQL en utilisant l'outil en ligne de commande psql
en tant qu'utilisateur postgres
.
sudo -u postgres psql
-
Se connecter à la base de données reporting_db
:
Connectez-vous à la base de données reporting_db
:
\c reporting_db
-
Créer un utilisateur et lui accorder l'appartenance au reporting_role
:
Créons un nouvel utilisateur nommé report_user
avec un mot de passe (remplacez your_password
par un mot de passe fort). Ensuite, nous accorderons à cet utilisateur l'appartenance au reporting_role
. Cela signifie que report_user
héritera des privilèges accordés à reporting_role
.
CREATE USER report_user WITH PASSWORD 'your_password';
GRANT reporting_role TO report_user;
Vous devriez voir la sortie suivante :
CREATE ROLE
GRANT
-
Insérer des données dans la table sales_data
:
Insérez des exemples de données dans la table sales_data
à des fins de test.
INSERT INTO sales_data (product, amount) VALUES ('Laptop', 1200.00), ('Mouse', 25.00), ('Keyboard', 75.00);
Vous devriez voir la sortie suivante :
INSERT 0 3
Quittez l'interpréteur psql (psql shell).
\q
-
Se connecter à la base de données reporting_db
en tant que report_user
:
Ouvrez une nouvelle fenêtre de terminal et utilisez la commande suivante :
psql -d reporting_db -U report_user -W
Vous serez invité à entrer le mot de passe que vous avez défini pour report_user
. Entrez-le.
-
Tester les privilèges :
Maintenant, essayez de sélectionner des données dans la table sales_data
:
SELECT * FROM sales_data;
Vous devriez voir les données que vous avez insérées :
id | product | amount
----+----------+--------
1 | Laptop | 1200.00
2 | Mouse | 25.00
3 | Keyboard | 75.00
(3 rows)
Si vous voyez cette sortie, cela signifie que report_user
a le privilège SELECT
sur la table sales_data
, qui a été accordé via le reporting_role
.
Quittez l'interpréteur psql (psql shell).
\q