open-vault/website/source/api/system/policy.html.md
2018-03-23 11:41:51 -04:00

122 lines
2.8 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
layout: "api"
page_title: "/sys/policy - HTTP API"
sidebar_current: "docs-http-system-policy"
description: |-
The `/sys/policy` endpoint is used to manage ACL policies in Vault.
---
# `/sys/policy`
The `/sys/policy` endpoint is used to manage ACL policies in Vault.
## List Policies
This endpoint lists all configured policies.
| Method | Path | Produces |
| :------- | :--------------------------- | :--------------------- |
| `GET` | `/sys/policy` | `200 application/json` |
### Sample Request
```
$ curl \
--header "X-Vault-Token: ..." \
http://127.0.0.1:8200/v1/sys/policy
```
### Sample Response
```json
{
"policies": ["root", "deploy"]
}
```
## Read Policy
This endpoint retrieve the policy body for the named policy.
| Method | Path | Produces |
| :------- | :--------------------------- | :--------------------- |
| `GET` | `/sys/policy/:name` | `200 application/json` |
### Parameters
- `name` `(string: <required>)`  Specifies the name of the policy to retrieve.
This is specified as part of the request URL.
### Sample Request
```
$ curl \
--header "X-Vault-Token: ..." \
http://127.0.0.1:8200/v1/sys/policy/my-policy
```
### Sample Response
```json
{
"policy": "path \"secret/foo\" {..."
}
```
## Create/Update Policy
This endpoint adds a new or updates an existing policy. Once a policy is
updated, it takes effect immediately to all associated users.
| Method | Path | Produces |
| :------- | :--------------------------- | :--------------------- |
| `PUT` | `/sys/policy/:name` | `204 (empty body)` |
### Parameters
- `name` `(string: <required>)`  Specifies the name of the policy to create.
This is specified as part of the request URL.
- `policy` `(string: <required>)` - Specifies the policy document.
### Sample Payload
```json
{
"policy": "path \"secret/foo\" {..."
}
```
### Sample Request
```
$ curl \
--header "X-Vault-Token: ..." \
--request PUT \
--data @payload.json \
http://127.0.0.1:8200/v1/sys/policy/my-policy
```
## Delete Policy
This endpoint deletes the policy with the given name. This will immediately
affect all users associated with this policy.
| Method | Path | Produces |
| :------- | :--------------------------- | :--------------------- |
| `DELETE` | `/sys/policy/:name` | `204 (empty body)` |
### Parameters
- `name` `(string: <required>)`  Specifies the name of the policy to delete.
This is specified as part of the request URL.
### Sample Request
```
$ curl \
--header "X-Vault-Token: ..." \
--request DELETE \
http://127.0.0.1:8200/v1/sys/policy/my-policy
```