Bug 1044169

Summary: [RFE] ACIs do not allow attribute subtypes in targetattr keyword
Product: Red Hat Enterprise Linux 7 Reporter: Nathan Kinder <nkinder>
Component: 389-ds-baseAssignee: Rich Megginson <rmeggins>
Status: CLOSED ERRATA QA Contact: Viktor Ashirov <vashirov>
Severity: unspecified Docs Contact:
Priority: high    
Version: 7.0CC: amsharma, nhosoi, spichugi
Target Milestone: rcKeywords: FutureFeature
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: 389-ds-base-1.3.3.1-1.el7 Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-03-05 09:32:06 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Nathan Kinder 2013-12-17 21:38:34 UTC
This bug is created as a clone of upstream ticket:
https://fedorahosted.org/389/ticket/47569

The attribute defined in the targetattr keyword of an ACI is checked against the schema to make sure it is a defined attribute when you are adding a new ACI.  If you want to use an attribute subtype, the ACI is rejected since the attribute with subtype is not defined in the schema.  We should strip off the subtype when we validate the targetattr keyword against the schema.

Here is an example ACI that is currently being rejected, but should be allowed:

{{{
(targetattr=protectedOperation;getKeytab)
(version 3.0;
 acl "allowed retrieval of keytabs";
 allow (read)
 userattr = "allowedToPerform;getKeytab#GROUPDN";)
}}}

This example assumes that the "protectedOperation" attribute is defined in the schema.

This issue is related to FreeIPA ticket #3859.

Comment 2 Amita Sharma 2014-11-24 13:45:48 UTC
1. Defined attributes in schema

ldapmodify -h localhost -p 389 -D "cn=Directory Manager" -w Secret123 << EOF
dn: cn=schema
changetype: modify
add: attributeTypes
attributeTypes: ( NAME 'protectedOperation' DESC 'Attribute protectedOperation filteri-Multi-Valued' SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 )

ldapmodify -h localhost -p 389 -D "cn=Directory Manager" -w Secret123 << EOF
dn: cn=schema
changetype: modify
add: attributeTypes
attributeTypes: ( NAME 'allowedToPerform' DESC 'Attribute allowedToPerform filteri-Multi-Valued' SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 )

2. Added ACI with attribute subtypes
[root@dhcp201-126 ~]# ldapmodify -h localhost -p 389 -D "cn=Directory Manager" -w Secret123 << EOF
> dn: dc=example,dc=com
> changetype: modify
> replace: aci
> aci: (targetattr=protectedOperation;getKeytab)(version 3.0; acl "allowed retrieval of keytabs"; allow (read) userattr = "allowedToPerform;getKeytab#GROUPDN";)
> EOF
modifying entry "dc=example,dc=com"

HENCE marking as VERIFIED.

Comment 4 errata-xmlrpc 2015-03-05 09:32:06 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHSA-2015-0416.html