[Kolab-devel] Pre-KEP input on IMAP ACL enforcement
Jeroen van Meeuwen (Kolab Systems)
vanmeeuwen at kolabsys.com
Wed Aug 3 16:46:49 CEST 2011
Hello,
we have a use-case coming up for the enforcement of IMAP ACLs on certain
folders. The use-case could be described as follows;
Manager requests access to the mailbox for Employee, and depending on what a
corporate policy may include, this access request will either be accepted or
denied, and may be awarded only temporarily.
That is to say, Manager may get a set of permissions applied to the Employee
mailbox, such as 'read-only', for a period of $x days, after which the access
needs to be revoked.
I was thinking of implementing such though LDAP attributes associated with the
Employee (a kolabInetOrgPerson), in the form of a tuple:
(<mail-folder>, <aci-subject>, <aci-rights> [, <utc-epoch>])
where:
- mail-folder
Mandatory, in the form of a full path (i.e. user/employee at example.org or
user/employee/Calendar at example.org), a wildcard (i.e.
user/employee/%@example.org for one nested level of folders and
user/employee/*@example.org for the complete tree).
- aci-subject
Mandatory, either a valid identifier (i.e. 'manager at example.org' or
'group:employee-managers at example.org') or a DN (i.e.
uid=manager,ou=People,dc=example,dc=org), including specials such as
'anonymous', 'anyone', 'self'.
- aci-rights
Mandatory string, but may be an empty string "" to revoke any ACI rights.
- utc-epoch
Optional, if set represents the UTC epoch 1) up to which the mandatory ACLs
are to be enforced, 2) the (previously enforced) ACI entry is supposed to be
completely removed.
An Employee's LDAP entry may thus look as follows:
dn: uid=employee,ou=People,dc=example,dc=org
uid: employee
mail: employee at example.org
(...snip...)
kolabMailFolderACLEntry: ('user/employee at example.org',
'uid=manager,ou=people,dc=example,dc=org',
'lrs',
1312987340)
kolabMailFolderACLEntry: ('user/employee/*@example.org',
'uid=manager,ou=people,dc=example,dc=org',
'lrs',
1312987340)
kolabMailFolderACLEntry: ('user/employee/Calendar at example.org',
'uid=manager,ou=people,dc=example,dc=org',
'lrs')
kolabMailFolderACLEntry: ('user/employee/Calendar at example.org',
'uid=secretary,ou=people,dc=example,dc=org',
'lrswit')
(...snip...)
Kind regards,
Jeroen van Meeuwen
--
Senior Engineer, Kolab Systems AG
e: vanmeeuwen at kolabsys.com
t: +44 144 340 9500
m: +44 74 2516 3817
w: http://www.kolabsys.com
pgp: 9342 BF08
More information about the devel
mailing list