Ajout nuance utilisateur read-only / droit création table
This commit is contained in:
parent
81cdd6902d
commit
097c74619f
|
@ -322,21 +322,32 @@ postgres=# CREATE DATABASE <database> OWNER <user>;
|
|||
~~~
|
||||
$ su - postgres
|
||||
$ apg -n1 -m15
|
||||
$ createuser -P $user
|
||||
$ createuser -P $user_ro
|
||||
~~~
|
||||
|
||||
Puis, ajouter les droits :
|
||||
|
||||
~~~
|
||||
$ psql -d <database>
|
||||
=# GRANT CONNECT ON DATABASE <database> TO <user>;
|
||||
=# GRANT CONNECT ON DATABASE <database> TO <user_ro>;
|
||||
=# GRANT USAGE ON SCHEMA public TO <user>;
|
||||
=# GRANT SELECT ON ALL TABLES IN SCHEMA public TO <user>;
|
||||
=# ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO <user>;
|
||||
=# GRANT SELECT ON ALL TABLES IN SCHEMA public TO <user_ro>;
|
||||
=# ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO <user_ro>;
|
||||
~~~
|
||||
|
||||
*Note* : Le schéma `public` est celui par défaut à la création de la base, si aucun schéma n'a été spécifié.
|
||||
|
||||
**Attention :** Par défaut, tout utilisateur peut créer des tables sur le schéma public d'une base.
|
||||
|
||||
Si on veut être sûr que l'utilisateur en lecture seule ne créera pas de table (par exemple [Metabase](https://wiki.evolix.org/HowtoMetabase), qui prend parfois certaines libertés), il faut l'interdire pour tout le monde, puis l'autoriser au cas par cas :
|
||||
|
||||
~~~
|
||||
$ psql -d <database>
|
||||
=# REVOKE ALL ON schema public FROM public;
|
||||
=# GRANT ALL ON schema public TO <db_adm_user>;
|
||||
~~~
|
||||
|
||||
|
||||
### Changer le mot de passe d'un utilisateur
|
||||
|
||||
~~~
|
||||
|
|
Loading…
Reference in a new issue