Hot-keys on this page
r m x p toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
# Authors: # Rob Crittenden <rcritten@redhat.com> # # Copyright (C) 2010 Red Hat # see file 'COPYING' for use and warranty information # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>.
Self-service Permissions
A permission enables fine-grained delegation of permissions. Access Control Rules, or instructions (ACIs), grant permission to permissions to perform given tasks such as adding a user, modifying a group, etc.
A Self-service permission defines what an object can change in its own entry.
EXAMPLES:
Add a self-service rule to allow users to manage their address (using Bash brace expansion): ipa selfservice-add --permissions=write --attrs={street,postalCode,l,c,st} "Users manage their own address"
When managing the list of attributes you need to include all attributes in the list, including existing ones. Add telephoneNumber to the list (using Bash brace expansion): ipa selfservice-mod --attrs={street,postalCode,l,c,st,telephoneNumber} "Users manage their own address"
Display our updated rule: ipa selfservice-show "Users manage their own address"
Delete a rule: ipa selfservice-del "Users manage their own address" """)
Str('aci', label=_('ACI'), ), )
""" Selfservice object. """
Str('aciname', cli_name='name', label=_('Self-service name'), doc=_('Self-service name'), primary_key=True, pattern='^[-_ a-zA-Z0-9]+$', pattern_errmsg="May only contain letters, numbers, -, _, and space", ), Str('permissions*', cli_name='permissions', label=_('Permissions'), doc=_('Permissions to grant (read, write). Default is write.'), csv=True, ), Str('attrs+', cli_name='attrs', label=_('Attributes'), doc=_('Attributes to which the permission applies.'), csv=True, normalizer=lambda value: value.lower(), ), )
json_friendly_attributes = ( 'label', 'label_singular', 'takes_params', 'bindable', 'name', 'object_name', 'object_name_plural', ) json_dict = dict( (a, getattr(self, a)) for a in json_friendly_attributes ) json_dict['primary_key'] = self.primary_key.name json_dict['methods'] = [m for m in self.methods] return json_dict
# do not include prefix in result
kw['permissions'] = (u'write',)
result=result, value=aciname, )
result=True, value=aciname, )
raise errors.RequirementError(name='attrs')
result=result, value=aciname, )
'%(count)d selfservice matched', '%(count)d selfservices matched', 0 )
result=result, count=len(result), truncated=False, )
result=result, value=aciname, )
|