Update LDAP configuration
Updates an existing LDAP configuration.
Path parameters
-
The Elasticsearch Security realm identifier.
Query parameters
-
version string
When specified, checks for conflicts against the version stored in the persistent store (returned in 'x-cloud-resource-version' of the GET request)
Body Required
The LDAP configuration
-
The identifier for the security realm
-
The friendly name of the security realm
-
The LDAP URLs used to authenticate against, in the format ldap[s]://server:port. Note that ldap and ldaps protocols cannot be mixed together.
-
When true, bindDb credentials are ignored
-
The type of user binding to apply
Values are
user_search
oruser_templates
. -
group_search object
The LDAP group search configuration
Additional properties are allowed.
-
user_search object
The LDAP user search configuration. Only used when bind_type is set to 'user_search'.
Additional properties are allowed.
-
user_dn_templates array[string]
The distinguished name template that replaces the user name with the string {0}. Only used when bind_type is set to 'user_templates'.
-
bind_dn string
The distinguished name of the user that is used to bind to the LDAP and perform searches. Only used when bind_type is set to 'user_search'.
-
bind_password string
The user password that is used to bind to the LDAP server. Only used when bind_type is set to 'user_search'.
-
user_group_attribute string
Specifies the attribute to examine on the user for group membership. If any 'group_search' settings are specified, this setting is ignored. Defaults to 'memberOf'.
-
load_balance object
The LDAP load balancing behavior
Additional properties are allowed.
-
certificate_url string
The SSL trusted CA certificate bundle URL. The bundle should be a zip file containing a single keystore file 'keystore.ks' in the directory '/ldap/:id/truststore', where :id is the value of the [id] field.
-
The password to the certificate bundle URL truststore
-
The format of the truststore file. Should be jks to use the Java Keystore format or PKCS12 to use PKCS#12 files. The default is jks.
Values are
jks
orPKCS12
. -
role_mappings object
The role mapping rules associated with the security realm
Additional properties are allowed.
-
enabled boolean
When true, enables the security realm
-
order integer(int32)
The order that the security realm is evaluated
-
override_yaml string
Advanced configuration options in YAML format. Any settings defined here will override any configuration set via the API. Note that all keys should omit the 'xpack.security.authc.realms.ldap.{realm_id}' prefix. For example, when the realm ID is set to 'ldap1', the advanced configuration 'xpack.security.authc.realms.ldap.ldap1.ssl.verification_mode: full' should be added as 'ssl.verification_mode: full'.
Responses
-
The LDAP configuration was successfully updated
Additional properties are allowed.
-
- The realm id is already in use. (code:
security_realm.id_conflict
) - The selected id is not valid. (code:
security_realm.invalid_id
) - Order must be greater than zero. (code:
security_realm.invalid_order
) - Invalid Elasticsearch Security realm type. (code:
security_realm.invalid_type
) - The realm order is already in use. (code:
security_realm.order_conflict
) - Advanced YAML format is invalid. (code:
security_realm.invalid_yaml
) - The url format is invalid. (code:
security_realm.invalid_url
) - Invalid LDAP URL. (code:
security_realm.ldap.invalid_url
) - Invalid certificate bundle URL. (code:
security_realm.invalid_bundle_url
)
- The realm id is already in use. (code:
-
The realm specified by {realm_id} cannot be found. (code:
security_realm.not_found
) -
There is a version conflict. (code:
security_realm.version_conflict
)
curl \
-X PUT https://{{hostname}}/api/v1/platform/configuration/security/realms/ldap/{realm_id} \
-d '{"id":"string","name":"string","urls":["string"],"bind_anonymously":true,"bind_type":"user_search","group_search":{"base_dn":"string","scope":"sub_tree","filter":"string","user_attribute":"string"},"user_search":{"base_dn":"string","scope":"sub_tree","filter":"string"},"user_dn_templates":["string"],"bind_dn":"string","bind_password":"string","user_group_attribute":"string","load_balance":{"type":"failover","cache_ttl":"string"},"certificate_url":"string","certificate_url_truststore_password":"string","certificate_url_truststore_type":"jks","role_mappings":{"default_roles":["string"],"rules":[{"type":"user_dn","roles":["string"],"value":"string"}]},"enabled":true,"order":42,"override_yaml":"string"}'
{
"id": "string",
"name": "string",
"urls": [
"string"
],
"bind_anonymously": true,
"bind_type": "user_search",
"group_search": {
"base_dn": "string",
"scope": "sub_tree",
"filter": "string",
"user_attribute": "string"
},
"user_search": {
"base_dn": "string",
"scope": "sub_tree",
"filter": "string"
},
"user_dn_templates": [
"string"
],
"bind_dn": "string",
"bind_password": "string",
"user_group_attribute": "string",
"load_balance": {
"type": "failover",
"cache_ttl": "string"
},
"certificate_url": "string",
"certificate_url_truststore_password": "string",
"certificate_url_truststore_type": "jks",
"role_mappings": {
"default_roles": [
"string"
],
"rules": [
{
"type": "user_dn",
"roles": [
"string"
],
"value": "string"
}
]
},
"enabled": true,
"order": 42,
"override_yaml": "string"
}
# Headers
x-cloud-resource-version: string
x-cloud-resource-created: string
x-cloud-resource-last-modified: string
# Payload
{}
# Headers
x-cloud-error-codes: security_realm.id_conflict
# Payload
{
"errors": [
{
"code": "string",
"message": "string",
"fields": [
"string"
]
}
]
}
# Headers
x-cloud-error-codes: security_realm.not_found
# Payload
{
"errors": [
{
"code": "string",
"message": "string",
"fields": [
"string"
]
}
]
}
# Headers
x-cloud-error-codes: security_realm.version_conflict
# Payload
{
"errors": [
{
"code": "string",
"message": "string",
"fields": [
"string"
]
}
]
}