API аутентификации SAML
Отправляет сообщение SAML Response в Elasticsearch для обработки.
Этот API предназначен для использования сторонними веб-приложениями, отличными от Kibana. Если вы используете Kibana, см. Настройка однократного входа SAML.
Запрос
POST /_security/saml/authenticate
Описание
Сообщения SAML, которые отправляются, могут быть:
- ответом на запрос аутентификации SAML, который был ранее создан с помощью API подготовки аутентификации SAML.
- неинициированным сообщением SAML в случае потока однократного входа (SSO), инициируемого IdP.
В обоих случаях сообщение SAML должно быть XML-документом, закодированным в base64, с корневым элементом <Response>
После успешной валидации Elasticsearch отвечает внутренним токеном доступа и токеном обновления Elasticsearch, которые могут быть впоследствии использованы для аутентификации. Этот конечный пункт API фактически обменивает ответы SAML, указывающие на успешную аутентификацию в IdP, на токены доступа и обновления Elasticsearch, которые могут использоваться для аутентификации в Elasticsearch.
Elasticsearch предоставляет всю необходимую функциональность SAML через API SAML. Эти API используются внутренне Kibana для обеспечения аутентификации на основе SAML, но также могут быть использованы другими сторонними веб-приложениями или другими клиентами. См. также API подготовки аутентификации SAML, API аннулирования SAML, API выхода SAML и API завершения выхода SAML.
Тело запроса
-
content - (Обязательно, строка) Ответ SAML, как он был отправлен браузером пользователя, обычно XML-документ, закодированный в Base64.
-
ids - (Обязательно, массив) JSON-массив со всеми действительными идентификаторами запросов SAML, которые у вызывающего API есть для текущего пользователя.
-
realm - (Необязательно, строка) Название домена, который должен выполнить аутентификацию ответа SAML. Полезно в случаях, когда определено множество доменов SAML.
Тело ответа
-
access_token - (строка) Токен доступа, сгенерированный Elasticsearch.
-
username - (строка) Имя аутентифицированного пользователя.
-
expires_in - (целое число) Остаток времени (в секундах) до истечения срока действия токена.
-
refresh_token - (строка) Токен обновления, сгенерированный Elasticsearch.
-
realm - (строка) Название домена, по которому был выполнен вход пользователя.
Примеры
Следующий пример обменивает ответ SAML, указывающий на успешную аутентификацию в SAML IdP, на токен доступа и токен обновления Elasticsearch, которые будут использоваться в последующих запросах:
POST /_security/saml/authenticate
{
"content" : "PHNhbWxwOlJlc3BvbnNlIHhtbG5zOnNhbWxwPSJ1cm46b2FzaXM6bmFtZXM6dGM6U0FNTDoyLjA6cHJvdG9jb2wiIHhtbG5zOnNhbWw9InVybjpvYXNpczpuYW1lczp0YzpTQU1MOjIuMD.....",
"ids" : ["4fee3b046395c4e751011e97f8900b5273d56685"]
} API возвращает следующий ответ:
{
"access_token" : "46ToAxZVaXVVZTVKOVF5YU04ZFJVUDVSZlV3",
"username" : "Bearer",
"expires_in" : 1200,
"refresh_token": "mJdXLtmvTUSpoLwMvdBt_w",
"realm": "saml1"
}
© 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-saml-authenticate.html