Postgres e regolare l' accesso in scrittura a singoli campi di una tabella

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Postgres e regolare l' accesso in scrittura a singoli campi di una tabella

Andrea Peri
Salve,

Sto cercando di capire se con postgres è possibile regolare i diritti di
scrittura di utenti "non owner" della tabella a livello di campo.
Ovvero:

se ho una tabella

TAB con campi : campo1, campo2 , campo3 appartenente all'utente "pippo"

se posso dare all'utente "pluto" il diritto di vederla e scrivere su tutti
i campi tranne il campo "campo3".

Lo so che potrei agire tramite una vista, ma volevo evitare per ragioni
organizzative di passare dalla creazione di una vista anche perche' avrei
la proliferazione delle viste.

ps:
poi dovrei vedere se una cosa del genere piace a qgis, ma questo sarebbe un
altro passo successivo...
:)

--
-----------------
Andrea Peri
. . . . . . . . .
qwerty àèìòù
-----------------
_______________________________________________
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it.
764 iscritti al 23/08/2019
Reply | Threaded
Open this post in threaded view
|

Re: Postgres e regolare l' accesso in scrittura a singoli campi di una tabella

Sandro Santilli-2
On Wed, Nov 20, 2019 at 08:07:10AM +0100, Andrea Peri wrote:
> Salve,
>
> Sto cercando di capire se con postgres è possibile regolare i diritti di
> scrittura di utenti "non owner" della tabella a livello di campo.

Di solito per fare questa cosa si usa una view.
Lasci la tabella non leggibile, mentre invece regoli la leggibilita'
della view che seleziona solo alcuni campi.

--strk;
_______________________________________________
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it.
764 iscritti al 23/08/2019
Reply | Threaded
Open this post in threaded view
|

Re: Postgres e regolare l' accesso in scrittura a singoli campi di una tabella

Stefano Iacovella
In reply to this post by Andrea Peri
Buongiorno Andrea,

dalla documentazione di PostgreSQL mi apre sia possibile assegnare le grant
di visualizzazione e modifica con granularità a livello di colonna:

GRANT { { SELECT | INSERT | UPDATE | REFERENCES } ( column_name [, ...] )
    [, ...] | ALL [ PRIVILEGES ] ( column_name [, ...] ) }
    ON [ TABLE ] table_name [, ...]
    TO { [ GROUP ] role_name | PUBLIC } [, ...] [ WITH GRANT OPTION ]



https://www.postgresql.org/docs/9.4/sql-grant.html

Stefano

Il giorno mer 20 nov 2019 alle ore 08:07 Andrea Peri <[hidden email]>
ha scritto:

> Salve,
>
> Sto cercando di capire se con postgres è possibile regolare i diritti di
> scrittura di utenti "non owner" della tabella a livello di campo.
> Ovvero:
>
> se ho una tabella
>
> TAB con campi : campo1, campo2 , campo3 appartenente all'utente "pippo"
>
> se posso dare all'utente "pluto" il diritto di vederla e scrivere su tutti
> i campi tranne il campo "campo3".
>
> Lo so che potrei agire tramite una vista, ma volevo evitare per ragioni
> organizzative di passare dalla creazione di una vista anche perche' avrei
> la proliferazione delle viste.
>
> ps:
> poi dovrei vedere se una cosa del genere piace a qgis, ma questo sarebbe un
> altro passo successivo...
> :)
>
> --
> -----------------
> Andrea Peri
> . . . . . . . . .
> qwerty àèìòù
> -----------------
> _______________________________________________
> [hidden email]
> http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
> Questa e' una lista di discussione pubblica aperta a tutti.
> I messaggi di questa lista non hanno relazione diretta con le posizioni
> dell'Associazione GFOSS.it.
> 764 iscritti al 23/08/2019
_______________________________________________
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it.
764 iscritti al 23/08/2019
Reply | Threaded
Open this post in threaded view
|

Re: Postgres e regolare l' accesso in scrittura a singoli campi di una tabella

Andrea Peri
In reply to this post by Sandro Santilli-2
Ciao strk.
Si la soluzione canonica è la view.
Ma in questo mio progetto, la necessità è di avere un gruppo più o meno
ampio di soghetti ognuno abilitato a intervenire su una colonna diversa.

