Spec-Zone.ru › Elasticsearch 8
›Elasticsearch Guide [8.17] ›Защита Elastic Stack ›Авторизация пользователей

Ограничение ролей

Ограничение ролей позволяет указывать условия, при которых роль должна быть эффективной. Когда условия не выполняются, роль отключается, что приводит к отказу в доступе. Если ограничение не задано, роль не ограничена и всегда эффективна. Это поведение по умолчанию.

В настоящее время ограничение ролей поддерживается только для ключей API с ограничением, что ключ API может иметь только один описатель роли.

Рабочие процессы

Рабочие процессы позволяют ограничить действие роли исключительно при вызове определённых REST-API. Вызов REST-API, который не разрешен рабочим процессом, приведёт к отключению роли. Ниже перечислены рабочие процессы, для которых можно ограничить роль:

search_application_query
Этот рабочий процесс ограничивает роль только API поиска Search Application Search.

Имена рабочих процессов чувствительны к регистру.

Примеры

В следующем примере создаётся ключ API с ограничением на рабочий процесс search_application_query, который позволяет вызывать только API поиска Search Application Search:

resp = client.security.create_api_key(
    name="my-restricted-api-key",
    role_descriptors={
        "my-restricted-role-descriptor": {
            "indices": [
                {
                    "names": [
                        "my-search-app"
                    ],
                    "privileges": [
                        "read"
                    ]
                }
            ],
            "restriction": {
                "workflows": [
                    "search_application_query"
                ]
            }
        }
    },
)
print(resp)
const response = await client.security.createApiKey({
  name: "my-restricted-api-key",
  role_descriptors: {
    "my-restricted-role-descriptor": {
      indices: [
        {
          names: ["my-search-app"],
          privileges: ["read"],
        },
      ],
      restriction: {
        workflows: ["search_application_query"],
      },
    },
  },
});
console.log(response);
POST /_security/api_key
{
  "name": "my-restricted-api-key",
  "role_descriptors": {
    "my-restricted-role-descriptor": {
      "indices": [
        {
          "names": ["my-search-app"],
          "privileges": ["read"]
        }
      ],
      "restriction":  {
        "workflows": ["search_application_query"]
      }
    }
  }
}

© 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/role-restriction.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API