API "Права доступа"
Определяет, обладает ли вошедший пользователь указанным списком прав доступа.
Запрос
GET /_security/user/_has_privileges
Предварительные условия
- Все пользователи могут использовать этот API, но только для определения своих собственных прав доступа. Для проверки прав доступа других пользователей необходимо использовать функцию выполнения от имени. Дополнительные сведения см. в разделе Отправка запросов от имени других пользователей.
Описание
Список прав доступа, которые можно указать в этом API, см. в разделе Права доступа к безопасности.
Успешный вызов возвращает JSON-структуру, которая показывает, назначено ли каждое указанное право пользователю.
Тело запроса
-
cluster - (список) Список кластерных прав доступа, которые необходимо проверить.
-
index -
-
names - (список) Список индексов.
-
allow_restricted_indices - (Булево) Это значение должно быть установлено в
true(по умолчаниюfalse), если используются подстановочные знаки или регулярные выражения для шаблонов, охватывающих ограниченные индексы. Неявным образом ограниченные индексы не соответствуют шаблонам индексов, так как ограниченные индексы обычно имеют ограниченные права доступа, и включение их в тесты шаблонов сделало бы большинство таких тестовfalse. Если ограниченные индексы явно включены в списокnames, права доступа будут проверяться по отношению к ним независимо от значенияallow_restricted_indices. -
privileges - (список) Список прав доступа, которые необходимо проверить для указанных индексов.
-
-
application -
-
application - (строка) Название приложения.
-
privileges - (список) Список прав доступа, которые необходимо проверить для указанных ресурсов. Может содержать либо имена прав доступа к приложению, либо имена действий, предоставляемых этими правами доступа.
-
resources - (список) Список имён ресурсов, по отношению к которым следует проверить права доступа.
-
Примеры
Следующий пример проверяет, обладает ли текущий пользователь определённым набором прав доступа к кластеру, индексу и приложению:
GET /_security/user/_has_privileges
{
"cluster": [ "monitor", "manage" ],
"index" : [
{
"names": [ "suppliers", "products" ],
"privileges": [ "read" ]
},
{
"names": [ "inventory" ],
"privileges" : [ "read", "write" ]
}
],
"application": [
{
"application": "inventory_manager",
"privileges" : [ "read", "data:write/inventory" ],
"resources" : [ "product/1852563" ]
}
]
} Следующий пример вывода показывает, какие права доступа имеет пользователь "rdeniro":
{
"username": "rdeniro",
"has_all_requested" : false,
"cluster" : {
"monitor" : true,
"manage" : false
},
"index" : {
"suppliers" : {
"read" : true
},
"products" : {
"read" : true
},
"inventory" : {
"read" : true,
"write" : false
}
},
"application" : {
"inventory_manager" : {
"product/1852563" : {
"read": false,
"data:write/inventory": false
}
}
}
}
© 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-has-privileges.html