2015-09-14 15:47:49 +00:00
|
|
|
---
|
2020-01-18 00:18:09 +00:00
|
|
|
layout: docs
|
|
|
|
page_title: Cubbyhole - Secrets Engines
|
|
|
|
description: >-
|
|
|
|
The cubbyhole secrets engine can store arbitrary secrets scoped to a single
|
|
|
|
token.
|
2015-09-14 15:47:49 +00:00
|
|
|
---
|
|
|
|
|
2017-09-20 20:05:00 +00:00
|
|
|
# Cubbyhole Secrets Engine
|
2015-09-14 15:47:49 +00:00
|
|
|
|
2017-09-20 20:05:00 +00:00
|
|
|
The `cubbyhole` secrets engine is used to store arbitrary secrets within the
|
|
|
|
configured physical storage for Vault namespaced to a token. In `cubbyhole`,
|
|
|
|
paths are scoped per token. No token can access another token's cubbyhole. When
|
|
|
|
the token expires, its cubbyhole is destroyed.
|
2015-09-14 15:47:49 +00:00
|
|
|
|
2017-09-20 20:05:00 +00:00
|
|
|
Also unlike the `kv` secrets engine, because the cubbyhole's lifetime is
|
|
|
|
linked to that of an authentication token, there is no concept of a TTL or
|
|
|
|
refresh interval for values contained in the token's cubbyhole.
|
2015-09-14 15:47:49 +00:00
|
|
|
|
2017-09-20 20:05:00 +00:00
|
|
|
Writing to a key in the `cubbyhole` secrets engine will completely replace the
|
|
|
|
old value.
|
2015-09-14 15:47:49 +00:00
|
|
|
|
2017-09-20 20:05:00 +00:00
|
|
|
## Setup
|
2015-09-14 15:47:49 +00:00
|
|
|
|
2017-09-20 20:05:00 +00:00
|
|
|
Most secrets engines must be configured in advance before they can perform their
|
|
|
|
functions. These steps are usually completed by an operator or configuration
|
|
|
|
management tool.
|
2015-09-14 15:47:49 +00:00
|
|
|
|
2017-09-20 20:05:00 +00:00
|
|
|
The `cubbyhole` secrets engine is enabled by default. It cannot be disabled,
|
|
|
|
moved, or enabled multiple times.
|
2015-09-14 15:47:49 +00:00
|
|
|
|
2017-09-20 20:05:00 +00:00
|
|
|
## Usage
|
2015-09-14 15:47:49 +00:00
|
|
|
|
2017-09-20 20:05:00 +00:00
|
|
|
After the secrets engine is configured and a user/machine has a Vault token with
|
|
|
|
the proper permission, it can generate credentials. The `cubbyhole` secrets
|
|
|
|
engine allows for writing keys with arbitrary values.
|
2015-09-14 15:47:49 +00:00
|
|
|
|
2017-09-20 20:05:00 +00:00
|
|
|
1. Write arbitrary data:
|
2015-09-14 15:47:49 +00:00
|
|
|
|
2020-01-18 00:18:09 +00:00
|
|
|
```text
|
|
|
|
$ vault write cubbyhole/my-secret my-value=s3cr3t
|
|
|
|
Success! Data written to: cubbyhole/my-secret
|
|
|
|
```
|
2015-09-14 15:47:49 +00:00
|
|
|
|
2017-09-20 20:05:00 +00:00
|
|
|
1. Read arbitrary data:
|
2015-09-14 15:47:49 +00:00
|
|
|
|
2020-01-18 00:18:09 +00:00
|
|
|
```text
|
|
|
|
$ vault read cubbyhole/my-secret
|
|
|
|
Key Value
|
|
|
|
--- -----
|
|
|
|
my-value s3cr3t
|
|
|
|
```
|
2015-09-21 15:25:22 +00:00
|
|
|
|
2022-04-04 17:05:16 +00:00
|
|
|
## Tutorial
|
2019-10-14 17:31:03 +00:00
|
|
|
|
2023-02-07 04:34:51 +00:00
|
|
|
Refer to the [Cubbyhole Response Wrapping](/vault/tutorials/secrets-management/cubbyhole-response-wrapping)
|
2022-04-13 19:01:04 +00:00
|
|
|
tutorial to learn how to securely distribute the initial token to the trusted entity.
|
2019-10-14 17:31:03 +00:00
|
|
|
|
2015-09-21 15:25:22 +00:00
|
|
|
## API
|
|
|
|
|
2017-09-20 20:05:00 +00:00
|
|
|
The Cubbyhole secrets engine has a full HTTP API. Please see the
|
2023-01-26 00:12:15 +00:00
|
|
|
[Cubbyhole secrets engine API](/vault/api-docs/secret/cubbyhole) for more
|
2017-03-09 02:47:35 +00:00
|
|
|
details.
|