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:29] – [Modification des autorisations d'accès au serveur Postgresql] 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 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 85: | 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..." | + | |