[Ietf-caldav] authorization identity
Cyrus Daboo
cyrus at daboo.name
Sat Jul 7 07:46:38 PDT 2007
Hi Arnaud,
--On July 7, 2007 4:19:35 PM +0200 Arnaud Quillaud
<Arnaud.Quillaud at Sun.COM> wrote:
> For connection oriented protocols, SASL defines the notion of
> authorization identity
> (http://tools.ietf.org/html/rfc4422#section-3.4.1). This allows to
> authenticate as one user and then "switch identity" to act as another
> user for all following operations (of course assuming that the
> authenticated user has the right to act on behalf of the other user).
>
> HTTP and HTTP Basic authentication (http://tools.ietf.org/html/rfc2617)
> which is more or less the only auth mechanism supported by CalDAV do not
> seem to include such functionality.
>
> Is the functionality actually defined somewhere else or is it missing
> from HTTP/WebDAV/CalDAV ? Is any CalDAV client/server using proprietary
> mechanism (e.g. simple http header) to achieve the same result ?
It is missing. In the Apple CalendarServer we have a private header that
does this. We maintain a special list of "sudo" users - those are users who
can authenticate using HTTP but then authorize as someone else by including
the special header. I think any revisions to or new mechanisms for HTTP
auth should include an authorization identity facility.
BTW Do you want to use this facility to support calendar user proxying -
i.e. one user acting on behalf of another? If so, there is an alternative
approach to that that we also implemented and which has been presented to
Calconnect to move forward with standarizing. Our approach for that is to
use ACLs - basically the server has two group principals per "primary"
principal. Members of those groups are proxy users for the corresponding
primary principal. The server automatically provisions privileges on each
user's account such that these proxy groups have the appropriate privileges
(one group only has read access, the other group additionally has write and
scheduling access). This approach allows a calendar client to control proxy
user access by simply adding/removing users on the relevant proxy group
principals.
There are several benefits to this over the authorization identity approach
- not least is the ability to disable access on specific resources via
ACLs. i.e. there are times when you don't want a proxy to see events - ones
that might relate directly to them or others etc. This approach allows
that, whereas an authorization identity will not.
Calconnect is working on a more generalized concept based on this, that
would allow definition of arbitrary "roles" (two of which map to the proxy
groups we have). Hopefully we will be submitting something to the IETF soon
for standardization.
--
Cyrus Daboo
More information about the Ietf-caldav
mailing list