Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
| serveurs:installation:db-srv:postgresql-ssh-tunnel [2021/09/29 09:25] – [Création de l'utilisateur et définition des droits] jpmilcent | serveurs:installation:db-srv:postgresql-ssh-tunnel [2023/10/31 09:06] (Version actuelle) – [Création de l'utilisateur et définition des droits] jpmilcent | ||
|---|---|---|---|
| Ligne 40: | Ligne 40: | ||
| ==== Création de l' | ==== Création de l' | ||
| + | |||
| * Se connecter à la base avec un compte superadmin : '' | * Se connecter à la base avec un compte superadmin : '' | ||
| - | * Exécuter les requêtes suivantes :<code sql> | + | * Pour attribuer les droits de lecture seule à un utilisateur, |
| -- Créer l' | -- Créer l' | ||
| CREATE USER gnreader WITH ENCRYPTED PASSWORD '< | CREATE USER gnreader WITH ENCRYPTED PASSWORD '< | ||
| Ligne 49: | Ligne 50: | ||
| GRANT CONNECT ON DATABASE gnatlas TO gnreader ; | GRANT CONNECT ON DATABASE gnatlas TO gnreader ; | ||
| + | -- Associer l' | ||
| + | GRANT pg_read_all_data TO gnreader; | ||
| + | </ | ||
| + | * Pour révoquer les droits d' | ||
| + | |||
| + | === 🗑️ Base " | ||
| + | * Se connecter à la base "// | ||
| + | * Exécuter les requêtes suivantes :<code sql> | ||
| -- Autoriser l' | -- Autoriser l' | ||
| -- 1. Générer la requête à exécuter | -- 1. Générer la requête à exécuter | ||
| Ligne 75: | Ligne 84: | ||
| -- Ajouter l' | -- Ajouter l' | ||
| -- Réutiliser la requête précédente et remplacer la première et la dernière ligne : | -- Réutiliser la requête précédente et remplacer la première et la dernière ligne : | ||
| - | ALTER DEFAULT PRIVILEGES FOR USER geonatadmin | + | ALTER DEFAULT PRIVILEGES FOR USER gnreader |
| pg_toast, pg_temp_1, pg_toast_temp_1, | pg_toast, pg_temp_1, pg_toast_temp_1, | ||
| GRANT SELECT ON TABLES TO gnreader ; | GRANT SELECT ON TABLES TO gnreader ; | ||
| - | -- Ajouter l' | + | -- Ajouter l' |
| -- Réutiliser la requête précédente et remplacer la dernière ligne : | -- Réutiliser la requête précédente et remplacer la dernière ligne : | ||
| - | ALTER DEFAULT PRIVILEGES FOR USER geonatadmin | + | ALTER DEFAULT PRIVILEGES FOR USER gnreader |
| pg_toast, pg_temp_1, pg_toast_temp_1, | pg_toast, pg_temp_1, pg_toast_temp_1, | ||
| GRANT SELECT ON SEQUENCES TO gnreader ; | GRANT SELECT ON SEQUENCES TO gnreader ; | ||
| </ | </ | ||
| + | |||
| + | === 🗑️ Base " | ||
| + | * Se connecter à la base avec un compte superadmin : '' | ||
| + | * Exécuter les requêtes suivantes :<code sql> | ||
| + | -- Autoriser l' | ||
| + | -- 1. Générer la requête à exécuter | ||
| + | SELECT 'GRANT USAGE ON SCHEMA ' || string_agg(nspname, | ||
| + | |||
| + | -- 2. Exécuter la requête obtenue précédemment | ||
| + | GRANT USAGE ON SCHEMA | ||
| + | pg_toast, pg_temp_1, pg_toast_temp_1, | ||
| + | TO gnreader ; | ||
| + | |||
| + | -- Autoriser l' | ||
| + | -- 1. Générer la requête à exécuter | ||
| + | SELECT 'GRANT SELECT ON ALL TABLES IN SCHEMA ' || string_agg(nspname, | ||
| + | |||
| + | -- 2. Exécuter la requête obtenue précédemment | ||
| + | GRANT SELECT ON ALL TABLES IN SCHEMA | ||
| + | pg_toast, pg_temp_1, pg_toast_temp_1, | ||
| + | TO gnreader ; | ||
| + | |||
| + | -- Autoriser l' | ||
| + | -- Réutiliser la requête précédente et remplacer " | ||
| + | GRANT SELECT ON ALL SEQUENCES IN SCHEMA | ||
| + | pg_toast, pg_temp_1, pg_toast_temp_1, | ||
| + | TO gnreader ; | ||
| + | |||
| + | -- Ajouter l' | ||
| + | -- Réutiliser la requête précédente et remplacer la première et la dernière ligne : | ||
| + | ALTER DEFAULT PRIVILEGES FOR USER gnreader IN SCHEMA | ||
| + | pg_toast, pg_temp_1, pg_toast_temp_1, | ||
| + | GRANT SELECT ON TABLES TO gnreader ; | ||
| + | |||
| + | -- Ajouter l' | ||
| + | -- Réutiliser la requête précédente et remplacer la dernière ligne : | ||
| + | ALTER DEFAULT PRIVILEGES FOR USER gnreader IN SCHEMA | ||
| + | pg_toast, pg_temp_1, pg_toast_temp_1, | ||
| + | GRANT SELECT ON SEQUENCES TO gnreader ; | ||
| + | |||
| + | -- Ajouter l' | ||
| + | GRANT USAGE ON FOREIGN SERVER geonaturedbserver TO gnreader ; | ||
| + | |||
| + | GRANT USAGE ON FOREIGN DATA WRAPPER postgres_fdw TO gnreader ; | ||
| + | |||
| + | CREATE USER MAPPING FOR gnreader SERVER geonaturedbserver OPTIONS (user ' | ||
| + | </ | ||
| + | |||
| + | === Ajout d'un espace permetant la création de table/VM pour gnreader === | ||
| + | |||
| + | // | ||
| + | Cela permettra la création de table ou VM pour des requêtes d' | ||
| + | |||
| + | <code sql> | ||
| + | -- Création du schéma " | ||
| + | CREATE SCHEMA playground AUTHORIZATION geonatadmin; | ||
| + | |||
| + | -- Ajout des droits d' | ||
| + | GRANT USAGE, CREATE ON SCHEMA playground TO gnreader; | ||
| + | </ | ||
| + | |||
| + | |||
| ==== Modification des autorisations d' | ==== Modification des autorisations d' | ||
| Ligne 90: | Ligne 161: | ||
| * Ajouter le contenu suivant : <code properties> | * Ajouter le contenu suivant : <code properties> | ||
| # GeoNature : access by gnreader (read only) | # GeoNature : access by gnreader (read only) | ||
| - | host geonature2db | + | host geonature2db |
| - | host gnatlas | + | host gnatlas |
| </ | </ | ||
| * Recharger la configuration // | * Recharger la configuration // | ||
| ==== Configuration de l' | ==== Configuration de l' | ||
| - | * Tester la connexion en lecture seule depuis Dbeaver en créant une nouvelle connexion | + | Vous pouvez configurer votre accès |
| - | * Onglet Général | + | |
| - | * Host : localhost (tester aussi 10.0.1.20 en cas de problème) | + | |
| - | * Port : 5432 | + | |
| - | * Database : geonature2db | + | |
| - | * Authentification : Database Native | + | |
| - | * Nom d' | + | |
| - | * Mot de passe : < | + | |
| - | * Cocher "Save password locally" | + | |
| - | * Driver name : PostgreSQL | + | |
| - | * Onglet Postgresql : | + | |
| - | * Cocher "Show all databases" | + | |
| - | * Laisser les autres champs avec les valeurs par défaut. | + | |
| - | * Onglet SSH : | + | |
| - | * Cocher " | + | |
| - | * Hôte/IP : < | + | |
| - | * Port : < | + | |
| - | * Nom d' | + | |
| - | * Pour une connexion via le mot de passe : | + | |
| - | * Méthode d' | + | |
| - | * Mot de passe : < | + | |
| - | * Cocher " | + | |
| - | * Pour une connexion via une clé SSH : | + | |
| - | * Méthode d' | + | |
| - | * Clé privée : indiquer le chemin vers votre clé SSH privée (Ex. : ''/ | + | |
| - | * Phrase passe : indiquer votre "passe phrase" | + | |
| - | * Cocher " | + | |
| - | * Cliquer en bas à gauche sur "Test de la connexion..." | + | |