dsconfig create-password-policy — Creates Authentication Policies
dsconfig create-password-policy
{options}
The dsconfig create-password-policy command takes the following options:
--policy-name {name}
The name of the new Authentication Policy.
Authentication Policy properties depend on the Authentication Policy type, which depends on the {name} you provide.
By default, OpenDJ directory server supports the following Authentication Policy types:
Default {name}: LDAP Pass Through Authentication Policy
Enabled by default: false
See the section called “LDAP Pass Through Authentication Policy” for the properties of this Authentication Policy type.
Default {name}: Password Policy
Enabled by default: false
See the section called “Password Policy” for the properties of this Authentication Policy type.
--set {PROP:VALUE}
Assigns a value to a property where PROP is the name of the property and VALUE is the single value to be assigned. Specify the same property multiple times in order to assign more than one value to it.
Authentication Policy properties depend on the Authentication Policy type, which depends on the --policy-name {name}
option.
-t | --type {type}
The type of Authentication Policy which should be created. The value for TYPE can be one of: ldap-pass-through | password-policy.
Authentication Policy properties depend on the Authentication Policy type, which depends on the {type} you provide.
By default, OpenDJ directory server supports the following Authentication Policy types:
Default {type}: LDAP Pass Through Authentication Policy
Enabled by default: false
See the section called “LDAP Pass Through Authentication Policy” for the properties of this Authentication Policy type.
Default {type}: Password Policy
Enabled by default: false
See the section called “Password Policy” for the properties of this Authentication Policy type.
Authentication Policies of type ldap-pass-through-authentication-policy have the following properties:
Specifies the name of a password storage scheme which should be used for encoding cached passwords. Changing the password storage scheme will cause all existing cached passwords to be discarded.
None
The DN of any Password Storage Scheme. The referenced password storage schemes must be enabled.
No
No
None
No
No
Specifies the maximum length of time that a locally cached password may be used for authentication before it is refreshed from the remote LDAP service. This property represents a cache timeout. Increasing the timeout period decreases the frequency that bind operations are delegated to the remote LDAP service, but increases the risk of users authenticating using stale passwords. Note that authentication attempts which fail because the provided password does not match the locally cached password will always be retried against the remote LDAP service.
8 hours
Some property values take a time duration.
Durations are expressed as numbers followed by units.
For example 1 s
means one second,
and 2 w
means two weeks.
Some durations have minimum granularity or maximum units,
so you cannot necessary specify every duration
in milliseconds or weeks for example.
Some durations allow you to use a special value to mean unlimited.
Units are specified as follows.
ms
: milliseconds
s
: seconds
m
: minutes
h
: hours
d
: days
w
: weeks
Lower limit is 0 seconds.
No
No
None
No
No
Specifies the timeout used when connecting to remote LDAP directory servers, performing SSL negotiation, and for individual search and bind requests. If the timeout expires then the current operation will be aborted and retried against another LDAP server if one is available.
3 seconds
Some property values take a time duration.
Durations are expressed as numbers followed by units.
For example 1 s
means one second,
and 2 w
means two weeks.
Some durations have minimum granularity or maximum units,
so you cannot necessary specify every duration
in milliseconds or weeks for example.
Some durations allow you to use a special value to mean unlimited.
Units are specified as follows.
ms
: milliseconds
s
: seconds
m
: minutes
h
: hours
d
: days
w
: weeks
Lower limit is 0 milliseconds.
No
No
None
No
No
Specifies the fully-qualified name of the Java class which provides the LDAP Pass Through Authentication Policy implementation.
org.opends.server.extensions.LDAPPassThroughAuthenticationPolicyFactory
A Java class that implements or extends the class(es): org.opends.server.api.AuthenticationPolicyFactory
No
Yes
The Authentication Policy must be disabled and re-enabled for changes to this setting to take effect
Yes (Use --advanced in interactive mode.)
No
Specifies one or more attributes in the user's entry whose value(s) will determine the bind DN used when authenticating to the remote LDAP directory service. This property is mandatory when using the "mapped-bind" or "mapped-search" mapping policies. At least one value must be provided. All values must refer to the name or OID of an attribute type defined in the directory server schema. At least one of the named attributes must exist in a user's local entry in order for authentication to proceed. When multiple attributes or values are found in the user's entry then the behavior is determined by the mapping policy.
None
The name of an attribute type defined in the server schema.
Yes
No
None
No
No
Specifies the set of base DNs below which to search for users in the remote LDAP directory service. This property is mandatory when using the "mapped-search" mapping policy. If multiple values are given, searches are performed below all specified base DNs.
None
A valid DN.
Yes
No
None
No
No
Specifies the bind DN which should be used to perform user searches in the remote LDAP directory service.
Searches will be performed anonymously.
A valid DN.
No
No
None
No
No
Specifies the bind password which should be used to perform user searches in the remote LDAP directory service.
None
A String
No
No
None
No
No
Specifies the name of an environment variable containing the bind password which should be used to perform user searches in the remote LDAP directory service.
None
A String
No
No
None
No
No
Specifies the name of a file containing the bind password which should be used to perform user searches in the remote LDAP directory service.
None
A String
No
No
None
No
No
Specifies the name of a Java property containing the bind password which should be used to perform user searches in the remote LDAP directory service.
None
A String
No
No
None
No
No
If defined, overrides the filter used when searching for the user, substituting %s with the value of the local entry's "mapped-attribute". The filter-template may include ZERO or ONE %s substitutions. If multiple mapped-attributes are configured, multiple renditions of this template will be aggregated into one larger filter using an OR (|) operator. An example use-case for this property would be to use a different attribute type on the mapped search. For example, mapped-attribute could be set to "uid" and filter-template to "(samAccountName=%s)". You can also use the filter to restrict search results. For example: "(&(uid=%s)(objectclass=student))"
None
A String
No
No
None
No
No
Specifies the mapping algorithm for obtaining the bind DN from the user's entry.
unmapped
Bind to the remote LDAP directory service using a DN obtained from an attribute in the user's entry. This policy will check each attribute named in the "mapped-attribute" property. If more than one attribute or value is present then the first one will be used.
Bind to the remote LDAP directory service using the DN of an entry obtained using a search against the remote LDAP directory service. The search filter will comprise of an equality matching filter whose attribute type is the "mapped-attribute" property, and whose assertion value is the attribute value obtained from the user's entry. If more than one attribute or value is present then the filter will be composed of multiple equality filters combined using a logical OR (union).
Bind to the remote LDAP directory service using the DN of the user's entry in this directory server.
No
Yes
None
No
No
Specifies the primary list of remote LDAP servers which should be used for pass through authentication. If more than one LDAP server is specified then operations may be distributed across them. If all of the primary LDAP servers are unavailable then operations will fail-over to the set of secondary LDAP servers, if defined.
None
A host name followed by a ":" and a port number.
Yes
Yes
None
No
No
Specifies the secondary list of remote LDAP servers which should be used for pass through authentication in the event that the primary LDAP servers are unavailable. If more than one LDAP server is specified then operations may be distributed across them. Operations will be rerouted to the primary LDAP servers as soon as they are determined to be available.
No secondary LDAP servers.
A host name followed by a ":" and a port number.
Yes
No
None
No
No
If specified, the server will bind to the address before connecting to the remote server. The address must be one assigned to an existing network interface.
Let the server decide.
An IP address
No
No
None
No
No
Specifies the names of the SSL cipher suites that are allowed for use in SSL based LDAP connections.
Uses the default set of SSL cipher suites provided by the server's JVM.
A String
Yes
No
None
Changes to this property take effect immediately but will only impact new SSL LDAP connections created after the change.
Yes (Use --advanced in interactive mode.)
No
Specifies the names of the SSL protocols which are allowed for use in SSL based LDAP connections.
Uses the default set of SSL protocols provided by the server's JVM.
A String
Yes
No
None
Changes to this property take effect immediately but will only impact new SSL LDAP connections created after the change.
Yes (Use --advanced in interactive mode.)
No
Specifies the name of the trust manager that should be used when negotiating SSL connections with remote LDAP directory servers.
By default, no trust manager is specified indicating that only certificates signed by the authorities associated with this JVM will be accepted.
The DN of any Trust Manager Provider. The referenced trust manager provider must be enabled when SSL is enabled.
No
No
None
Changes to this property take effect immediately, but only impact subsequent SSL connection negotiations.
No
No
Indicates whether passwords should be cached locally within the user's entry.
false
true
false
No
Yes
None
No
No
Indicates whether the LDAP Pass Through Authentication Policy should use SSL. If enabled, the LDAP Pass Through Authentication Policy will use SSL to encrypt communication with the clients.
false
true
false
No
No
The Authentication Policy must be disabled and re-enabled for changes to this setting to take effect
No
No
Indicates whether LDAP connections should use TCP keep-alive. If enabled, the SO_KEEPALIVE socket option is used to indicate that TCP keepalive messages should periodically be sent to the client to verify that the associated connection is still valid. This may also help prevent cases in which intermediate network hardware could silently drop an otherwise idle client connection, provided that the keepalive interval configured in the underlying operating system is smaller than the timeout enforced by the network hardware.
true
true
false
No
No
None
Yes (Use --advanced in interactive mode.)
No
Indicates whether LDAP connections should use TCP no-delay. If enabled, the TCP_NODELAY socket option is used to ensure that response messages to the client are sent immediately rather than potentially waiting to determine whether additional response messages can be sent in the same packet. In most cases, using the TCP_NODELAY socket option provides better performance and lower response times, but disabling it may help for some cases in which the server sends a large number of entries to a client in response to a search request.
true
true
false
No
No
None
Yes (Use --advanced in interactive mode.)
No
Authentication Policies of type password-policy have the following properties:
Specifies the names of the account status notification handlers that are used with the associated password storage scheme.
None
The DN of any Account Status Notification Handler. The referenced account status notification handlers must be enabled.
Yes
No
None
No
No
Indicates whether a user whose password is expired is still allowed to change that password using the password modify extended operation.
false
true
false
No
No
None
No
No
Indicates whether user entries can have multiple distinct values for the password attribute. This is potentially dangerous because many mechanisms used to change the password do not work well with such a configuration. If multiple password values are allowed, then any of them can be used to authenticate, and they are all subject to the same policy constraints.
false
true
false
No
No
None
Yes (Use --advanced in interactive mode.)
No
Indicates whether users can change their passwords by providing a pre-encoded value. This can cause a security risk because the clear-text version of the password is not known and therefore validation checks cannot be applied to it.
false
true
false
No
No
None
Yes (Use --advanced in interactive mode.)
No
Indicates whether users can change their own passwords. This check is made in addition to access control evaluation. Both must allow the password change for it to occur.
true
true
false
No
No
None
No
No
Specifies the names of the password storage schemes that are used to encode clear-text passwords for this password policy.
None
The DN of any Password Storage Scheme. The referenced password storage schemes must be enabled.
Yes
Yes
None
No
No
Specifies the names of the password storage schemes that are considered deprecated for this password policy. If a user with this password policy authenticates to the server and his/her password is encoded with a deprecated scheme, those values are removed and replaced with values encoded using the default password storage scheme(s).
None
The DN of any Password Storage Scheme. The referenced password storage schemes must be enabled.
Yes
No
None
No
No
Indicates whether the directory server allows a user's password to expire even if that user has never seen an expiration warning notification. If this property is true, accounts always expire when the expiration time arrives. If this property is false or disabled, the user always receives at least one warning notification, and the password expiration is set to the warning time plus the warning interval.
false
true
false
No
No
None
No
No
Indicates whether users are forced to change their passwords upon first authenticating to the directory server after their account has been created.
false
true
false
No
No
None
No
No
Indicates whether users are forced to change their passwords if they are reset by an administrator. For this purpose, anyone with permission to change a given user's password other than that user is considered an administrator.
false
true
false
No
No
None
No
No
Specifies the number of grace logins that a user is allowed after the account has expired to allow that user to choose a new password. A value of 0 indicates that no grace logins are allowed.
0
An integer value. Lower value is 0. Upper value is 2147483647.
No
No
None
No
No
Specifies the maximum length of time that an account may remain idle (that is, the associated user does not authenticate to the server) before that user is locked out. The value of this attribute is an integer followed by a unit of seconds, minutes, hours, days, or weeks. A value of 0 seconds indicates that idle accounts are not automatically locked out. This feature is available only if the last login time is maintained.
0 seconds
Some property values take a time duration.
Durations are expressed as numbers followed by units.
For example 1 s
means one second,
and 2 w
means two weeks.
Some durations have minimum granularity or maximum units,
so you cannot necessary specify every duration
in milliseconds or weeks for example.
Some durations allow you to use a special value to mean unlimited.
Units are specified as follows.
ms
: milliseconds
s
: seconds
m
: minutes
h
: hours
d
: days
w
: weeks
Lower limit is 0 seconds.Upper limit is 2147483647 seconds.
No
No
None
No
No
Specifies the fully-qualified name of the Java class which provides the Password Policy implementation.
org.opends.server.core.PasswordPolicyFactory
A Java class that implements or extends the class(es): org.opends.server.api.AuthenticationPolicyFactory
No
Yes
The Authentication Policy must be disabled and re-enabled for changes to this setting to take effect
Yes (Use --advanced in interactive mode.)
No
Specifies the name or OID of the attribute type that is used to hold the last login time for users with the associated password policy. This attribute type must be defined in the directory server schema and must either be defined as an operational attribute or must be allowed by the set of objectClasses for all users with the associated password policy.
None
The name of an attribute type defined in the server schema.
No
No
None
No
No
Specifies the format string that is used to generate the last login time value for users with the associated password policy. This format string conforms to the syntax described in the API documentation for the java.text.SimpleDateFormat class.
None
Any valid format string that can be used with the java.text.SimpleDateFormat class.
No
No
None
No
No
Specifies the length of time that an account is locked after too many authentication failures. The value of this attribute is an integer followed by a unit of seconds, minutes, hours, days, or weeks. A value of 0 seconds indicates that the account must remain locked until an administrator resets the password.
0 seconds
Some property values take a time duration.
Durations are expressed as numbers followed by units.
For example 1 s
means one second,
and 2 w
means two weeks.
Some durations have minimum granularity or maximum units,
so you cannot necessary specify every duration
in milliseconds or weeks for example.
Some durations allow you to use a special value to mean unlimited.
Units are specified as follows.
ms
: milliseconds
s
: seconds
m
: minutes
h
: hours
d
: days
w
: weeks
Lower limit is 0 seconds.Upper limit is 2147483647 seconds.
No
No
None
No
No
Specifies the maximum number of authentication failures that a user is allowed before the account is locked out. A value of 0 indicates that accounts are never locked out due to failed attempts.
0
An integer value. Lower value is 0. Upper value is 2147483647.
No
No
None
No
No
Specifies the length of time before an authentication failure is no longer counted against a user for the purposes of account lockout. The value of this attribute is an integer followed by a unit of seconds, minutes, hours, days, or weeks. A value of 0 seconds indicates that the authentication failures must never expire. The failure count is always cleared upon a successful authentication.
0 seconds
Some property values take a time duration.
Durations are expressed as numbers followed by units.
For example 1 s
means one second,
and 2 w
means two weeks.
Some durations have minimum granularity or maximum units,
so you cannot necessary specify every duration
in milliseconds or weeks for example.
Some durations allow you to use a special value to mean unlimited.
Units are specified as follows.
ms
: milliseconds
s
: seconds
m
: minutes
h
: hours
d
: days
w
: weeks
Lower limit is 0 seconds.Upper limit is 2147483647 seconds.
No
No
None
No
No
Specifies the maximum length of time that a user can continue using the same password before it must be changed (that is, the password expiration interval). The value of this attribute is an integer followed by a unit of seconds, minutes, hours, days, or weeks. A value of 0 seconds disables password expiration.
0 seconds
Some property values take a time duration.
Durations are expressed as numbers followed by units.
For example 1 s
means one second,
and 2 w
means two weeks.
Some durations have minimum granularity or maximum units,
so you cannot necessary specify every duration
in milliseconds or weeks for example.
Some durations allow you to use a special value to mean unlimited.
Units are specified as follows.
ms
: milliseconds
s
: seconds
m
: minutes
h
: hours
d
: days
w
: weeks
Lower limit is 0 seconds.Upper limit is 2147483647 seconds.
No
No
None
No
No
Specifies the maximum length of time that users have to change passwords after they have been reset by an administrator before they become locked. The value of this attribute is an integer followed by a unit of seconds, minutes, hours, days, or weeks. A value of 0 seconds disables this feature.
0 seconds
Some property values take a time duration.
Durations are expressed as numbers followed by units.
For example 1 s
means one second,
and 2 w
means two weeks.
Some durations have minimum granularity or maximum units,
so you cannot necessary specify every duration
in milliseconds or weeks for example.
Some durations allow you to use a special value to mean unlimited.
Units are specified as follows.
ms
: milliseconds
s
: seconds
m
: minutes
h
: hours
d
: days
w
: weeks
Lower limit is 0 seconds.Upper limit is 2147483647 seconds.
No
No
None
No
No
Specifies the minimum length of time after a password change before the user is allowed to change the password again. The value of this attribute is an integer followed by a unit of seconds, minutes, hours, days, or weeks. This setting can be used to prevent users from changing their passwords repeatedly over a short period of time to flush an old password from the history so that it can be re-used.
0 seconds
Some property values take a time duration.
Durations are expressed as numbers followed by units.
For example 1 s
means one second,
and 2 w
means two weeks.
Some durations have minimum granularity or maximum units,
so you cannot necessary specify every duration
in milliseconds or weeks for example.
Some durations allow you to use a special value to mean unlimited.
Units are specified as follows.
ms
: milliseconds
s
: seconds
m
: minutes
h
: hours
d
: days
w
: weeks
Lower limit is 0 seconds.Upper limit is 2147483647 seconds.
No
No
None
No
No
Specifies the attribute type used to hold user passwords. This attribute type must be defined in the server schema, and it must have either the user password or auth password syntax.
None
The name of an attribute type defined in the server schema.
No
Yes
None
No
No
Indicates whether user password changes must use the password modify extended operation and must include the user's current password before the change is allowed.
false
true
false
No
No
None
No
No
Specifies the maximum length of time before a user's password actually expires that the server begins to include warning notifications in bind responses for that user. The value of this attribute is an integer followed by a unit of seconds, minutes, hours, days, or weeks. A value of 0 seconds disables the warning interval.
5 days
Some property values take a time duration.
Durations are expressed as numbers followed by units.
For example 1 s
means one second,
and 2 w
means two weeks.
Some durations have minimum granularity or maximum units,
so you cannot necessary specify every duration
in milliseconds or weeks for example.
Some durations allow you to use a special value to mean unlimited.
Units are specified as follows.
ms
: milliseconds
s
: seconds
m
: minutes
h
: hours
d
: days
w
: weeks
Lower limit is 0 seconds.
No
No
None
No
No
Specifies the name of the password generator that is used with the associated password policy. This is used in conjunction with the password modify extended operation to generate a new password for a user when none was provided in the request.
None
The DN of any Password Generator. The referenced password generator must be enabled.
No
No
None
No
No
Specifies the maximum number of former passwords to maintain in the password history. When choosing a new password, the proposed password is checked to ensure that it does not match the current password, nor any other password in the history list. A value of zero indicates that either no password history is to be maintained (if the password history duration has a value of zero seconds), or that there is no maximum number of passwords to maintain in the history (if the password history duration has a value greater than zero seconds).
0
An integer value. Lower value is 0. Upper value is 2147483647.
No
No
None
No
No
Specifies the maximum length of time that passwords remain in the password history. When choosing a new password, the proposed password is checked to ensure that it does not match the current password, nor any other password in the history list. A value of zero seconds indicates that either no password history is to be maintained (if the password history count has a value of zero), or that there is no maximum duration for passwords in the history (if the password history count has a value greater than zero).
0 seconds
Some property values take a time duration.
Durations are expressed as numbers followed by units.
For example 1 s
means one second,
and 2 w
means two weeks.
Some durations have minimum granularity or maximum units,
so you cannot necessary specify every duration
in milliseconds or weeks for example.
Some durations allow you to use a special value to mean unlimited.
Units are specified as follows.
ms
: milliseconds
s
: seconds
m
: minutes
h
: hours
d
: days
w
: weeks
Lower limit is 0 seconds.Upper limit is 2147483647 seconds.
No
No
None
No
No
Specifies the names of the password validators that are used with the associated password storage scheme. The password validators are invoked when a user attempts to provide a new password, to determine whether the new password is acceptable.
None
The DN of any Password Validator. The referenced password validators must be enabled.
Yes
No
None
No
No
Specifies the format string(s) that might have been used with the last login time at any point in the past for users associated with the password policy. These values are used to make it possible to parse previous values, but are not used to set new values. The format strings conform to the syntax described in the API documentation for the java.text.SimpleDateFormat class.
None
Any valid format string that can be used with the java.text.SimpleDateFormat class.
Yes
No
None
No
No
Specifies the time by which all users with the associated password policy must change their passwords. The value is expressed in a generalized time format. If this time is equal to the current time or is in the past, then all users are required to change their passwords immediately. The behavior of the server in this mode is identical to the behavior observed when users are forced to change their passwords after an administrative reset.
None
A valid timestamp in generalized time form (for example, a value of "20070409185811Z" indicates a value of April 9, 2007 at 6:58:11 pm GMT).
No
No
None
No
No
Indicates whether users with the associated password policy are required to authenticate in a secure manner. This might mean either using a secure communication channel between the client and the server, or using a SASL mechanism that does not expose the credentials.
false
true
false
No
No
None
No
No
Indicates whether users with the associated password policy are required to change their password in a secure manner that does not expose the credentials.
false
true
false
No
No
None
No
No
Indicates whether passwords set by administrators are allowed to bypass the password validation process that is required for user password changes.
false
true
false
No
No
None
Yes (Use --advanced in interactive mode.)
No
Specifies how the server deals with the inability to update password policy state information during an authentication attempt. In particular, this property can be used to control whether an otherwise successful bind operation fails if a failure occurs while attempting to update password policy state information (for example, to clear a record of previous authentication failures or to update the last login time). It can also be used to control whether to reject a bind request if it is known ahead of time that it will not be possible to update the authentication failure times in the event of an unsuccessful bind attempt (for example, if the backend writability mode is disabled).
reactive
If a bind attempt would otherwise be successful, then do not reject it if a problem occurs while attempting to update the password policy state information for the user.
Proactively reject any bind attempt if it is known ahead of time that it would not be possible to update the user's password policy state information.
Even if a bind attempt would otherwise be successful, reject it if a problem occurs while attempting to update the password policy state information for the user.
No
No
None
Yes (Use --advanced in interactive mode.)
No