/sys/policy
Конечная точка /sys/policy используется для управления политиками ACL в StarVault.
1. Список политик
Эта конечная точка выводит список всех настроенных политик. Для отображения списка политик эта конечная точка может использовать префикс.
Метод |
Путь |
|
|
|
|
curl \
--header "X-Vault-Token: ..." \
http://127.0.0.1:8200/v1/sys/policy
{
"policies": ["root", "deploy"]
}
2. Чтение политики
Эта конечная точка извлекает тело политики для указанной политики.
Метод |
Путь |
|
|
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. Создание/обновление политики
Данная конечная точка добавляет новую или обновляет существующую политику. После обновления политика немедленно вступает в силу для всех связанных пользователей.
Метод |
Путь |
|
|
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