API создания или обновления пользователей
Добавляет и обновляет пользователей в родном домене. Эти пользователи обычно называются пользователями родного домена.
Запрос
POST /_security/user/<username>
PUT /_security/user/<username>
Предварительные условия
- Для использования этого API у вас должна быть как минимум привилегия
manage_securityкластера.
Описание
Для добавления нового пользователя требуется password, но при обновлении существующего пользователя она необязательна. Чтобы изменить пароль пользователя, не обновляя другие поля, используйте API изменения паролей.
Дополнительную информацию о родном домене см. в разделах Домены и Аутентификация пользователей родного домена.
Параметры пути
-
username -
(Обязательно, строка) Идентификатор пользователя.
Имя пользователя должно содержать от 1 до 1024 символов. Оно может содержать буквенно-цифровые символы (
a-z,A-Z,0-9), пробелы, знаки препинания и печатные символы в блоке Basic Latin (ASCII). Пробелы в начале или конце имени пользователя запрещены.
Параметры запроса
-
refresh - (строка) Одно из значений
true,falseилиwait_for. Эти значения имеют то же значение, что и в API индекса, но значение по умолчанию для этого API (Put User) —true.
Тело запроса
В теле запроса POST или PUT можно указать следующие параметры:
-
enabled - (Булево) Указывает, включён ли пользователь. Значение по умолчанию —
true. -
email - (строка) Электронная почта пользователя.
-
full_name - (строка) Полное имя пользователя.
-
metadata - (объект) Произвольные метаданные, которые вы хотите связать с пользователем.
-
password -
(Обязательно*, строка) Пароль пользователя. Пароли должны быть не короче 6 символов.
При добавлении пользователя требуется одно из значений
passwordилиpassword_hash. При обновлении существующего пользователя пароль необязателен, чтобы можно было обновить другие поля пользователя (например, роли), не изменяя пароль. -
password_hash -
(строка) Хэш пароля пользователя. Он должен быть вычислен с помощью того же алгоритма хэширования, что и для хранения паролей. Дополнительные сведения см. в описании параметра
xpack.security.authc.password_hashing.algorithmв Разделе о кэше пользователей и алгоритмах хэширования паролей.Использование этого параметра позволяет клиенту предварительно хэшировать пароль для повышения производительности и/или конфиденциальности.
Параметр
passwordи параметрpassword_hashне могут использоваться в одном запросе. -
roles - (Обязательно, список) Набор ролей пользователя. Роли определяют разрешения пользователя. Чтобы создать пользователя без ролей, укажите пустой список:
[].
*Указывает, что параметр требуется в некоторых, но не во всех ситуациях.
Примеры
В следующем примере создается пользователь jacknich:
POST /_security/user/jacknich
{
"password" : "l0ng-r4nd0m-p@ssw0rd",
"roles" : [ "admin", "other_role1" ],
"full_name" : "Jack Nicholson",
"email" : "jacknich@example.com",
"metadata" : {
"intelligence" : 7
}
} Успешный вызов возвращает JSON-структуру, показывающую, был ли пользователь создан или обновлён.
{
"created": true
} | При обновлении существующего пользователя |
После добавления пользователя запросы от этого пользователя могут быть аутентифицированы. Например:
curl -u jacknich:l0ng-r4nd0m-p@ssw0rd http://localhost:9200/_cluster/health
© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/7.17/security-api-put-user.html