Managing WebLogic Security
The embedded LDAP server is the default security provider database for the WebLogic Authentication, Authorization, Credential Mapping and Role Mapping providers.The following sections explain how to manage the embedded LDAP server.
The embedded LDAP server contains user, group, group membership, security role, security policy, and credential map information. By default, each WebLogic Server domain has an embedded LDAP server configured with the default values set for each attribute. The WebLogic Authentication, Authorization, Credential Mapping, and Role Mapping providers use the embedded LDAP server as their database. If you use any of these providers in a new security realm, you may want to change the default values for the embedded LDAP server to optimize its use in your environment.
The credential (usually a password) used to connect to the embedded LDAP server. If this password has not been set, WebLogic Server generates a password at startup, initializes the attribute, and saves the configuration to the
The hour at which to back up the embedded LDAP server data files. This attribute is used in conjunction with the Backup Minute attribute to determine the time at which the embedded LDAP server data files are backed up. At the specified time, WebLogic Server suspends writes to the embedded LDAP server, backs up the data files into a zip file in the
The minute at which to back up the embedded LDAP server data files. This attribute is used in conjunction with the Back Up Hour attribute to determine the time at which the embedded LDAP server data files are backed up. The default is 5 minutes.
Specifies whether or not a cache is used with the embedded LDAP server. This cache is used when a Managed Server is reading or writing to the master embedded LDAP server that is running on the Administration Server.
Specifies whether or not a Managed Server should refresh all replicated data at boot time. This attribute is useful if you have made a large number of changes while the Managed Server was not active and you want to download the entire replica instead of having the Administration Server push each change to the Managed Server.
Specifies that connections to the master LDAP server (running on the Administration Server) should always be made instead of connections to the local replicated embedded LDAP server. This causes the Managed Server to retrieve security data from the embedded LDAP server in the Administration Server instead of going to the local embedded LDAP server that contains a replica of the information in the Administration Server.
When you use the embedded LDAP Server in a WebLogic Server domain, updates are sent to a master LDAP server. The master LDAP server maintains a log of all changes. The master LDAP server also maintains a list replicated servers and the current change status for each one. The master LDAP server sends appropriate changes to each replicated server and updates the change status for each server. This process occurs when an update is made to the Master LDAP server. However, depending on the number of updates, it may take several seconds or more for the change to be replicated to the Managed Server. The master LDAP server is the embedded LDAP server on the Administration Server. The replicated servers are all the Managed Servers in the WebLogic Server domain.
Note: Deleting and modifying the configured security providers using the WebLogic Server Administration Console may require manual clean up of the embedded LDAP server. Use an external LDAP browser to delete unnecessary information.
mydomainis the name of the WebLogic Server domain you are using.
Warning: When you use the Administration Console Migration tab to export security data, the export process deletes any existing files in the target directory with the
.dat extension. Always export security data to an empty directory.
Optionally, an LDAP browser can be used to export and import data stored in the embedded LDAP Server. Table 7-2 summarizes where data is stored in the hierarchy of the embedded LDAP server.
The embedded LDAP server supports the IETF LDAP Access Control Model for LDAPv3. This section describes how those access control is implemented within the embedded LDAP server. These rules can be applied directly to entries within the directory as intended by the standard or can be configured and maintained by editing the access control file (
Note: The default behavior of the embedded LDAP server is to only allow access from the Admin account in WebLogic Server and to block all anonymous access. The WebLogic security providers use only the Admin account to access the embedded LDAP server. If you are not planning to access the embedded LDAP server from an external LDAP browser or if you are planning only to use the Admin account, you do not need to edit the
acls.prop file. You may ignore the procedures in this section.
The access control file (
acls.prop) maintained by the embedded LDAP server contains the complete list of access control lists (ACLs) for an entire LDAP directory. Each line in the access control file contains a single access control rule. An access control rule is made up of the following components:
Listing 7-1 shows a sample access control file.
Each access control rule is applied to a given location in the LDAP directory. The location is normally a distinguished name (DN) but the special location
[root] can be specified in the
acls.prop file if the access control rule applies to the entire directory.
If an entry in the directory is covered by conflicting access control rules (for example, where one rule is an Entry rule and the other is a Subtree rule), the Entry rule takes precedence over rules that apply because of the Subtree rule.
Access rights apply to an entire object or to attributes of the object. Access can be granted or denied. Either of the actions
deny may be used when creating or updating the access control rule.
m permission is required for all attributes placed on an object when it is created. Just as the
o permissions are used in the Modify operation, the
m permission is used in the Add operation. The
o permissions have no bearing on the Add operation and
m has no bearing on the Modify operation. Since a new object does not yet exist, the
m permissions needed to create it must be granted to the parent of the new object. This requirement differs from
o permissions which must be granted on the object being modified. The
m permission is distinct and separate from the
o permissions so that there is no conflict between the permissions needed to add new children to an entry and the permissions needed to modify existing children of the same entry. In order to replace values with the Modify operation, a user must have both the
Add an entry below this LDAP entry. If granted, permits creation of an entry in the DIT subject to control on all attributes and values placed on the new entry at the time of creation. In order to add an entry, permission must also be granted to add at least the mandatory attributes.
If granted, permits an entry and its sub entries (if any) to be exported; that is, removed from the current location and placed in a new location subject to the granting of suitable permission at the destination.
In order to export an entry or its subentries, there are no prerequisite permissions to the contained attributes, including the RDN attribute. This is true even when the operation causes new attribute values to be added or removed as the result of the changes to the RDN.
If granted, permits an entry and its subentries (if any) to be imported; that is, removed from one other location and placed at the specified location (if suitable permissions for the new location are granted).
When importing an entry or its subentries, there are no prerequisite permissions for the contained attributes, including the RDN attributes. This is true even when the operation causes new attribute values to be added or removed as the result of the changes of RDN.
Change the DN of an LDAP entry. Granting the
When renaming an entry, there are no prerequisite permissions to contained attributes, including the RDN attributes. This is true even when the operation causes new attribute values to be added or removed as the result of the changes of RDN.
[entry]indicates the permissions apply to the entire object. This could mean actions such as delete the object, or add a child object.
[all]indicates the permissions apply to all attributes of the entry.
authzID—Applies to a single user that can be specified as part of the subject definition. The identity of that user in the LDAP directory is typically defined as a DN.
Group—Applies to a group of users specified by one of the following object classes:
Subtree—Applies to the DN specified as part of the subject and all subentries in the LDAP directory tree.
IP Address—Applies to a particular Internet address. This subject type is useful when all access must come through a proxy or other server. Applies only to a particular host, not to a range or subnet.
Public—Applies to anyone connected to the directory, whether they are authenticated or not.
This—Applies to the user whose DN matches that of the entry being accessed.
The decision whether to grant or deny a client access to an information in an entry is based on many factors related to the access control rules and the entry being protected. Throughout the decision making process, there are guiding principles.
IP Addresssubject are given the most precedence, followed by rules that are applied to a specific
Thissubject. Next in priority are rules that apply to
Groupsubjects. Last priority is given to rules that apply to