Parfois, vous devrez peut-être restreindre l'accès à la base de données dans PostgreSQL, pour des raisons de sécurité ou autres. Dans cet article, nous verrons comment limiter l'accès à la base de données dans PostgreSQL.
Comment limiter l'accès à la base de données dans PostgreSQL
Voici les étapes pour limiter l'accès à la base de données dans PostgreSQL. Fondamentalement, nous allons créer un nouveau rôle et lui accorder des autorisations de sélection sur nos tables de base de données. Ensuite, nous allons créer un utilisateur de base de données et lui attribuer le nouveau rôle que nous avons créé. De cette façon, l'utilisateur de la base de données n'aura accès qu'aux tables accessibles par notre rôle nouvellement créé.
1. Créer un rôle
Connectez-vous à PostgreSQL et exécutez la commande suivante vers un nouveau rôle. Remplacez le nom du rôle selon vos besoins.
postgres-# CREATE ROLE new_role;
2. Limiter l'autorisation
Exécutez les commandes suivantes pour restreindre l'accès du rôle nouvellement créé à la base de données sample_database .
postgres-# GRANT CONNECT ON DATABASE sample_database TO new_role;
De plus, nous accorderons l'accès à toutes les tables en public schéma. Vous pouvez modifier le nom du schéma selon vos besoins.
postgres-# GRANT USAGE ON SCHEMA public TO new_role; postgres-# GRANT SELECT ON ALL TABLES IN SCHEMA public TO new_role;
Si vous souhaitez accorder une autorisation de sélection pour des tables spécifiques (par exemple, sample_table), exécutez la commande suivante
postgres-# GRANT SELECT ON sample_table IN SCHEMA public TO new_role;
De même, si vous avez une vue (par exemple sample_view) pour laquelle vous souhaitez fournir l'accès à new_role, exécutez la commande suivante.
postgres-# GRANT SELECT ON sample_view IN SCHEMA public TO new_role;
3. Créer un utilisateur
Enfin, nous créons un utilisateur PostgreSQL et attribuons le rôle nouvellement créé à cet utilisateur. Mettre à jour new_user et user_password dans les commandes ci-dessous avec votre nom d'utilisateur et votre mot de passe.
postgres-# CREATE USER new_user WITH PASSWORD 'user_password'; postgres-# GRANT new_role TO new_user;
Espérons que cet article vous aidera à limiter l'accès des utilisateurs dans PostgreSQL. Ubiq facilite la visualisation des données et leur suivi dans des tableaux de bord en temps réel. Essayez Ubiq gratuitement.