API получения профилей пользователей
Функция профилей пользователей предназначена только для использования Kibana и решений Elastic по наблюдательности, поиску и безопасности. Индивидуальные пользователи и внешние приложения не должны вызывать этот API напрямую. Elastic оставляет за собой право изменить или удалить эту функцию в будущих выпусках без предварительного уведомления.
Получает профили пользователей с помощью списка уникальных идентификаторов профиля.
Запрос
GET /_security/profile/<uid>
Предварительные условия
Для использования этого API у вас должно быть как минимум read_security разрешение кластера (или более высокое разрешение, например manage_user_profile или manage_security).
Описание
API получения профиля пользователя возвращает документ профиля пользователя, соответствующий указанному uid, который генерируется при активации профиля пользователя.
Параметры пути
-
uid - (Обязательно, строка) Уникальный идентификатор профиля пользователя. Вы можете указать несколько идентификаторов через запятую.
Параметры запроса
-
data - (Необязательно, строка) Список фильтров через запятую для поля
dataдокумента профиля. Для возвращения всего содержимого используйтеdata=*. Для возвращения подмножества содержимого используйтеdata=<key>для получения вложенного содержимого по указанному<key>. По умолчанию возвращается без содержимого.
Тело ответа
Успешный вызов возвращает JSON-представление профиля пользователя и его внутренних номеров версий. API возвращает пустой объект, если для предоставленного uid не найден документ профиля. Содержимое поля data по умолчанию не возвращается для избежания десериализации потенциально большого объёма данных.
Примеры
resp = client.security.get_user_profile(
uid="u_79HkWkwmnBH5gqFKwoxggWPjEBOur1zLPXQPEl1VBW0_0",
)
print(resp) const response = await client.security.getUserProfile({
uid: "u_79HkWkwmnBH5gqFKwoxggWPjEBOur1zLPXQPEl1VBW0_0",
});
console.log(response); GET /_security/profile/u_79HkWkwmnBH5gqFKwoxggWPjEBOur1zLPXQPEl1VBW0_0
API возвращает следующий ответ для uid, соответствующего u_79HkWkwmnBH5gqFKwoxggWPjEBOur1zLPXQPEl1VBW0_0:
{
"profiles": [
{
"uid": "u_79HkWkwmnBH5gqFKwoxggWPjEBOur1zLPXQPEl1VBW0_0",
"enabled": true,
"last_synchronized": 1642650651037,
"user": {
"username": "jacknich",
"roles": [
"admin", "other_role1"
],
"realm_name": "native",
"full_name": "Jack Nicholson",
"email": "jacknich@example.com"
},
"labels": {
"direction": "north"
},
"data": {},
"_doc": {
"_primary_term": 88,
"_seq_no": 66
}
}
]
} | По умолчанию содержимое поля |
Следующий запрос извлекает подмножество data, вложенное под ключом app1, вместе с профилем пользователя:
resp = client.security.get_user_profile(
uid="u_79HkWkwmnBH5gqFKwoxggWPjEBOur1zLPXQPEl1VBW0_0",
data="app1.key1",
)
print(resp) const response = await client.security.getUserProfile({
uid: "u_79HkWkwmnBH5gqFKwoxggWPjEBOur1zLPXQPEl1VBW0_0",
data: "app1.key1",
});
console.log(response); GET /_security/profile/u_79HkWkwmnBH5gqFKwoxggWPjEBOur1zLPXQPEl1VBW0_0?data=app1.key1
{
"profiles": [
{
"uid": "u_79HkWkwmnBH5gqFKwoxggWPjEBOur1zLPXQPEl1VBW0_0",
"enabled": true,
"last_synchronized": 1642650651037,
"user": {
"username": "jacknich",
"roles": [
"admin", "other_role1"
],
"realm_name": "native",
"full_name": "Jack Nicholson",
"email": "jacknich@example.com"
},
"labels": {
"direction": "north"
},
"data": {
"app1": {
"key1": "value1"
}
},
"_doc": {
"_primary_term": 88,
"_seq_no": 66
}
}
]
} В случае ошибок при получении профилей пользователей они возвращаются в поле errors:
{
"profiles": [],
"errors": {
"count": 1,
"details": {
"u_FmxQt3gr1BBH5wpnz9HkouPj3Q710XkOgg1PWkwLPBW_5": {
"type": "resource_not_found_exception",
"reason": "profile document not found"
}
}
}
}
© 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/8.17/security-api-get-user-profile.html