Crrare tante viste e poi dargli i grants potrebbe essere un aumento di
complessità e volevo vedere se agendo invece tramite i grant sui campi
avevo una gestione più semplificata.

Pensa ad esempio a una tabella dove un campo geometria contiene la
geometria ufficiale.
Poi se serve a un utente di modificarla per qualche esigenza, anziche
farsene una copia su una altra tabella con tutti i problemi di sincronismo
e di perdita di vista, si aggiunge una altra colonna geometrica e si da la
scrittura a quell utente.
Cosi può sempre modificare solo quella.
Gli altri vedono le modifiche apportate e hanno a disposizione anche la
geometria originale.

Per ora è una prova quasi sperimentale per capire se questo approccio può
essere pratico e introduce dei vantaggi gestionali.
Anche nel senso che non si perde di vista niente.

A.



Il mer 20 nov 2019, 11:15 Sandro Santilli <[hidden email]> ha scritto:

> On Wed, Nov 20, 2019 at 08:07:10AM +0100, Andrea Peri wrote:
> > Salve,
> >
> > Sto cercando di capire se con postgres č possibile regolare i diritti di
> > scrittura di utenti "non owner" della tabella a livello di campo.
>
> Di solito per fare questa cosa si usa una view.
> Lasci la tabella non leggibile, mentre invece regoli la leggibilita'
> della view che seleziona solo alcuni campi.
>
> --strk;
>
_______________________________________________
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it.
764 iscritti al 23/08/2019
Reply | Threaded
Open this post in threaded view
|

Re: Postgres e regolare l' accesso in scrittura a singoli campi di una tabella

Andrea Peri
In reply to this post by Stefano Iacovella
Avevo visto quella regola, ma non ero sicuro che per la colonna si potesse
dare una grant qualsiasi (e quindi anche la writeable).

Grazie,
A.

A.



Il mer 20 nov 2019, 15:24 Stefano Iacovella <[hidden email]>
ha scritto:

> Buongiorno Andrea,
>
> dalla documentazione di PostgreSQL mi apre sia possibile assegnare le
> grant di visualizzazione e modifica con granularità a livello di colonna:
>
> GRANT { { SELECT | INSERT | UPDATE | REFERENCES } ( column_name [, ...] )
>     [, ...] | ALL [ PRIVILEGES ] ( column_name [, ...] ) }
>     ON [ TABLE ] table_name [, ...]
>     TO { [ GROUP ] role_name | PUBLIC } [, ...] [ WITH GRANT OPTION ]
>
>
>
> https://www.postgresql.org/docs/9.4/sql-grant.html
>
> Stefano
>
> Il giorno mer 20 nov 2019 alle ore 08:07 Andrea Peri <[hidden email]>
> ha scritto:
>
>> Salve,
>>
>> Sto cercando di capire se con postgres è possibile regolare i diritti di
>> scrittura di utenti "non owner" della tabella a livello di campo.
>> Ovvero:
>>
>> se ho una tabella
>>
>> TAB con campi : campo1, campo2 , campo3 appartenente all'utente "pippo"
>>
>> se posso dare all'utente "pluto" il diritto di vederla e scrivere su tutti
>> i campi tranne il campo "campo3".
>>
>> Lo so che potrei agire tramite una vista, ma volevo evitare per ragioni
>> organizzative di passare dalla creazione di una vista anche perche' avrei
>> la proliferazione delle viste.
>>
>> ps:
>> poi dovrei vedere se una cosa del genere piace a qgis, ma questo sarebbe
>> un
>> altro passo successivo...
>> :)
>>
>> --
>> -----------------
>> Andrea Peri
>> . . . . . . . . .
>> qwerty àèìòù
>> -----------------
>> _______________________________________________
>> [hidden email]
>> http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
>> Questa e' una lista di discussione pubblica aperta a tutti.
>> I messaggi di questa lista non hanno relazione diretta con le posizioni
>> dell'Associazione GFOSS.it.
>> 764 iscritti al 23/08/2019
>
>
_______________________________________________
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it.
764 iscritti al 23/08/2019