diff options
author | Petr Viktorin <pviktori@redhat.com> | 2014-06-04 17:39:10 +0200 |
---|---|---|
committer | Martin Kosek <mkosek@redhat.com> | 2014-06-24 13:53:40 +0200 |
commit | 820a60420da09dc52c7bd739d47b3bfad4da1b42 (patch) | |
tree | 1443da3b8ebc95020748836c1d4e76b926c4ed06 | |
parent | f881f063647577b59f6d2d3a8d00225840498fe8 (diff) | |
download | freeipa-820a60420da09dc52c7bd739d47b3bfad4da1b42.tar.gz freeipa-820a60420da09dc52c7bd739d47b3bfad4da1b42.tar.xz freeipa-820a60420da09dc52c7bd739d47b3bfad4da1b42.zip |
Convert Role default permissions to managed
Part of the work for: https://fedorahosted.org/freeipa/ticket/4346
Reviewed-By: Martin Kosek <mkosek@redhat.com>
-rw-r--r-- | ACI.txt | 8 | ||||
-rw-r--r-- | install/share/delegation.ldif | 44 | ||||
-rw-r--r-- | ipalib/plugins/role.py | 30 |
3 files changed, 38 insertions, 44 deletions
@@ -146,8 +146,16 @@ dn: cn=System: Read Group Password Policy,cn=permissions,cn=pbac,dc=ipa,dc=examp aci: (targetattr = "cn || cospriority || krbmaxpwdlife || krbminpwdlife || krbpwdfailurecountinterval || krbpwdhistorylength || krbpwdlockoutduration || krbpwdmaxfailure || krbpwdmindiffchars || krbpwdminlength || objectclass")(targetfilter = "(objectclass=krbpwdpolicy)")(version 3.0;acl "permission:System: Read Group Password Policy";allow (compare,read,search) groupdn = "ldap:///cn=System: Read Group Password Policy,cn=permissions,cn=pbac,dc=ipa,dc=example";) dn: cn=System: Read Realm Domains,cn=permissions,cn=pbac,dc=ipa,dc=example aci: (targetattr = "associateddomain || cn || objectclass")(targetfilter = "(objectclass=domainrelatedobject)")(version 3.0;acl "permission:System: Read Realm Domains";allow (compare,read,search) userdn = "ldap:///all";) +dn: cn=System: Add Roles,cn=permissions,cn=pbac,dc=ipa,dc=example +aci: (targetfilter = "(objectclass=groupofnames)")(version 3.0;acl "permission:System: Add Roles";allow (add) groupdn = "ldap:///cn=System: Add Roles,cn=permissions,cn=pbac,dc=ipa,dc=example";) +dn: cn=System: Modify Role Membership,cn=permissions,cn=pbac,dc=ipa,dc=example +aci: (targetattr = "member")(targetfilter = "(objectclass=groupofnames)")(version 3.0;acl "permission:System: Modify Role Membership";allow (write) groupdn = "ldap:///cn=System: Modify Role Membership,cn=permissions,cn=pbac,dc=ipa,dc=example";) +dn: cn=System: Modify Roles,cn=permissions,cn=pbac,dc=ipa,dc=example +aci: (targetattr = "cn || description")(targetfilter = "(objectclass=groupofnames)")(version 3.0;acl "permission:System: Modify Roles";allow (write) groupdn = "ldap:///cn=System: Modify Roles,cn=permissions,cn=pbac,dc=ipa,dc=example";) dn: cn=System: Read Roles,cn=permissions,cn=pbac,dc=ipa,dc=example aci: (targetattr = "businesscategory || cn || description || member || memberhost || memberof || memberuser || o || objectclass || ou || owner || seealso")(targetfilter = "(objectclass=groupofnames)")(version 3.0;acl "permission:System: Read Roles";allow (compare,read,search) groupdn = "ldap:///cn=System: Read Roles,cn=permissions,cn=pbac,dc=ipa,dc=example";) +dn: cn=System: Remove Roles,cn=permissions,cn=pbac,dc=ipa,dc=example +aci: (targetfilter = "(objectclass=groupofnames)")(version 3.0;acl "permission:System: Remove Roles";allow (delete) groupdn = "ldap:///cn=System: Remove Roles,cn=permissions,cn=pbac,dc=ipa,dc=example";) dn: cn=System: Read SELinux User Maps,cn=permissions,cn=pbac,dc=ipa,dc=example aci: (targetattr = "accesstime || cn || description || hostcategory || ipaenabledflag || ipaselinuxuser || ipauniqueid || member || memberhost || memberuser || objectclass || seealso || usercategory")(targetfilter = "(objectclass=ipaselinuxusermap)")(version 3.0;acl "permission:System: Read SELinux User Maps";allow (compare,read,search) userdn = "ldap:///all";) dn: cn=System: Read Services,cn=permissions,cn=pbac,dc=ipa,dc=example diff --git a/install/share/delegation.ldif b/install/share/delegation.ldif index 0365376a8..d355568c6 100644 --- a/install/share/delegation.ldif +++ b/install/share/delegation.ldif @@ -159,40 +159,6 @@ objectClass: ipapermission cn: Modify Services member: cn=Service Administrators,cn=privileges,cn=pbac,$SUFFIX -# Delegation administration - -dn: cn=Add Roles,cn=permissions,cn=pbac,$SUFFIX -changetype: add -objectClass: top -objectClass: groupofnames -objectClass: ipapermission -cn: Add Roles -member: cn=Delegation Administrator,cn=privileges,cn=pbac,$SUFFIX - -dn: cn=Remove Roles,cn=permissions,cn=pbac,$SUFFIX -changetype: add -objectClass: top -objectClass: groupofnames -objectClass: ipapermission -cn: Remove Roles -member: cn=Delegation Administrator,cn=privileges,cn=pbac,$SUFFIX - -dn: cn=Modify Roles,cn=permissions,cn=pbac,$SUFFIX -changetype: add -objectClass: top -objectClass: groupofnames -objectClass: ipapermission -cn: Modify Roles -member: cn=Delegation Administrator,cn=privileges,cn=pbac,$SUFFIX - -dn: cn=Modify Role membership,cn=permissions,cn=pbac,$SUFFIX -changetype: add -objectClass: top -objectClass: groupofnames -objectClass: ipapermission -cn: Modify Role membership -member: cn=Delegation Administrator,cn=privileges,cn=pbac,$SUFFIX - dn: cn=Manage service keytab,cn=permissions,cn=pbac,$SUFFIX changetype: add objectClass: top @@ -257,16 +223,6 @@ aci: (target = "ldap:///krbprincipalname=*,cn=services,cn=accounts,$SUFFIX")(ver aci: (target = "ldap:///krbprincipalname=*,cn=services,cn=accounts,$SUFFIX")(version 3.0;acl "permission:Remove Services";allow (delete) groupdn = "ldap:///cn=Remove Services,cn=permissions,cn=pbac,$SUFFIX";) aci: (targetattr = "usercertificate")(target = "ldap:///krbprincipalname=*,cn=services,cn=accounts,$SUFFIX")(version 3.0;acl "permission:Modify Services";allow (write) groupdn = "ldap:///cn=Modify Services,cn=permissions,cn=pbac,$SUFFIX";) -# Delegation administration - -dn: $SUFFIX -changetype: modify -add: aci -aci: (target = "ldap:///cn=*,cn=roles,cn=accounts,$SUFFIX")(version 3.0;acl "permission:Add Roles";allow (add) groupdn = "ldap:///cn=Add Roles,cn=permissions,cn=pbac,$SUFFIX";) -aci: (target = "ldap:///cn=*,cn=roles,cn=accounts,$SUFFIX")(version 3.0;acl "permission:Remove Roles";allow (delete) groupdn = "ldap:///cn=Remove Roles,cn=permissions,cn=pbac,$SUFFIX";) -aci: (targetattr = "cn || description")(target = "ldap:///cn=*,cn=roles,cn=accounts,$SUFFIX")(version 3.0; acl "permission:Modify Roles";allow (write) groupdn = "ldap:///cn=Modify Roles,cn=permissions,cn=pbac,$SUFFIX";) -aci: (targetattr = "member")(target = "ldap:///cn=*,cn=roles,cn=accounts,$SUFFIX")(version 3.0;acl "permission:Modify Role membership";allow (write) groupdn = "ldap:///cn=Modify Role membership,cn=permissions,cn=pbac,$SUFFIX";) - # Service keytab admin dn: $SUFFIX diff --git a/ipalib/plugins/role.py b/ipalib/plugins/role.py index cd56f7f47..b290ceeb1 100644 --- a/ipalib/plugins/role.py +++ b/ipalib/plugins/role.py @@ -93,6 +93,36 @@ class role(LDAPObject): }, 'default_privileges': {'RBAC Readers'}, }, + 'System: Add Roles': { + 'ipapermright': {'add'}, + 'replaces': [ + '(target = "ldap:///cn=*,cn=roles,cn=accounts,$SUFFIX")(version 3.0;acl "permission:Add Roles";allow (add) groupdn = "ldap:///cn=Add Roles,cn=permissions,cn=pbac,$SUFFIX";)', + ], + 'default_privileges': {'Delegation Administrator'}, + }, + 'System: Modify Role Membership': { + 'ipapermright': {'write'}, + 'ipapermdefaultattr': {'member'}, + 'replaces': [ + '(targetattr = "member")(target = "ldap:///cn=*,cn=roles,cn=accounts,$SUFFIX")(version 3.0;acl "permission:Modify Role membership";allow (write) groupdn = "ldap:///cn=Modify Role membership,cn=permissions,cn=pbac,$SUFFIX";)', + ], + 'default_privileges': {'Delegation Administrator'}, + }, + 'System: Modify Roles': { + 'ipapermright': {'write'}, + 'ipapermdefaultattr': {'cn', 'description'}, + 'replaces': [ + '(targetattr = "cn || description")(target = "ldap:///cn=*,cn=roles,cn=accounts,$SUFFIX")(version 3.0; acl "permission:Modify Roles";allow (write) groupdn = "ldap:///cn=Modify Roles,cn=permissions,cn=pbac,$SUFFIX";)', + ], + 'default_privileges': {'Delegation Administrator'}, + }, + 'System: Remove Roles': { + 'ipapermright': {'delete'}, + 'replaces': [ + '(target = "ldap:///cn=*,cn=roles,cn=accounts,$SUFFIX")(version 3.0;acl "permission:Remove Roles";allow (delete) groupdn = "ldap:///cn=Remove Roles,cn=permissions,cn=pbac,$SUFFIX";)', + ], + 'default_privileges': {'Delegation Administrator'}, + }, } label = _('Roles') |