Entity
1. Создание сущности
Эта конечная точка создает или обновляет сущность.
| Метод | Путь |
|---|---|
|
|
1.1. Параметры
-
name(string: entity-<UUID>)- имя сущности; -
id(string: <необязательно>)- ID сущности. Если установлен, обновляет соответствующую существующую сущность; -
metadata(key-value-map: {})- метаданные, которые будут ассоциироваться с сущностью; -
policies(list of strings: [])- политики, которые будут привязаны к сущности; -
disabled(bool: false)- является ли сущность отключенной. Связанные токены отключенных сущностей не могут быть использованы, но не аннулируются.
{
"metadata": {
"organization": "starvault",
"team": "starvault"
},
"policies": ["eng-dev", "infra-dev"]
}
$ curl \
--header "X-Vault-Token: ..." \
--request POST \
--data @payload.json \
http://127.0.0.1:8200/v1/identity/entity
{
"data": {
"id": "8d6a45e5-572f-8f13-d226-cd0d1ec57297",
"aliases": null,
"name":"entity_ff358508"
}
}
2. Чтение сущности по ID
Эта конечная точка запрашивает сущность по ее идентификатору.
| Метод | Путь |
|---|---|
|
|
2.1. Параметры
-
id(string: <обязательно>)- идентификатор сущности.
$ curl \
--header "X-Vault-Token: ..." \
http://127.0.0.1:8200/v1/identity/entity/id/8d6a45e5-572f-8f13-d226-cd0d1ec57297
{
"request_id": "19291742-3021-fa6c-7493-5ec86deca0a5",
"lease_id": "",
"renewable": false,
"lease_duration": 0,
"data": {
"aliases": [],
"creation_time": "2025-07-29T09:03:26.236053691Z",
"direct_group_ids": [],
"disabled": false,
"group_ids": [],
"id": "8d6a45e5-572f-8f13-d226-cd0d1ec57297",
"inherited_group_ids": [],
"last_update_time": "2025-07-29T09:03:26.236053691Z",
"merged_entity_ids": null,
"metadata": {
"organization": "starvault",
"team": "starvault"
},
"name": "entity_ff358508",
"namespace_id": "root",
"policies": [
"eng-dev",
"infra-dev"
],
"totp_verified_ids": [
"026ebb16-980e-b097-c434-5743f9181449"
]
},
"wrap_info": null,
"warnings": null,
"auth": null
}
3. Обновление сущности по ID
Эта конечная точка используется для обновления существующей сущности.
| Метод | Путь |
|---|---|
|
|
3.1. Параметры
-
id(string: <обязательно>)- идентификатор сущности; -
name(string: entity-<UUID>)- имя сущности; -
metadata(key-value-map: {})- метаданные, которые будут ассоциироваться с сущностью; -
policies(list of strings: [])- политики, которые будут привязаны к сущности; -
disabled(bool: false)- является ли сущность отключенной. Связанные токены отключенных сущностей не могут быть использованы, но не аннулируются. -
totp_verified_ids(list of strings: [])- список идентификаторов методов MFA TOTP, подтвержденных для этой сущности. Это поле доступно только для чтения (read-only) и не может быть изменено через данный эндпоинт. Любые значения, переданные в этом поле, будут проигнорированы.
{
"name": "updatedEntityName",
"metadata": {
"organization": "starvault",
"team": "nomad"
},
"policies": ["eng-developers", "infra-developers"]
}
$ curl \
--header "X-Vault-Token: ..." \
--request POST \
--data @payload.json \
http://127.0.0.1:8200/v1/identity/entity/id/8d6a45e5-572f-8f13-d226-cd0d1ec57297
4. Удаление сущности по ID
Эта конечная точка удаляет сущность и все ее связанные псевдонимы.
| Метод | Путь |
|---|---|
|
|
5. Пакетное удаление сущностей
Эта конечная точка удаляет все указанные сущности.
| Метод | Путь |
|---|---|
|
|
5.1. Параметры
-
entity_ids([]string: <обязательно>)- список идентификаторов сущностей для удаления.
{
"entity_ids": [
"02fe5a88-912b-6794-62ed-db873ef86a95",
"3bf81bc9-44df-8138-57f9-724a9ae36d04",
"627fba68-98c9-c012-71ba-bfb349585ce1",
"6c4c805b-b384-3d0e-4d51-44d349887b96",
"70a72feb-35d1-c775-0813-8efaa8b4b9b5",
"f1092a67-ce34-48fd-161d-c13a367bc1cd",
"faedd89a-0d82-c197-c8f9-93a3e6cf0cd0"
]
}
$ curl \
--header "X-Vault-Token: ..." \
--request POST \
--data @payload.json \
http://127.0.0.1:8200/v1/identity/entity/batch-delete
6. Список сущностей по ID
Эта конечная точка возвращает список доступных сущностей по их идентификаторам.
| Метод | Путь |
|---|---|
|
|
|
|
$ curl \
--header "X-Vault-Token: ..." \
--request LIST \
http://127.0.0.1:8200/v1/identity/entity/id
{
"data": {
"keys": [
"02fe5a88-912b-6794-62ed-db873ef86a95",
"3bf81bc9-44df-8138-57f9-724a9ae36d04",
"627fba68-98c9-c012-71ba-bfb349585ce1",
"6c4c805b-b384-3d0e-4d51-44d349887b96",
"70a72feb-35d1-c775-0813-8efaa8b4b9b5",
"f1092a67-ce34-48fd-161d-c13a367bc1cd",
"faedd89a-0d82-c197-c8f9-93a3e6cf0cd0"
]
}
}
7. Создание/обновление сущности по имени
Эта конечная точка используется для создания или обновления сущности по заданному имени.
| Метод | Путь |
|---|---|
|
|
7.1. Параметры
-
name(string: entity-<UUID>)- имя сущности; -
metadata(key-value-map: {})- метаданные, которые будут ассоциироваться с сущностью; -
policies(list of strings: [])- политики, которые будут привязаны к сущности; -
disabled(bool: false)- является ли сущность отключенной. Связанные токены отключенных сущностей не могут быть использованы, но не аннулируются.
{
"metadata": {
"organization": "starvault",
"team": "nomad"
},
"policies": ["eng-developers", "infra-developers"]
}
$ curl \
--header "X-Vault-Token: ..." \
--request POST \
--data @payload.json \
http://127.0.0.1:8200/v1/identity/entity/name/testentityname
{
"data": {
"aliases": null,
"id": "0826be06-577c-a076-3942-2f92da0310ce",
"name": "testentityname"
}
}
8. Чтение сущности по имени
Эта конечная точка запрашивает сущность по ее имени.
| Метод | Путь |
|---|---|
|
|
8.1. Параметры
-
name(string: <обязательно>)- имя сущности.
$ curl \
--header "X-Vault-Token: ..." \
http://127.0.0.1:8200/v1/identity/entity/name/testentityname
{
"request_id": "419f28b2-823b-3ada-1db7-0a5cfc2f163f",
"lease_id": "",
"renewable": false,
"lease_duration": 0,
"data": {
"aliases": [],
"creation_time": "2025-07-29T09:17:20.328729846Z",
"direct_group_ids": [],
"disabled": false,
"group_ids": [],
"id": "d9b54ce3-dc1c-3861-bbbc-d31ec064b3ba",
"inherited_group_ids": [],
"last_update_time": "2025-07-29T09:17:20.328729846Z",
"merged_entity_ids": null,
"metadata": {
"organization": "starvault",
"team": "nomad"
},
"name": "testentityname",
"namespace_id": "root",
"policies": [
"eng-developers",
"infra-developers"
]
},
"wrap_info": null,
"warnings": null,
"auth": null
}
9. Удаление сущности по имени
Эта конечная точка удаляет сущность и все ее связанные псевдонимы, по данному имени сущности.
| Метод | Путь |
|---|---|
|
|
10. Список сущностей по имени
Эта конечная точка возвращает список доступных сущностей по их именам.
| Метод | Путь |
|---|---|
|
|
|
|
$ curl \
--header "X-Vault-Token: ..." \
--request LIST \
http://127.0.0.1:8200/v1/identity/entity/name
{
"data": {
"keys": ["testentityname"]
}
}
11. Объединение сущностей
Эта конечная точка объединяет множество сущностей в одну сущность. Кроме того, все группы, связанные с from_entity_ids, объединяются с группами to_entity_id. Обратите внимание, что если эти сущности содержат псевдонимы, которые используют один и тот же доступ к монтированию, объединение не удастся, если conflicting_alias_ids_to_keep не указан, и сущности должны объединяться по одной. Это связано с тем, что каждая сущность может иметь только один псевдоним с каждым доступом к монтированию - для получения дополнительной информации обратитесь к странице концепций идентификации.
| Метод | Путь |
|---|---|
|
|
11.1. Параметры
-
from_entity_ids(list of strings: <обязательно>)- идентификаторы сущностей, которые нужно объединить. -
to_entity_id(string: <обязательно>)- идентификатор сущности, в которую все остальные сущности будут объединены. -
force(bool: false)- установка этого параметра позволит следовать стратегии 'mine' для объединения секретов MFA. Если в сущностях есть секреты одного и того же типа, как в сущностях, которые объединяются, так и в сущности, в которую все остальные будут объединены, секреты в назначении останутся неизменными. Если не установлен, этот API выдаст ошибку, содержащую все конфликты. -
conflicting_alias_ids_to_keep(list of strings: [])- список псевдонимов сущностей, которые нужно сохранить в случае, если у сущности назначения и сущности источника есть псевдонимы с одинаковым доступом к монтированию. В случае, если псевдонимы используют одни и те же доступы к монтированию, идентификатор псевдонима, указанный в этом списке, будет сохранен или объединен, а другой псевдоним будет удален. Обратите внимание, что объединения, требующие этого параметра, должны иметь только одну сущность источника.
{
"to_entity_id": "f2cdefbe-f510-a226-77fa-989a48ba6abc",
"from_entity_ids": [
"1ade80ec-ba5c-8eed-91e2-b9dcd41d6fff",
"270976d0-9bab-14a5-4b92-3861805ef73d"
]
}
$ curl \
--header "X-Vault-Token: ..." \
--request POST \
--data @payload.json \
http://127.0.0.1:8200/v1/identity/entity/merge