189 lines
4.4 KiB
Markdown
189 lines
4.4 KiB
Markdown
|
---
|
|||
|
layout: "http"
|
|||
|
page_title: "/sys/mounts - HTTP API"
|
|||
|
sidebar_current: "docs-http-system-mounts"
|
|||
|
description: |-
|
|||
|
The `/sys/mounts` endpoint is used manage secret backends in Vault.
|
|||
|
---
|
|||
|
|
|||
|
# `/sys/mounts`
|
|||
|
|
|||
|
The `/sys/mounts` endpoint is used manage secret backends in Vault.
|
|||
|
|
|||
|
## List Mounted Secret Backends
|
|||
|
|
|||
|
This endpoints lists all the mounted secret backends.
|
|||
|
|
|||
|
| Method | Path | Produces |
|
|||
|
| :------- | :--------------------------- | :--------------------- |
|
|||
|
| `GET` | `/sys/mounts` | `200 application/json` |
|
|||
|
|
|||
|
### Sample Request
|
|||
|
|
|||
|
```
|
|||
|
$ curl \
|
|||
|
--header "X-Vault-Token: ..." \
|
|||
|
https://vault.rocks/v1/sys/mounts
|
|||
|
```
|
|||
|
|
|||
|
### Sample Response
|
|||
|
|
|||
|
```json
|
|||
|
{
|
|||
|
"aws": {
|
|||
|
"type": "aws",
|
|||
|
"description": "AWS keys",
|
|||
|
"config": {
|
|||
|
"default_lease_ttl": 0,
|
|||
|
"max_lease_ttl": 0,
|
|||
|
"force_no_cache": false
|
|||
|
}
|
|||
|
},
|
|||
|
"sys": {
|
|||
|
"type": "system",
|
|||
|
"description": "system endpoint",
|
|||
|
"config": {
|
|||
|
"default_lease_ttl": 0,
|
|||
|
"max_lease_ttl": 0,
|
|||
|
"force_no_cache": false
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
`default_lease_ttl` or `max_lease_ttl` values of 0 mean that the system defaults
|
|||
|
are used by this backend.
|
|||
|
|
|||
|
## Mount Secret Backend
|
|||
|
|
|||
|
This endpoint mounts a new secret backend at the given path.
|
|||
|
|
|||
|
| Method | Path | Produces |
|
|||
|
| :------- | :--------------------------- | :--------------------- |
|
|||
|
| `POST` | `/sys/mounts/:path` | `204 (empty body)` |
|
|||
|
|
|||
|
### Parameters
|
|||
|
|
|||
|
- `path` `(string: <required>)` – Specifies the path where the secret backend
|
|||
|
will be mounted. This is specified as part of the URL.
|
|||
|
|
|||
|
- `type` `(string: <required>)` – Specifies the type of the backend, such as
|
|||
|
"aws".
|
|||
|
|
|||
|
- `description` `(string: "")` – Specifies the human-friendly description of the
|
|||
|
mount.
|
|||
|
|
|||
|
- `config` `(map<string|string>: nil)` – Specifies configuration options for
|
|||
|
this mount. This is an object with three possible values:
|
|||
|
|
|||
|
- `default_lease_ttl`
|
|||
|
- `max_lease_ttl`
|
|||
|
- `force_no_cache`
|
|||
|
|
|||
|
These control the default and maximum lease time-to-live, and force
|
|||
|
disabling backend caching respectively. If set on a specific mount, this
|
|||
|
overrides the global defaults.
|
|||
|
|
|||
|
### Sample Payload
|
|||
|
|
|||
|
```json
|
|||
|
{
|
|||
|
"type": "aws",
|
|||
|
"config": {
|
|||
|
"force_no_cache": true
|
|||
|
}
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
### Sample Request
|
|||
|
|
|||
|
```
|
|||
|
$ curl \
|
|||
|
--header "X-Vault-Token: ..." \
|
|||
|
--request POST \
|
|||
|
--data payload.json \
|
|||
|
https://vault.rocks/v1/sys/mounts/my-mount
|
|||
|
```
|
|||
|
|
|||
|
## Unmount Secret Backend
|
|||
|
|
|||
|
This endpoint un-mounts the mount point specified in the URL.
|
|||
|
|
|||
|
| Method | Path | Produces |
|
|||
|
| :------- | :--------------------------- | :--------------------- |
|
|||
|
| `DELETE` | `/sys/mounts/:path` | `204 (empty body) ` |
|
|||
|
|
|||
|
### Sample Request
|
|||
|
|
|||
|
```
|
|||
|
$ curl \
|
|||
|
--header "X-Vault-Token: ..." \
|
|||
|
--request DELETE \
|
|||
|
https://vault.rocks/v1/sys/mounts/my-mount
|
|||
|
```
|
|||
|
|
|||
|
## Read Mount Configuration
|
|||
|
|
|||
|
This endpoint reads the given mount's configuration. Unlike the `mounts`
|
|||
|
endpoint, this will return the current time in seconds for each TTL, which may
|
|||
|
be the system default or a mount-specific value.
|
|||
|
|
|||
|
| Method | Path | Produces |
|
|||
|
| :------- | :--------------------------- | :--------------------- |
|
|||
|
| `GET` | `/sys/mounts/:path/tune` | `200 application/json` |
|
|||
|
|
|||
|
### Sample Request
|
|||
|
|
|||
|
```
|
|||
|
$ curl \
|
|||
|
--header "X-Vault-Token: ..." \
|
|||
|
https://vault.rocks/v1/sys/mounts/my-mount/tune
|
|||
|
```
|
|||
|
|
|||
|
### Sample Response
|
|||
|
|
|||
|
```json
|
|||
|
{
|
|||
|
"default_lease_ttl": 3600,
|
|||
|
"max_lease_ttl": 7200,
|
|||
|
"force_no_cache": false
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
## Tune Mount Configuration
|
|||
|
|
|||
|
This endpoint tunes configuration parameters for a given mount point.
|
|||
|
|
|||
|
| Method | Path | Produces |
|
|||
|
| :------- | :--------------------------- | :--------------------- |
|
|||
|
| `POST` | `/sys/mounts/:path/tune` | `204 (empty body)` |
|
|||
|
|
|||
|
### Parameters
|
|||
|
|
|||
|
- `default_lease_ttl` `(int: 0)` – Specifies the default time-to-live. This
|
|||
|
overrides the global default. A value of `0` is equivalent to the system
|
|||
|
default TTL.
|
|||
|
|
|||
|
- `max_lease_ttl` `(int: 0)` – Specifies the maximum time-to-live. This
|
|||
|
overrides the global default. A value of `0` are equivalent and set to the
|
|||
|
system max TTL.
|
|||
|
|
|||
|
### Sample Payload
|
|||
|
|
|||
|
```json
|
|||
|
{
|
|||
|
"default_lease_ttl": 1800,
|
|||
|
"max_lease_ttl": 3600
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
### Sample Request
|
|||
|
|
|||
|
```
|
|||
|
$ curl \
|
|||
|
--header "X-Vault-Token: ..." \
|
|||
|
--request POST \
|
|||
|
--data payload.json \
|
|||
|
https://vault.rocks/v1/sys/mounts/my-mount/tune
|
|||
|
```
|