This chapter describes how to manage both static and dynamic groups in Oracle Internet Directory using Oracle Directory Services Manager (ODSM) and LDAP command-line utilities.
This chapter includes the following sections:
Section 14.1, "Introduction to Managing Dynamic and Static Groups"
Section 14.2, "Managing Group Entries by Using Oracle Directory Services Manager"
Section 14.3, "Managing Group Entries by Using the Command Line"
Oracle Internet Directory enables you to assign and manage membership in two types of groups—namely, static groups and dynamic groups. Each type of group suited for a different purpose.
Note:
If you are creating a hierarchy of groups, be sure that it is a true hierarchy as described in Section 14.1.3, "Hierarchies."See Also:
Section 30.1.1.4, "Security Groups" for instructions on setting access control policies for group entries
Section 3.8, "Globalization Support" and Chapter 30, "Managing Directory Access Control" for information about access privileges.
This section contains these topics:
A static group is one whose entry contains a list of members that you explicitly administer.
A static group requires you to explicitly administer its membership. For example, if a member changes his name, then you must change that user's DN for each group he belongs to. For this reason, a static group is best suited for a group whose membership is unlikely to change frequently.
When you create the entry for this kind of group, you associate it with either the groupOfNames
or groupOfUniqueNames
object class.
Each of these object classes has a multivalued attribute for storing the names of group members. To assign a user as a member of a group, you add the DN of each member to the respective multivalued attribute. Conversely, to remove a member from a group, you delete the member's DN from the respective attribute. In the groupOfNames
object class, this multivalued attribute is member
, and, in the groupOfUniqueNames
object class, it is uniqueMember
.
A dynamic group is one whose membership, rather than being maintained in a list, is computed, based on rules and assertions you specify. Oracle Internet Directory supports the following methods for dynamically computing the membership of the group:
Using orclDynamicGroup
object class and labeleduri
attribute
Using orclDynamicGroup
object class and CONNECT_BY
attributes
Using orclDynamicList
object class and labeleduri
attribute (referred as dynamic list)
Dynamic groups can have static and dynamic members. The static members are listed as values of the member
or uniquemember
attribute.
Dynamic groups can be cached or uncached. By cached, we mean that dynamic group members are computed and stored when the dynamic group is added, and that the member list is kept consistent when the dynamic group is later modified. As entries are added, modified, deleted, and renamed, the member lists of all dynamic groups are kept consistent. For example, if there is a dynamic group containing all person
entries under "c=us
", when we add "cn=user1,c=us
", that entry is automatically added to the member list of the dynamic group. Similarly, when we delete "cn=user1,c=us
", the entry is removed from the dynamic group's member list. This feature ensures that whenever a search is performed for a dynamic group, the member list can be fetched from the stored data without any additional computation. The search performance for cached dynamic groups is almost the same as for static groups.
Starting with Oracle Internet Directory 10g (10.1.4.0.1), dynamic groups based on orclDynamicGroup
object class using labeleduri
attribute are cached
Dynamic groups based on orclDynamicGroup
object class using CONNECT_BY
attributes are not cached.
As of Oracle Internet Directory 11g Release 1 (11.1.1.4), a second type of dynamic group based on labeleduri
attribute is available. It is referred to as a dynamic list, and its members are not cached. You determine whether a dynamic group based on the labeleduri
attribute is cached or uncached by selecting the type of auxiliary object class your group is associated with, as described in Section 14.1.2.3, "Schema Elements for Creating a Dynamic Group." If you want a cached group, associate your group with the auxiliary object class orclDynamicGroup
. If you want an uncached group, associate your group with the auxiliary object class or orclDynamicList
object class.
Notes:
You cannot add a dynamic group based on the labeledURI
attribute with scope base
. Only scope sub
and one
are supported.
To refresh dynamic group memberships for dynamic groups using the orclDynamicGroup
object class and labeleduri
attribute, set the attribute orclrefreshdgrmems
in the DSA Configuration entry to 1
. Oracle Internet Directory recomputes the member lists for all dynamic groups and resets the value of orclrefreshdgrmems
to 0
. If there are many groups, this operation can take a long time to complete.
When you query for the groups that a user belongs to, dynamic groups based on the labeledURI
attribute are automatically included in the result. Dynamic groups based on the CONNECT_BY
assertion and dynamic lists must be explicitly queried. For example, assume nc=jdoe,cn=users,o=oracle
is a member of three groups: labeleduri
dynamic group dgrouplab1
, CONNECT BY
dynamic group dgroupcby1
, and dynamic list dlist1
. The search uniquemember=cn=jdoe,cn=users,o=oracle
finds only the cached labeleduri
dynamic group dgrouplab1
.
See Also:
"About LDAP Controls" in Oracle Fusion Middleware Reference for Oracle Identity Management for more information on controls used by Oracle Internet Directory
The C API chapter in Oracle Fusion Middleware Application Developer's Guide for Oracle Identity Management
Performing Hierarchical Searches in Oracle Fusion Middleware Application Developer's Guide for Oracle Identity Management
In Oracle Internet Directory 10g (10.1.4.1) and later releases, you can use dynamic groups in the same ways you use static groups. For example, you can use them in:
Access control lists, by associating the group with either the orclACPgroup
or the orclPrivilegeGroup
object class.
Hierarchical group resolution queries
Dynamic groups have the following limitations in Oracle Internet Directory:
Hierarchical queries and queries involving specific attributes of members can only be done on cached dynamic groups.
Dynamic groups can only be added using ldapadd
or ODSM. They cannot be added by using bulkload
.
The attributes used in the LDAP filter part of the labeleduri
must be indexed. See Section 21.3.7, "Indexing an Attribute by Using ldapmodify," Section 15.7, "Creating and Dropping Indexes from Existing Attributes by Using catalog," and Section 21.1.3.4, "About Indexing Attributes."
You cannot change the objectclass of a dynamic group after the group has been created. You must delete the group and re-create it.
Searches for the uniquemember
attribute will not pick up dynamic lists or CONNECT BY
assertion-based dynamic groups.
When you create a dynamic group, you begin as when creating a static group—that is, you associate its entry with either the groupOfNames
or groupOfUniqueNames
object class. You then associate that object class with the auxiliary object class orclDynamicGroup
or orclDynamicList
.
The auxiliary object class orclDynamicGroup
has various attributes in which you specify one of two methods for dynamically computing the membership of the group: using the labeledURI
attribute and using a CONNECT BY
assertion. The auxiliary object class orclDynamicList
supports only the labeledURI
attribute method of computing membership.
The two methods of computing membership are:
Using the labeledURI
attribute
Both of the auxiliary object classes orclDynamicGroup
and orclDynamicList
have the labeledURI
attribute. If you associate your group with orclDynamicGroup
and use the labeledURI
attribute to compute membership, the group is cached. If you associate your group with orclDynamicList
and use the labeledURI
attribute to compute membership, the group is not cached. This uncached type, using orclDynamicList
objectclass, is referred to as a dynamic list.
When using the labeledURI
method, the directory server performs a typical search based on the hierarchy of the DIT. It requires you to provide a value for one of the attributes of the orclDynamicGroup
or orclDynamicList
object class, namely labeledURI
. In this attribute, you specify the base of the query, the filters, and any required attributes. For example, suppose that you have entered the following value for the labeledURI
attribute:
labeledURI:ldap://host:port/ou=NewUnit,o=MyCompany,c=US??sub?(objectclass=person)
When you use this method, a search for the entry returns entries for all members of the group.
Do not set orclConnectByAttribute
or orclConnectByStartingValue
when using the labeledURI
attribute method.
Note:
In the labeledURI attribute, thehost
:
port
section is present for syntax purposes alone. Irrespective of the host and port settings in the labeledURI attribute, the directory server always computes members of dynamic group from the local directory server. It cannot retrieve members from other directory servers.See Also:
"The LDAP URL Format" (RFC 2255). T. Howes, M. Smith, December 1997. This RFC provides more information about how LDAP URLs are to be represented—as, for example, in thelabeledURI
attribute. It is available at http://www.ietf.org
.Using a CONNECT BY
assertion
Unlike the labeledURI
attribute method, this method relies not on the hierarchy of the DIT, but on attributes that implicitly connect entries to each other, regardless of their location in the DIT. For example, the manager
attribute connects the entries of employees with those of their managers, and this connection applies regardless of the location of the employee entries in the DIT. This method uses a CONNECT BY
clause in which you specify the attribute to use for building the hierarchy—for example, manager
—and the starting value for such a hierarchy—for example, cn=Anne Smith,cn=users,dc=example,dc=com
.
See Also:
Performing Hierarchical Searches in Oracle Fusion Middleware Application Developer's Guide for Oracle Identity ManagementMore specifically, to use this method, you specify in the orclDynamicGroup
object class a value for each of the single-valued attributes in Table 14-1.
Table 14-1 orclDynamicGroup Attributes for "Connect By" Assertions
Attribute | Description |
---|---|
orclConnectByAttribute |
The attribute that you want to use as the filter for the query—for example, |
orclConnectByStartingValue |
The DN of the attribute you specified in the |
For example, to retrieve the entries of all employees who report to Anne Smith in the MyOrganizational Unit in the Americas, you would provide values for these attributes as follows:
orclConnectByAttribute=manager orclConnectByStartingValue= "cn=Anne Smith,ou=MyOrganizationalUnit,o=MyCompany,c=US"
Do not set labeledURI
when using the CONNECT BY
assertion method.
You can also develop an application specifying that you want the values for a particular attribute—for example, the email
attribute—of all the members.
See Also:
Oracle Fusion Middleware Application Developer's Guide for Oracle Identity Management for more information about how to develop applications that retrieve values for particular attributesThe following examples show the two kinds of dynamic group entries.
Example: a Dynamic Group Entry Using the labeledURI Attribute
The following is an example of a dynamic group entry using the labeledURI
attribute.
dn: cn=dgroup1 cn: dgroup1 description: this is an example of a dynamic group labeleduri:ldap://hostname:7777/ou=oid,l=amer,dc=oracle, dc=dgrptest??sub?objectclass=person objectclass: orcldynamicgroup objectclass: groupOfUniqueNames objectclass: top
This group will have uniquemember
values that are the DNs of all entries associated with the object class person
in the subtree ou=oid,l=amer,dc=oracle,dc=dgrptest
.
Example: a Dynamic List Entry Using the labeledURI Attribute
The following is an example of a dynamic list entry using the labeledURI
attribute. (Dynamic lists are not cached.) It is the same as the previous example, except that the auxiliary object class is orclDynamicList
instead of orclDynamicGroup
dn: cn=dgroup1
cn: dgroup1
description: this is an example of a dynamic group
labeleduri:ldap://hostname:7777/ou=oid,l=amer,dc=oracle,
dc=dgrptest??sub?objectclass=person
objectclass: orcldynamiclist
objectclass: groupOfUniqueNames
objectclass: top
This group will have uniquemember
values that are the DNs of all entries associated with the object class person
in the subtree ou=oid,l=amer,dc=oracle,dc=dgrptest
. Searches for the uniquemember
attribute, however, will not pick up dynamic lists
Example: a Dynamic Group Entry Using the CONNECT BY Assertion
The following is an example of a dynamic group entry that uses the CONNECT_BY assertion.
dn: cn=dgroup2 cn: dgroup2 description: this is connect by manager assertion dynamic group orclconnectbyattribute: manager orclconnectbystartingvalue: cn=john doe sr,l=amer,dc=oracle,dc=dgrptest objectclass: orcldynamicgroup objectclass: groupOfUniqueNames objectclass: top
This dynamic group has unique members with values that are DNs of all the entries whose manager
attribute is cn=john doe sr
. either indirectly or directly. If several individuals have cn=john doe JR
. as their manager, and he, in turn, has cn=john doe SR.
as his manager, then all the lower-level individuals are returned.
Hierarchies can be either explicit or implicit.
In explicit hierarchies, the relationship is determined by the location of the entry in the DIT—for example, Group A may reside higher in the DIT than Group B.
In implicit hierarchies, the relationship between entries is determined not by the location in the DIT, but by the values of certain attributes. For example, suppose that you have a DIT in which the entry for John Doe is at the same level of the hierarchy as Anne Smith. However, suppose that, in the entry for John Doe, the manager
attribute specifies Anne Smith as his manager. In this case, although their locations in the DIT are at an equal level, their rankings in the hierarchy are unequal because Anne Smith is specified as John Doe's manager.
Note:
In a query based on an implicit hierarchy, the client can specify in the search request the control 2.16.840.1.113894.1.8.3. The filter in this query specifies the attribute used to build the implicit hierarchy. For example,(manager=cn=john doe, o=foo)
specifies the query for all people reporting directly or indirectly to John Doe. The implicit hierarchy is based on the manager
attribute. The base of the search is ignored for such queries.
For more information on controls used by Oracle Internet Directory, see "About LDAP Controls" in Oracle Fusion Middleware Reference for Oracle Identity Management.
See Also:
The C API chapter in Oracle Fusion Middleware Application Developer's Guide for Oracle Identity ManagementAn application can query either kind of group to do the following:
List all members of a group
List all groups of which a user is a member
Check to see if a user is a member of a particular group
In addition, you can query dynamic groups, but not static ones, for whatever member attributes you specify.
See Also:
The GSL_REQDATTR_CONTROL entry under "LDAP Controls" in Oracle Fusion Middleware Reference for Oracle Identity Management.orclMemberOf
is a multivalued attribute containing the groups to which the entry belongs. The groups in orclMemberOf
include static groups and labeleduri
-based dynamic groups. CONNECT BY
assertion-based dynamic groups and dynamic lists are not included. The membership includes both direct groups and nested groups.
For example, suppose Mary is a member of the static group directors
and the group directors
is a member of the static group managers
. If you do a specific query for the attribute orclMemberOf
on Mary's DN, the values will contain both managers
and directors
.
The attribute values are computed during search and are not stored. orclMemberOf
is not returned in a search unless explicitly requested by name.
As of Oracle Internet Directory 11g Release 1 (11.1.1.7.0), orclMemberOf
can be used in search filters. Using orclmemberof
is very useful with complex filters. Previously, the best way to find users belonging to multiple groups was to perform multiple search queries to fetch the data and then use client side application logic to compute the results. Now that orclmemberof
can be used in search filters, you can do this with a single search query. Some of the examples include such queries.
orclMemberOf
has the aliases memberof
and ismemberof
for compatibility with Active Directory and Oracle Directory Server Enterprise Edition (formerly Sun Java System Directory Server and SunONE iPlanet). These aliases can be used interchangeably and all of the search queries can be also be done using these two aliases instead of orclmemberof
.
Note:
The attributeorclMemberOf
is a virtual attribute, so it cannot be used for the following purposes:
In the LDAP filter part of the labeleduri
attribute for creating dynamic groups or dynamic lists.
In a filter to be processed in memory using orclinmemfiltprocess
. For information about orclinmemfiltprocess
, see the Oracle Internet Directory chapter in Oracle Fusion Middleware Performance and Tuning Guide.
Search single user:
ldapsearch -h host -p 3060 -D binddn -q -b "cn=jdoe,cn=users,o=oracle" -s base "(objectclass=*)" orclmemberof
Search with memberof
alias:
ldapsearch -h host -p 3060 -D binddn -q -b "cn=jdoe,cn=users,o=oracle" -s base "(objectclass=*)" memberof
Get all attributes and orclmemberof
:
ldapsearch -h host -p 3060 -D binddn -q -b "cn=jdoe,cn=users,o=oracle" -s base "(objectclass=*)" orclmemberof *
Search multiple users:
ldapsearch -h host -p 3060 -D binddn -q -b "cn=users,o=oracle" -s sub "(objectclass=person)" orclmemberof
Use in search filters:
To determine whether user John Doe is member of the HR employees group, perform a base search against that user with a filter that checks if orclmemberof
has the HR
employees group.
ldapsearch -h localhost -p 3060 -D binddn -q -b "cn=johndoe,cn=users,o=oracle" -s base "(orclmemberof=cn=hr,cn=groups,o=oracle)" dn
To find all the users who are member of the HR
employees group, perform a subtree search against user
container for all entries with orclmemberof
containing the HR
employees group.
ldapsearch -h localhost -p 3060 -D binddn -q -b "cn=users,o=oracle" -s sub "(orclmemberof=cn=hr,cn=groups,o=oracle)" dn
To find the users who are member of multiple groups, use a filter that combines multiple orclmemberof
conditions with AND
. This provides the intersection of the two group memberships. The following search finds users who are members of both HR
employees and Managers
group.
ldapsearch -h localhost -p 3060 -D binddn -q -b "cn=users,o=oracle" -s sub "(&(orclmemberof=cn=hr,cn=groups,o=oracle)(orclmemberof=cn=managers,cn=groups,o=oracle))" dn
To find the users who are member of either HR
employees or Managers
group, use a filter that combines multiple orclmemberof
conditions with OR
. This provides the union of the two group memberships. You can use this method for three or more groups as well.
ldapsearch -h localhost -p 3060 -D binddn -q -b "cn=users,o=oracle" -s sub "(|(orclmemberof=cn=hr,cn=groups,o=oracle)(orclmemberof=cn=managers,cn=groups,o=oracle))" dn
To determine all employees who belong to HR
group, have the location California, and have the title HR Administrator
, use the following query:
ldapsearch -h localhost -p 3060 -D binddn -q -b "cn=users,o=oracle" -s sub "(&(orclmemberof=cn=hr,cn=groups,o=oracle)(l=ca)(title=HR Administrator))" dn
The following example uses the memberof
alias in a search filter instead of orclmemberof
:
ldapsearch -h localhost -p 3060 -D binddn -q -b "cn=users,o=oracle" -s sub "(memberof=cn=hr,cn=groups,o=oracle)" dn
See Also:
Chapter 18, "Managing Alias Entries."When deliberating about which kind of group to use, you must weigh the ease of administration against higher performance. For example, dynamic groups provide for easier administration, but cause a decrease in performance. Table 14-2 lists some things to consider when deliberating whether to use static or dynamic groups.
Table 14-2 Static and Dynamic Group Considerations
Consideration | Static Groups | Dynamic Groups |
---|---|---|
Ease of administration |
More difficult to administer if group memberships are large and change frequently |
Easier to use, especially when group memberships are large and change frequently |
Search Performance |
Higher level of performance because you explicitly administer the membership list |
Slightly decreased level of performance with dynamic groups using |
You can manage static and dynamic group entries by using the Data Browser page in Oracle Directory Services Manager. You can display group entries, search for groups, and view groups using the procedures described in Section 13.2, "Managing Entries by Using Oracle Directory Services Manager." The procedures for creating and modifying groups are described in this section. This section contains the following topics:
Section 14.2.1, "Creating Static Group Entries by Using Oracle Directory Services Manager"
Section 14.2.2, "Modifying a Static Group Entry by Using Oracle Directory Services Manager"
Section 14.2.3, "Creating Dynamic Group Entries by Using Oracle Directory Services Manager"
Section 14.2.4, "Modifying a Dynamic Group Entry by Using Oracle Directory Services Manager"
If the static group entry belongs to the groupOfNames
object class, then you determine membership in the group by adding DNs to the multivalued attribute member
. If the entry belongs to the groupOfUniqueNames
object class, then you determine membership in the group by adding DNs to the multivalued attribute uniqueMember
.
To add a static group entry:
Invoke Oracle Directory Services Manager and connect to the Oracle Internet Directory server as described in Section 7.4.5, "Invoking Oracle Directory Services Manager."
From the task selection bar, select Data Browser.
On the toolbar, choose the Create a new entry icon. Alternatively, right click any entry and choose Create.
You can, alternatively, select a group that is similar to the one you want to create, then choose the Create a new entry like this one icon. Alternatively, right click any entry and choose Create.
The Create New Entry wizard appears.
Specify the object classes for the new entry. Click the Add icon and use the Add Object Class dialog to select either groupOfNames
or groupOfUniqueNames
. (All the superclasses from this object class through top
are also added.)
Click OK.
In the Parent of the entry field, you can specify the full DN of the parent entry of the entry you are creating. You can also click Browse to locate and select the DN of the parent for the entry you want to add, then click Select.
If you leave the Parent of the entry field blank, the entry is created under the root entry.
Click Next.
Choose an attribute which will be the Relative Distinguished Name value for this entry and enter a value for that attribute. You must enter a value for the cn
attribute, even if it is not the RDN value.
Click Next. The next page of the wizard appears. (Alternatively, you can click Back to return to the previous page.)
Click Finish.
To add an owner or member, navigate to the group entry you just created in the Data Tree.
Select the Group tab.
To add an owner to the group, click the Add icon next to the Owner box.
Enter the owner's DN or click the button to select the entry you want to add as owner (usually a user or group entry) in the Select Distinguished Name Path dialog.
Click OK.
To add a member to the group, click the Add icon next to the Members text box
Enter the member's DN or click the button to select the entry you want to add as a member (usually a user or group entry) in the Select Distinguished Name Path dialog.
Click OK.
Optionally, enter a description for the entry.
Choose Apply to apply your changes or choose Revert to abandon your changes.
To make other changes to the group entry, see Section 14.2.2, "Modifying a Static Group Entry by Using Oracle Directory Services Manager."
To modify an attribute, such as the member list, for a group entry:
Select the group in the data tree.
To add or delete an owner or member, select the Group tab or the Attributes tab.
To add a member to the group, click the Add icon next to the Members text box.
Select the entry you want to add as a member (usually a user or group entry) in the Select Distinguished Name Path dialog.
Click OK.
To add an owner to the group, click the Add icon next to the Owners text box.
Select the entry you want to add as an owner (usually a user or group entry) in the Select Distinguished Name Path dialog
Click OK.
To delete an owner or member, select it in the list and click the Delete icon.
To add or modify an attribute other than an owner or member, select the Attributes tab.
By default, only non-empty attributes are shown. You can switch between Managed Attributes and Show All by using the Views list.
To change the list of attributes shown as managed attributes, click the icon under Optional Attributes. Select attributes you want to move from the All Attributes list to the Shown Attributes lists and use the Move and Move All arrows to move the attributes. Select attributes you want to move from the shown Attributes list to the All Attributes lists and use the Remove and Remove All arrows to move the attributes. Click Add Attributes to make your changes take effect or click Cancel to discard your changes. After you click Add Attributes, only the attributes that were on the Shown Attributes list are shown in the Managed Attributes view.
Specify values for the optional properties. You can also modify the values of the mandatory properties. For multivalued attributes, you can use the Add and Delete icons to add and delete multiple values.
Click Apply to save your changes or Revert to discard them.
You can set an access control point (ACP) on this entry by using the Subtree Access and Local Access tabs. The procedures are described in Section 30.2.4, "Adding or Modifying an ACP by Using the Data Browser in ODSM" and Section 30.2.5, "Setting or Modifying Entry-Level Access by Using the Data Browser in ODSM."
Dynamic groups can have static and dynamic members. The static members are listed as values of the member
or uniquemember
attribute. If the dynamic group entry belongs to the groupOfNames
object class, then add static members to the group by adding DNs to the multivalued attribute member
. If the dynamic group entry belongs to the groupOfUniqueNames
object class, then add static members to the group by adding DNs to the multivalued attribute uniqueMember
.
For dynamic groups, you must also set attributes to specify how the group membership is computed. You must choose either the labeledURI
or the CONNECT BY
method for dynamically computing membership in the group. You cannot use both methods. If you are using the labeledURI
method, you must set the labeledURI
attribute, but not the orclConnectByAttribute
and orclConnectByStartingValue
attributes. If you are using the CONNECT BY
method, you must set the orclConnectByAttribute
and orclConnectByStartingValue
attributes, but not the labeledURI
attribute.
To add a dynamic group entry:
Invoke Oracle Directory Services Manager and connect to the Oracle Internet Directory server as described in Section 7.4.5, "Invoking Oracle Directory Services Manager."
From the task selection bar, select Data Browser.
On the toolbar, choose Create a new entry. The Create New Entry wizard appears.
Specify the object classes for the new entry. Select at least the following object class entries.
Either groupOfNames
or groupOfUniqueNames
orclDynamicGroup
or orclDynamicList
Use orclDynamicGroup
for a cached dynamic group based on labeledURI
or a dynamic group based on CONNECT BY
. Use orclDynamicList
for an uncached dynamic list based on labeledURI
.
Click the Add icon and use the Add Object Class dialog to select object class entries. Optionally, use the search box to filter the list of object classes. To add the object class, select it and then click OK. (All the superclasses from this object class through top
are also added.)
In the Parent of the entry field, you can specify the full DN of the parent entry of the entry you are creating. You can also click Browse to locate the DN of the parent for the entry you want to add, then click Select.
If you leave the Parent of the entry field blank, the entry is created under the root entry.
Click Next.
Choose an attribute which will be the Relative Distinguished Name value for this entry and enter a value for that attribute. You must enter a value for the cn
attribute, even if it is not the RDN value.
Click Next. The next page of the wizard appears. (Alternatively, you can click Back to return to the previous page.)
Click Finish.
To add an owner or member, navigate to the group entry you just created in the Data Tree. (You might have to click the Refresh icon to see the new entry).
Select the Group tab.
To add an owner to the group, click the Add icon next to the Owner box.
Select the entry you want to add as owner (usually a user or group entry) in the Select Distinguished Name Path dialog.
Click OK.
To add a member to the group, click the Add icon next to the Members text box
Select the entry you want to add as a member (usually a user or group entry) in the Select Distinguished Name Path dialog.
Click OK.
Optionally, enter a description for the entry.
Choose Apply to apply your changes or choose Revert to abandon your changes.
Select the Attributes tab.
You can switch between Managed Attributes and Show All by using the Views list.
To change the list of attributes shown as managed attributes, click the icon under Optional Attributes. Select attributes you want to move from the All Attributes list to the Shown Attributes lists and use the Move and Move All arrows to move the attributes. Select attributes you want to move from the shown Attributes list to the All Attributes lists and use the Remove and Remove All arrows to move the attributes. Click Add Attributes to make your changes take effect or click Cancel to discard your changes. After you click Add Attributes, only the attributes that were on the Shown Attributes list are shown in the Managed Attributes view.
If you are using the labeledURI
method for dynamically computing membership in the group, you must set the labeledURI
attribute, but not the orclConnectByAttribute
and orclConnectByStartingValue
attributes. In the Attributes tab page, in the labeledURI
field, specify the following:
ldap:ldap_URL
For example:
ldap://my_host:3000/ou=MyNeworganizationalUnit, o=MyCompany,c=US??sub?(objectclass=person)
If you are using the CONNECT BY
method for dynamically computing membership in the group, you must set the orclConnectByAttribute
and orclConnectByStartingValue
attributes, but not the labeledURI
attribute. In the orclConnectByAttribute
field, specify the attribute that you want to use as the filter for the query—for example, manager
. In the orclConnectByStartingValue
field, specify the DN of the attribute you specified in the orclConnectByAttribute
attribute—for example, cn=Anne Smith
.
For information about specifying the other attributes that appear in the Attributes tab page, see "User and Group Schema Elements" in Oracle Fusion Middleware Reference for Oracle Identity Management.
Click Apply to save your changes or Revert to discard them.
You can set an access control point (ACP) on this entry by using the Subtree Access and Local Access tabs. The procedures are described in Section 30.2.4, "Adding or Modifying an ACP by Using the Data Browser in ODSM" and Section 30.2.5, "Setting or Modifying Entry-Level Access by Using the Data Browser in ODSM."
Remember that you must choose either the labeledURI
or the CONNECT BY
method for dynamically computing membership in the group. You cannot use both methods. If you are using the labeledURI
method, you must set the labeledURI
attribute, but not the orclConnectByAttribute
and orclConnectByStartingValue
attributes. If you are using the CONNECT BY
method, you must set the orclConnectByAttribute
and orclConnectByStartingValue
attributes, but not the labeledURI
attribute.
To modify an attribute for a dynamic group entry, proceed as for a static group entry, as described in Section 14.2.2, "Modifying a Static Group Entry by Using Oracle Directory Services Manager." You can add static members to a dynamic group, but you are not required to do so.
You can manage static and dynamic groups from the command line by using LDAP tools. This section contains the following topics:
Section 14.3.1, "Creating a Static Group Entry by Using ldapadd"
Section 14.3.2, "Modifying a Static Group by Using ldapmodify"
Section 14.3.3, "Creating a Dynamic Group Entry by Using ldapadd"
Section 14.3.4, "Modifying a Dynamic Group by Using ldapmodify"
Notes:
When you create a group, specifying members is optional and is shown here for the sake of completeness.
It is uncommon to have dynamic groups with static membership.
The syntax for the LDIF file is:
dn: DN_of_group_entry objectclass: top objectclass: groupOfNames | groupOfUniqueNames member: DN of member 1 member: DN of member 2 . . . member: DN of member N
The following command adds the group and members in this LDIF file to the directory:
ldapadd -p port_number -h host -D cn=orcladmin -q -f file_name.ldif
Example: Creating a Static Group Entry by Using ldapadd The following example shows an LDIF file named myStaticGroup.ldif
for the entry for a group named MyStaticGroup:
dn: cn=myStaticGroup,c=us objectclass: top objectclass: groupOfNames member: cn=John Doe member: cn=Anne Smith
The following command adds the group and members in this LDIF file to the directory:
ldapadd -p 3060 -h myhost -D cn=orcladmin -q -f myStaticGroup.ldif
To add a member to a group, the syntax of the LDIF file is:
dn: DN_of_group_entry changetype: modify add: member member: DN of member entry
To delete a member from a group, the syntax of the LDIF file is:
dn: DN of group entry changetype: modify delete:member member:DN of member entry
Issue this command to modify the file:
ldapmodify -D "cn=orcladmin" -q -p 3060 -v -f file_name.ldif
where -v specifies verbose mode.
Example: Modifying a Static Group by Using ldapmodify The following example adds John Doe to a group named MyStaticGroup. As in the previous example, the data for this user entry is in the myStaticGroup.ldif
file. This file contains the following:
dn: cn=myStaticGroup,c=us changetype: modify add:member member: cn=John Doe
Issue this command to modify the file:
ldapmodify -D "cn=orcladmin" -q -p 3060 -v -f myStaticGroup.ldif
where -v specifies verbose mode.
Note:
When you add or modify an entry, the Oracle directory server does not verify the existence of the entry. However, if the attribute value must contain a DN, then the directory server verifies that the DN is specified.You can use ldapadd
to create a dynamic group from the command line.
If you use the labeledURI
attribute to create a cached dynamic group, then the syntax for the LDIF file is:
dn: DN_of_group_entry objectclass: top objectclass: groupOfNames | groupOfUniqueNames objectclass: orcldynamicgroup labeledURI:ldap:ldap_URL member: DN of member 1 member: DN of member 2 . . . member: DN of member N
Use the following command to add the group and members in this LDIF file to the directory:
ldapadd -p port_number -h host -f file_name.ldif
If you use the labeledURI
attribute to create an uncached dynamic list, then the syntax for the LDIF file is:
dn: DN_of_group_entry objectclass: top objectclass: groupOfNames | groupOfUniqueNames objectclass: orcldynamiclist labeledURI:ldap:ldap_URL member: DN of member 1 member: DN of member 2 . . . member: DN of member N
Use the same command as in the previous example to add the group and members in this LDIF file to the directory:
ldapadd -p port_number -h host -f file_name.ldif
If you use the CONNECT BY
string, then the syntax for the LDIF file is:
dn: DN_of_group_entry objectclass: top objectclass: groupOfNames | groupOfUniqueNames objectclass: orclDynamicGroup orclConnectByAttribute:attribute_name orclConnectByStartingValue:DN_of_attribute member: DN of member 1 member: DN of member 2 . . . member: DN of member N
When specifying entries in this syntax, do not use double quotes around distinguished names.
The following example shows an LDIF file for the entry for a dynamic group:
dn: cn=myDynamicGroup,c=us objectclass: top objectclass: groupOfNames objectclass: orcldynamicgroup labeledURI:ldap://my_host:3000/ou=MyNeworganizationalUnit, o=MyCompany,c=US??sub?(objectclass=person) member: cn=John Doe member: cn=Anne Smith
The following command adds this LDIF file to the directory:
ldapadd -p 3060 -h myhost -f myDynamicGroup.ldif
To change the organizational unit of the group created in the previous example, the syntax of the LDIF file is:
dn: DN_of_group_entry
changetype: modify
replace:labeledURI
labeledURI:ldap://my_host:3000/
ou=MyNeworganizationalUnit,o=MyCompany,c=US??sub?(objectclass=person)
Note:
When you add or modify an entry, the Oracle directory server does not verify the syntax of the attribute values in the entry.