Для улучшения работы сайта мы используем файлы cookies. Оставаясь на сайте, вы соглашаетесь с политикой обработки персональных данных.

/sys/policies/

Конечные точки /sys/policies используются для управления политиками ACL, RGP и EGP в StarVault.

1. Список политик ACL

Эта конечная точка выводит список всех настроенных политик ACL. Эта конечная точка может принимать префикс для отображения списка политик.

Метод

Путь

LIST

/sys/policies/acl

LIST

/sys/policies/acl/:prefix

Пример запроса:
curl \
  -X LIST --header "X-Vault-Token: ..." \
  http://127.0.0.1:8200/v1/sys/policies/acl
Пример ответа:
{
  "keys": ["root", "my-policy"]
}

2. Чтение политики ACL

Данная конечная точка извлекает информацию о именованной политике ACL.

Метод

Путь

GET

/sys/policies/acl/:name

2.1. Параметры

  • name (string: <required>) – указывает имя политики, которую необходимо получить. Оно указывается как часть URL-адреса запроса.

Пример запроса:
curl \
  --header "X-Vault-Token: ..." \
  http://127.0.0.1:8200/v1/sys/policies/acl/my-policy
Пример ответа:
{
  "name": "deploy",
  "policy": "path \"secret/foo\" {...",
  "modified": "2025-03-25T16:50:49.348095648-05:00",
  "version": 3,
  "cas_required": true
}

3. Создание/обновление политики ACL

Данная конечная точка добавляет новую или обновляет существующую политику ACL. После обновления политика немедленно вступает в силу для всех связанных пользователей.

Метод

Путь

POST

/sys/policies/acl/:name

3.1. Параметры

  • name (string: <required>) – указывает имя создаваемой политики. Оно указывается как часть URL-адреса запроса.

  • policy (string: <required>) - указывает документ политики. Может быть закодирован в формате Base64, чтобы избежать экранирования строк.

  • expiration (time: <optional>) — указывает время истечения срока действия, по истечении которого политика перестанет действовать и будет удалена при следующей загрузке. Не может быть установлена совместно с ttl и не может находиться в прошлом.

  • ttl (duration: <optional>) — указывает время, в течение которого политика будет действительна и будет удалена при следующей загрузке. Не может быть установлено совместно с expiration.

  • cas (int: <optional>) – необязательная версия политики для сравнения перед внесением любых изменений (check-and-set). Если существующая версия политики имеет версию cas_required=true, или параметр cas_required=true указан в запросе, этот cas параметр обязателен. Если политика отсутствует и это должна быть операция создания, установите значение -1; существующие политики, созданные до этого поля, начинаются с версии 0.

  • cas_required (bool: <optional>) – требуется ли использовать check-and-set семантику для этого и следующего запроса. Обратите внимание: поскольку это операция создания/обновления, для продолжения использования этот параметр необходимо сбрасывать в значение true при каждой последующей операции. При значении true параметр cas становится обязательным. Значение по умолчанию – false.

Пример тела запроса:
{
  "policy": "path \"secret/foo\" {..."
}
Пример запроса:
curl \
  --header "X-Vault-Token: ..." \
  --request POST \
  --data @payload.json \
  http://127.0.0.1:8200/v1/sys/policies/acl/my-policy

4. Удаление политики ACL

Данная конечная точка удаляет политику ACL с указанным именем. Это немедленно повлияет на всех пользователей, связанных с этой политикой (удалённая политика, установленная на токене, действует как пустая политика).

Метод

Путь

DELETE

/sys/policies/acl/:name

4.1. Параметры

  • name (string: <required>) – указывает имя удаляемой политики. Оно указывается как часть URL-адреса запроса.

Пример запроса:
curl \
  --header "X-Vault-Token: ..." \
  --request DELETE \
  http://127.0.0.1:8200/v1/sys/policies/acl/my-policy