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

/sys/policy

Конечная точка /sys/policy используется для управления политиками ACL в StarVault.

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

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

Метод

Путь

GET

/sys/policy

LIST

/sys/policy/:prefix

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

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

Эта конечная точка извлекает тело политики для указанной политики.

Метод

Путь

GET

/sys/policy/:name

2.1. Параметры

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

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

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

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

Метод

Путь

POST

/sys/policy/:name

3.1. Параметры

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

  • policy (string: <required>) - указывает документ политики.

  • 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/policy/my-policy

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

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

Метод

Путь

DELETE

/sys/policy/:name

4.1. Параметры

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

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