API подготовки аутентификации SAML
Создаёт запрос аутентификации SAML (<AuthnRequest>) в виде строки URL на основе конфигурации соответствующего домена SAML в Elasticsearch.
Этот API предназначен для использования сторонними веб-приложениями, отличными от Kibana. Если вы используете Kibana, см. Настройка однократного входа SAML в Elastic Stack.
Запрос
POST /_security/saml/prepare
Описание
Этот API возвращает URL, указывающий на поставщика удостоверений SAML. Вы можете использовать URL для перенаправления браузера пользователя, чтобы продолжить процесс аутентификации. URL включает один параметр с именем SAMLRequest, содержащий запрос аутентификации SAML, сжатый и закодированный в Base64. Если конфигурация требует подписи запросов аутентификации SAML, URL содержит два дополнительных параметра с именами SigAlg и Signature. Эти параметры содержат алгоритм, используемый для подписи, и само значение подписи. Также возвращается случайная строка, уникально идентифицирующая этот запрос аутентификации SAML. Призывающий API должен сохранить этот идентификатор, так как он необходим на последующем этапе процесса аутентификации (см. API аутентификации SAML).
Elasticsearch предоставляет всю необходимую функциональность SAML через API SAML. Эти API используются внутренне Kibana для обеспечения аутентификации на основе SAML, но также могут быть использованы другими сторонними веб-приложениями или другими клиентами. См. также API аутентификации SAML, API аннулирования SAML, API выхода SAML и API завершения выхода SAML.
Тело запроса
-
acs - (Необязательно, строка) URL службы потребления утверждений, соответствующий одному из домен SAML в Elasticsearch. Домен используется для генерации запроса аутентификации. Необходимо указать либо этот параметр, либо параметр
realm. -
realm - (Необязательно, строка) Имя домена SAML в Elasticsearch, конфигурация которого используется для генерации запроса аутентификации. Необходимо указать либо этот параметр, либо параметр
acs. -
relay_state - (Необязательно, строка) Строка, которая будет включена в URL перенаправления, возвращаемый этим API, как параметр запроса
RelayState. Если запрос аутентификации подписан, это значение используется в вычислении подписи.
Тело ответа
-
id - (строка) Уникальный идентификатор запроса SAML, который должен быть сохранён вызывающим API.
-
realm - (строка) Имя домена Elasticsearch, использованного для построения запроса аутентификации.
-
redirect - (строка) URL для перенаправления пользователя.
Примеры
Следующий пример генерирует запрос аутентификации SAML для домена SAML с именем saml1
resp = client.security.saml_prepare_authentication(
realm="saml1",
)
print(resp) const response = await client.security.samlPrepareAuthentication({
realm: "saml1",
});
console.log(response); POST /_security/saml/prepare
{
"realm" : "saml1"
} Следующий пример генерирует запрос аутентификации SAML для домена SAML с URL службы потребления утверждений, соответствующим `https://kibana.org/api/security/saml/callback
resp = client.security.saml_prepare_authentication(
acs="https://kibana.org/api/security/saml/callback",
)
print(resp) const response = await client.security.samlPrepareAuthentication({
acs: "https://kibana.org/api/security/saml/callback",
});
console.log(response); POST /_security/saml/prepare
{
"acs" : "https://kibana.org/api/security/saml/callback"
} Этот API возвращает следующий ответ:
{
"redirect": "https://my-idp.org/login?SAMLRequest=fVJdc6IwFP0rmbwDgUKLGbFDtc462%2B06FX3Yl50rBJsKCZsbrPbXL6J22hdfk%2FNx7zl3eL%2BvK7ITBqVWCfVdRolQuS6k2iR0mU2dmN6Phgh1FTQ8be2rehH%2FWoGWdESF%2FPST0NYorgElcgW1QG5zvkh%2FPfHAZbwx2upcV5SkiMLYzmqsFba1MAthdjIXy5enhL5a23DPOyo6W7kGBa7cwhZ2gO7G8OiW%2BR400kORt0bag7fzezAlk24eqcD2OxxlsNN5O3MdsW9c6CZnbq7rntF4d3s0D7BaHTZhIWN52P%2BcjiuGRbDU6cdj%2BEjJbJLQv4N4ADdhxBiEZbQuWclY4Q8iABbCXczCdSiKMAC%2FgyO2YqbQgrIJDZg%2FcFjsMD%2Fzb3gUcBa5sR%2F9oWR%2BzuJBqlPG14Jbn0DIf2TZ3Jn%2FXmSUrC5ddQB6bob37uZrJdeF4dIDHV3iuhb70Ptq83kOz53ubDLXlcwPJK0q%2FT42AqxIaAkVCkqm2tRgr49yfJGFU%2FZQ3hy3QyuUpd7obPv97kb%2FAQ%3D%3D"}",
"realm": "saml1",
"id": "_989a34500a4f5bf0f00d195aa04a7804b4ed42a1"
}
© 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-saml-prepare-authentication.html