pcp
[Top] [All Lists]

Re: [RFC] PCP authentication and access control proposal (draft v1)

To: Mark Goodwin <goodwinos@xxxxxxxxx>
Subject: Re: [RFC] PCP authentication and access control proposal (draft v1)
From: fche@xxxxxxxxxx (Frank Ch. Eigler)
Date: Tue, 17 May 2011 13:34:58 -0400
Cc: "Josef 'Jeff' Sipek" <jeffpc@xxxxxxxxxxxxxx>, pcp <pcp@xxxxxxxxxxx>
In-reply-to: <4DD1D6C4.8090009@xxxxxxxxx> (Mark Goodwin's message of "Tue, 17 May 2011 12:00:36 +1000")
References: <4DD0EF17.8000406@xxxxxxxxx> <20110516233638.GA1942@xxxxxxxxxxxxxxxxxxx> <4DD1D6C4.8090009@xxxxxxxxx>
User-agent: Gnus/5.1008 (Gnus v5.10.8) Emacs/21.4 (gnu/linux)
Mark wrote:

> [...]
>> Any reason we couldn't/shouldn't use existing authentication frameworks?
>> For example, SASL.  It supports username/password schemes, kerberos, etc.
>
> there's no technical reason we couldn't - e.g. libgsasl seems to be pretty
> portable (even has a mingw port). I just think the ssh key approach is
> the most simple, most portable and the easiest to manage.

In that case, one might imagine actual ssh being used.  pmapi could
tunnel through ssh, as in git+ssh, as long as the remote side can
connect to the pmcd there and authenticate (a local unix pipe / uid+gid)?


>>> Access Control - Management
>>>      Having the access control configuration accessible as PCP metrics
>>>      will make it easy for authenticated admins to manage and query the
>>>      current access control configuration and policies on a particular
>>>      server, using existing PCP client tools.
>> ...
>>
>> I like this idea.

I see some attraction to it, but also consider a few issues.

What about persistency of the permissions?  Each time pmcd starts up,
the permissions would have to be reloaded (via a shell script full of
pmstores), which is possibly a race condition.

What about metrics whose sensitivity is known to the PMDA, such as
/proc/$PID/cmdline (accessible only to the process $PID owner)?  For
some of these, having the PMDA supply a template of pmstores to the
startup script could be enough, but others are too dynamic.

What about groups?  They'd be useful here for the same reason groups
as in unix in general.

What about domain-instances?  Some metrics may need per-domain-inst
privileges.

- FChE

<Prev in Thread] Current Thread [Next in Thread>