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/07/29 09:25] – [Création d'un utilisateur "dbreader" sans "home"] 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 30: | Ligne 30: | ||
| * Pour éviter l' | * Pour éviter l' | ||
| * Redémarrer le serveur //Sshd// : '' | * Redémarrer le serveur //Sshd// : '' | ||
| + | * Tester la connexion au serveur : '' | ||
| + | * Cela devrait afficher : < | ||
| + | Could not chdir to home directory / | ||
| + | This account is currently not available. | ||
| + | Connection to db-paca-sinp closed. | ||
| + | </ | ||
| ===== Création d'un utilisateur en lecture seule pour Postgresql ===== | ===== Création d'un utilisateur en lecture seule pour Postgresql ===== | ||
| ==== 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 43: | 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 69: | 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 IN SCHEMA | + | ALTER DEFAULT PRIVILEGES |
| 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' | ||
| + | -- 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 ; | ||
| </ | </ | ||
| + | |||
| + | === 🗑️ 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 79: | 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 : 10.0.1.20 | + | |
| - | * 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' | + | |
| - | * Mot de passe : < | + | |
| - | * Cocher " | + | |
| - | * Cliquer en bas à gauche sur "Test de la connexion..." | + | |