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

Comment créer un utilisateur avec PSQL

Connectez-vous à votre instance de serveur PostgreSQL à l'aide de la commande suivante :

sudo -u postgres psql

Sélectionnez la base de données que vous souhaitez connecter à Chartio :

\c databasename;

Créez un nouveau rôle pour votre utilisateur Chartio en lecture seule :

CREATE ROLE chartio_read_only_user LOGIN PASSWORD 'secure_password';

Accordez les privilèges nécessaires au nouvel utilisateur pour se connecter à votre
base de données :

GRANT CONNECT ON DATABASE exampledb TO chartio_read_only_user;
GRANT USAGE ON SCHEMA public TO chartio_read_only_user;

Exécutez la commande suivante pour générer les requêtes qui accorderont
l'accès select à votre nouvel utilisateur :

SELECT 'GRANT SELECT ON '||schemaname||'."'||tablename||'" TO chartio_read_only_user;' FROM pg_tables WHERE schemaname IN ('public') ORDER BY schemaname, tablename;

Vous verrez une liste d'instructions GRANT semblable à la suivante :

Copiez les instructions GRANT générées par la requête, puis collez-les dans la fenêtre de votre terminal. Pour restreindre l'accès à un sous-ensemble de tables, exécutez uniquement les instructions GRANT pour les tables correspondantes. Pour limiter l'accès à des colonnes spécifiques, veuillez lire comment limiter l'accès à PostgreSQL à l'aide du schéma.

GRANT SELECT ON public."album" TO chartio_read_only_user;
GRANT SELECT ON public."artist" TO chartio_read_only_user;
GRANT SELECT ON public."customer" TO chartio_read_only_user;
GRANT SELECT ON public."employee" TO chartio_read_only_user;
GRANT SELECT ON public."genre" TO chartio_read_only_user;
GRANT SELECT ON public."invoice" TO chartio_read_only_user;
GRANT SELECT ON public."invoiceline" TO chartio_read_only_user;
GRANT SELECT ON public."mediatype" TO chartio_read_only_user;
GRANT SELECT ON public."playlist" TO chartio_read_only_user;
GRANT SELECT ON public."playlisttrack" TO chartio_read_only_user;
GRANT SELECT ON public."track" TO chartio_read_only_user;

Votre nouvel utilisateur en lecture seule dispose désormais des autorisations nécessaires pour que Chartio se connecte à votre base de données.