Re-categorized the guides on the navigation
This commit is contained in:
parent
d5262f7896
commit
1a532cb993
|
@ -1,7 +1,7 @@
|
||||||
---
|
---
|
||||||
layout: "guides"
|
layout: "guides"
|
||||||
page_title: "AppRole Pull Authentication - Guides"
|
page_title: "AppRole Pull Authentication - Guides"
|
||||||
sidebar_current: "guides-authentication"
|
sidebar_current: "guides-configuration-authentication"
|
||||||
description: |-
|
description: |-
|
||||||
Authentication is a process in Vault by which user or machine-supplied
|
Authentication is a process in Vault by which user or machine-supplied
|
||||||
information is verified to create a token with pre-configured policy.
|
information is verified to create a token with pre-configured policy.
|
|
@ -1,7 +1,7 @@
|
||||||
---
|
---
|
||||||
layout: "guides"
|
layout: "guides"
|
||||||
page_title: "Generate Root Tokens using Unseal Keys - Guides"
|
page_title: "Generate Root Tokens using Unseal Keys - Guides"
|
||||||
sidebar_current: "guides-generate-root"
|
sidebar_current: "guides-configuration-generate-root"
|
||||||
description: |-
|
description: |-
|
||||||
Generate a new root token using a threshold of unseal keys.
|
Generate a new root token using a threshold of unseal keys.
|
||||||
---
|
---
|
37
website/source/guides/configuration/index.html.md
Normal file
37
website/source/guides/configuration/index.html.md
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
---
|
||||||
|
layout: "guides"
|
||||||
|
page_title: "Vault Configuration - Guides"
|
||||||
|
sidebar_current: "guides-configuration"
|
||||||
|
description: |-
|
||||||
|
Once a Vault instance has been installed, the next step is to configure auth
|
||||||
|
backend, secret backend, and manage keys. Vault configuration guides addresses
|
||||||
|
key concepts in configuring your Vault servers.
|
||||||
|
---
|
||||||
|
|
||||||
|
# Vault Configuration
|
||||||
|
|
||||||
|
This guide walks you through Vault configuration topics. Some guides address
|
||||||
|
fundamental tasks to get the server setup, and some guides introduce more
|
||||||
|
advanced discussions.
|
||||||
|
|
||||||
|
- [Policies](/guides/configuration/policies.html) are used to instrument
|
||||||
|
Role-Based Access Control (RBAC) by specifying access privileges. Authoring of
|
||||||
|
policies is probably the first step the Vault administrator performs. This guide
|
||||||
|
walks you through creating example policies for `admin` and `provisioner` users.
|
||||||
|
- [AppRole Pull Authentication](/guides/configuration/authentication.html) guide
|
||||||
|
is an introductory guide introduces the steps to generate tokens for machines
|
||||||
|
or apps by enabling AppRole auth backend.
|
||||||
|
- [Token and Leases](/guides/configuration/lease.html) guide helps you
|
||||||
|
understand how tokens and leases work in Vault. The understanding of the
|
||||||
|
lease hierarchy and expiration mechanism helps you plan for break glass
|
||||||
|
procedures and more.
|
||||||
|
- [Root Token Generation](/guides/configuration/generate-root.html) guide
|
||||||
|
demonstrates the workflow of regenerating root tokens. It is considered to be a
|
||||||
|
best practice not to persist the initial **root** token. If a root token needs
|
||||||
|
to be regenerated, this guide helps you walk through the task.
|
||||||
|
- [Rekeying & Rotating](/guides/configuration/rekeying-and-rotating.html) guide
|
||||||
|
provides a high-level overview of Shamir's Secret Sharing Algorithm, and how to
|
||||||
|
perform _rekey_ and _rotate_ operations in Vault.
|
||||||
|
- [Building Plugin Backends](/guides/configuration/plugin-backends.html) guide
|
||||||
|
provides steps to build, register, and mount non-database external plugin
|
||||||
|
backends.
|
|
@ -1,7 +1,7 @@
|
||||||
---
|
---
|
||||||
layout: "guides"
|
layout: "guides"
|
||||||
page_title: "Tokens and Leases - Guides"
|
page_title: "Tokens and Leases - Guides"
|
||||||
sidebar_current: "guides-lease"
|
sidebar_current: "guides-configuration-lease"
|
||||||
description: |-
|
description: |-
|
||||||
Tokens are the core method for authentication within Vault. For every
|
Tokens are the core method for authentication within Vault. For every
|
||||||
authentication token and dynamic secret, Vault creates a lease
|
authentication token and dynamic secret, Vault creates a lease
|
|
@ -1,21 +1,21 @@
|
||||||
---
|
---
|
||||||
layout: "guides"
|
layout: "guides"
|
||||||
page_title: "Plugin Backends - Guides"
|
page_title: "Plugin Backends - Guides"
|
||||||
sidebar_current: "guides-plugin-backends"
|
sidebar_current: "guides-configuration-plugin-backends"
|
||||||
description: |-
|
description: |-
|
||||||
Learn how to build, register, and mount a custom plugin backend.
|
Learn how to build, register, and mount a custom plugin backend.
|
||||||
---
|
---
|
||||||
|
|
||||||
# Introduction
|
# Introduction
|
||||||
|
|
||||||
Plugin backends utilize the [plugin system][plugin-system] to enable
|
Plugin backends utilize the [plugin system][plugin-system] to enable
|
||||||
third-party secret and auth backends to be mounted.
|
third-party secret and auth backends to be mounted.
|
||||||
|
|
||||||
It is worth noting that even though [database backends][database-backend]
|
It is worth noting that even though [database backends][database-backend]
|
||||||
operate under the same underlying plugin mechanism, they are slightly different
|
operate under the same underlying plugin mechanism, they are slightly different
|
||||||
in design than plugin backends demonstrated in this guide. The database backend
|
in design than plugin backends demonstrated in this guide. The database backend
|
||||||
manages multiple plugins under the same backend mount point, whereas plugin
|
manages multiple plugins under the same backend mount point, whereas plugin
|
||||||
backends are generic backends that function as either secret or auth backends.
|
backends are generic backends that function as either secret or auth backends.
|
||||||
|
|
||||||
This guide provides steps to build, register, and mount non-database external
|
This guide provides steps to build, register, and mount non-database external
|
||||||
plugin backends.
|
plugin backends.
|
||||||
|
@ -35,7 +35,7 @@ plugin_directory="/etc/vault/vault_plugins"
|
||||||
## Build the Plugin Backend
|
## Build the Plugin Backend
|
||||||
|
|
||||||
Build the custom backend binary, and move it to the `plugin_directory` path.
|
Build the custom backend binary, and move it to the `plugin_directory` path.
|
||||||
In this guide, we will use `mock-plugin` that comes from Vault's
|
In this guide, we will use `mock-plugin` that comes from Vault's
|
||||||
`logical/plugin/mock` package.
|
`logical/plugin/mock` package.
|
||||||
|
|
||||||
```
|
```
|
|
@ -1,7 +1,7 @@
|
||||||
---
|
---
|
||||||
layout: "guides"
|
layout: "guides"
|
||||||
page_title: "Policies - Guides"
|
page_title: "Policies - Guides"
|
||||||
sidebar_current: "guides-governance"
|
sidebar_current: "guides-configuration-policies"
|
||||||
description: |-
|
description: |-
|
||||||
Policies in Vault control what a user can access.
|
Policies in Vault control what a user can access.
|
||||||
---
|
---
|
||||||
|
@ -285,6 +285,12 @@ path "sys/auth/*"
|
||||||
capabilities = ["create", "read", "update", "delete", "sudo"]
|
capabilities = ["create", "read", "update", "delete", "sudo"]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# List existing policies
|
||||||
|
path "sys/policy"
|
||||||
|
{
|
||||||
|
capabilities = ["read"]
|
||||||
|
}
|
||||||
|
|
||||||
# Create and manage ACL policies
|
# Create and manage ACL policies
|
||||||
path "sys/policy/*"
|
path "sys/policy/*"
|
||||||
{
|
{
|
|
@ -1,7 +1,7 @@
|
||||||
---
|
---
|
||||||
layout: "guides"
|
layout: "guides"
|
||||||
page_title: "Rekeying & Rotating Vault - Guides"
|
page_title: "Rekeying & Rotating Vault - Guides"
|
||||||
sidebar_current: "guides-rekeying-and-rotating"
|
sidebar_current: "guides-configuration-rekeying-and-rotating"
|
||||||
description: |-
|
description: |-
|
||||||
Vault supports generating new unseal keys as well as rotating the underlying
|
Vault supports generating new unseal keys as well as rotating the underlying
|
||||||
encryption keys. This guide covers rekeying and rotating Vault's encryption
|
encryption keys. This guide covers rekeying and rotating Vault's encryption
|
14
website/source/guides/getting-started/index.html.md
Normal file
14
website/source/guides/getting-started/index.html.md
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
---
|
||||||
|
layout: "guides"
|
||||||
|
page_title: "Guides"
|
||||||
|
sidebar_current: "getting-started"
|
||||||
|
description: |-
|
||||||
|
This section takes you to the Getting Started section.
|
||||||
|
---
|
||||||
|
|
||||||
|
# Vault Getting Started
|
||||||
|
|
||||||
|
Welcome to the Vault guides section! If you are just getting started with Vault,
|
||||||
|
please start with the [Vault introduction](/intro/getting-started/install.html)
|
||||||
|
instead and then continue on to the guides. The guides provide examples of
|
||||||
|
common Vault workflows and actions for both beginner and advanced Vault users.
|
23
website/source/guides/operations/index.html.md
Normal file
23
website/source/guides/operations/index.html.md
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
---
|
||||||
|
layout: "guides"
|
||||||
|
page_title: "Vault Architecture - Guides"
|
||||||
|
sidebar_current: "guides-operations"
|
||||||
|
description: |-
|
||||||
|
Vault architecture guide covers Vault infrastructure discussions including
|
||||||
|
installation.
|
||||||
|
---
|
||||||
|
|
||||||
|
# Vault Architecture
|
||||||
|
|
||||||
|
Vault Architectures guides address Vault infrastructure discussions. These
|
||||||
|
guides are designed to help the operations team to plan and install a Vault
|
||||||
|
cluster that meets your organization's needs.
|
||||||
|
|
||||||
|
- [Production Hardening](/guides/architecture/production.html) guide provides
|
||||||
|
guidance on best practices for a production hardened deployment of Vault.
|
||||||
|
The recommendations are based on the [security model](/docs/internals/security.html)
|
||||||
|
and focus on defense in depth.
|
||||||
|
- [Replication Setup & Guidance](/guides/architecture/replication.html)
|
||||||
|
walks you through the commands to activate the Vault servers in replication mode.
|
||||||
|
Please note that [Vault Replication](/docs/vault-enterprise/replication/index.html)
|
||||||
|
is a Vault Enterprise feature.
|
|
@ -1,7 +1,7 @@
|
||||||
---
|
---
|
||||||
layout: "guides"
|
layout: "guides"
|
||||||
page_title: "Production Hardening - Guides"
|
page_title: "Production Hardening - Guides"
|
||||||
sidebar_current: "guides-production-hardening"
|
sidebar_current: "guides-operations-production-hardening"
|
||||||
description: |-
|
description: |-
|
||||||
This guide provides guidance on best practices for a production hardened deployment of HashiCorp Vault.
|
This guide provides guidance on best practices for a production hardened deployment of HashiCorp Vault.
|
||||||
---
|
---
|
|
@ -1,7 +1,7 @@
|
||||||
---
|
---
|
||||||
layout: "guides"
|
layout: "guides"
|
||||||
page_title: "Setting up Vault Enterprise Performance Replication - Guides"
|
page_title: "Setting up Vault Enterprise Performance Replication - Guides"
|
||||||
sidebar_current: "guides-replication"
|
sidebar_current: "guides-operations-replication"
|
||||||
description: |-
|
description: |-
|
||||||
Learn how to set up and manage Vault Enterprise Performance Replication.
|
Learn how to set up and manage Vault Enterprise Performance Replication.
|
||||||
---
|
---
|
||||||
|
@ -177,6 +177,3 @@ mechanisms if DR is necessary in your implementation.
|
||||||
|
|
||||||
If you need true DR, look at the
|
If you need true DR, look at the
|
||||||
[general information page](/docs/vault-enterprise/replication/index.html) for information on Vault's disaster recovery replication.
|
[general information page](/docs/vault-enterprise/replication/index.html) for information on Vault's disaster recovery replication.
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
---
|
---
|
||||||
layout: "guides"
|
layout: "guides"
|
||||||
page_title: "Cubbyhole Response Wrapping - Guides"
|
page_title: "Cubbyhole Response Wrapping - Guides"
|
||||||
sidebar_current: "guides-cubbyhole"
|
sidebar_current: "guides-secret-mgmt-cubbyhole"
|
||||||
description: |-
|
description: |-
|
||||||
Vault provides a capability to wrap Vault response and store it in a
|
Vault provides a capability to wrap Vault response and store it in a
|
||||||
"cubbyhole" where the holder of the one-time use wrapping token can unwrap to
|
"cubbyhole" where the holder of the one-time use wrapping token can unwrap to
|
||||||
|
@ -35,7 +35,7 @@ long as its policy allows it.
|
||||||
The end-to-end scenario described in this guide involves two personas:
|
The end-to-end scenario described in this guide involves two personas:
|
||||||
|
|
||||||
- **`admin`** with privileged permissions to create tokens
|
- **`admin`** with privileged permissions to create tokens
|
||||||
- **`apps`** is the receiving client of a wrapped response
|
- **`apps`** trusted entity retrieving secrets from Vault
|
||||||
|
|
||||||
## Challenge
|
## Challenge
|
||||||
|
|
||||||
|
@ -43,7 +43,12 @@ In order to tightly manage the secrets, you set the scope of who can do what
|
||||||
using the [Vault policy](/docs/concepts/policies.html) and attach that to
|
using the [Vault policy](/docs/concepts/policies.html) and attach that to
|
||||||
tokens, roles, entities, etc.
|
tokens, roles, entities, etc.
|
||||||
|
|
||||||
How to securely distribute a secret (e.g. token, credentials) to a machine or app?
|
Think of a case where you have a trusted entity (Chef, Jenkins, etc.) which
|
||||||
|
reads secrets from Vault. This trusted entity must obtain a token. If the
|
||||||
|
trusted entity or its host machine was rebooted, it must re-authenticate with
|
||||||
|
Vault using a valid token.
|
||||||
|
|
||||||
|
How can you securely distribute the initial token to the trusted entity?
|
||||||
|
|
||||||
## Solution
|
## Solution
|
||||||
|
|
||||||
|
@ -81,6 +86,11 @@ path "auth/token/*" {
|
||||||
path "sys/policy/*" {
|
path "sys/policy/*" {
|
||||||
capabilities = [ "create", "read", "update", "delete", "list" ]
|
capabilities = [ "create", "read", "update", "delete", "list" ]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Manage secret/dev secret backend - for Verification test
|
||||||
|
path "secret/dev" {
|
||||||
|
capabilities = [ "create", "read", "update", "delete", "list" ]
|
||||||
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
## Steps
|
## Steps
|
||||||
|
@ -106,12 +116,19 @@ Secret](/guide/static-secrets.html) guide.
|
||||||
### <a name="step1"></a>Step 1: Create and wrap a token
|
### <a name="step1"></a>Step 1: Create and wrap a token
|
||||||
(**Persona:** admin)
|
(**Persona:** admin)
|
||||||
|
|
||||||
|
To solve the [challenge](#challenge) addressed in this guide:
|
||||||
|
|
||||||
|
1. More privileged token (`admin`) wraps a secret only the expecting client can
|
||||||
|
read
|
||||||
|
2. The receiving client (`app`) unwraps the secret to obtain the token
|
||||||
|
|
||||||
When the response to `vault token-create` request is wrapped, Vault inserts the
|
When the response to `vault token-create` request is wrapped, Vault inserts the
|
||||||
generated token into the cubbyhole of a single-use token, returning that
|
generated token into the cubbyhole of a single-use token, returning that
|
||||||
single-use wrapping token. Retrieving the secret requires an unwrap operation
|
single-use wrapping token. Retrieving the secret requires an unwrap operation
|
||||||
against this wrapping token.
|
against this wrapping token.
|
||||||
|
|
||||||
In this scenario, an [admin user](#personas) creates a token using response wrapping. To perform the steps in this guide, first create a policy for the app.
|
In this scenario, an [admin user](#personas) creates a token using response
|
||||||
|
wrapping. To perform the steps in this guide, first create a policy for the app.
|
||||||
|
|
||||||
`apps-policy.hcl`:
|
`apps-policy.hcl`:
|
||||||
|
|
||||||
|
@ -142,16 +159,16 @@ duration of seconds (15s), minutes (20m), or hours (25h).
|
||||||
|
|
||||||
**Example:**
|
**Example:**
|
||||||
|
|
||||||
Generate a token for `apps` persona using response wrapping with TTL of 60
|
Generate a token for `apps` persona using response wrapping with TTL of 120
|
||||||
seconds.
|
seconds.
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
$ vault token-create -policy=apps -wrap-ttl=60s
|
$ vault token-create -policy=apps -wrap-ttl=120
|
||||||
|
|
||||||
Key Value
|
Key Value
|
||||||
--- -----
|
--- -----
|
||||||
wrapping_token: 9ac59985-094f-a2de-aed8-bf688e436fbc
|
wrapping_token: 9ac59985-094f-a2de-aed8-bf688e436fbc
|
||||||
wrapping_token_ttl: 1m0s
|
wrapping_token_ttl: 2m0s
|
||||||
wrapping_token_creation_time: 2018-01-10 00:47:54.970185208 +0000 UTC
|
wrapping_token_creation_time: 2018-01-10 00:47:54.970185208 +0000 UTC
|
||||||
wrapping_token_creation_path: auth/token/create
|
wrapping_token_creation_path: auth/token/create
|
||||||
wrapped_accessor: 195763a9-3f26-1fcf-6a1a-ee0a11e76cb1
|
wrapped_accessor: 195763a9-3f26-1fcf-6a1a-ee0a11e76cb1
|
||||||
|
@ -210,7 +227,7 @@ seconds (15s), minutes (20m), or hours (25h).
|
||||||
To wrap the response of token-create request:
|
To wrap the response of token-create request:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
$ curl --header "X-Vault-Wrap-TTL: 60s" \
|
$ curl --header "X-Vault-Wrap-TTL: 120" \
|
||||||
--header "X-Vault-Token: ..." \
|
--header "X-Vault-Token: ..." \
|
||||||
--request POST \
|
--request POST \
|
||||||
--data '{"policies":["apps"]}' \
|
--data '{"policies":["apps"]}' \
|
||||||
|
@ -223,7 +240,7 @@ $ curl --header "X-Vault-Wrap-TTL: 60s" \
|
||||||
"data": null,
|
"data": null,
|
||||||
"wrap_info": {
|
"wrap_info": {
|
||||||
"token": "e095129f-123a-4fef-c007-1f6a487cfa78",
|
"token": "e095129f-123a-4fef-c007-1f6a487cfa78",
|
||||||
"ttl": 60,
|
"ttl": 120,
|
||||||
"creation_time": "2018-01-10T01:43:38.025351336Z",
|
"creation_time": "2018-01-10T01:43:38.025351336Z",
|
||||||
"creation_path": "auth/token/create",
|
"creation_path": "auth/token/create",
|
||||||
"wrapped_accessor": "44e8253c-65b4-1690-1bf1-7902a7a6b2aa"
|
"wrapped_accessor": "44e8253c-65b4-1690-1bf1-7902a7a6b2aa"
|
||||||
|
@ -249,9 +266,47 @@ token and none arrives, this may be due to an attacker intercepting the token
|
||||||
and then preventing it from traveling further. This should cause an alert to
|
and then preventing it from traveling further. This should cause an alert to
|
||||||
trigger an immediate investigation.
|
trigger an immediate investigation.
|
||||||
|
|
||||||
|
The following tasks will be performed to demonstrate the client operations:
|
||||||
|
|
||||||
|
1. Create a token with **`default`** policy
|
||||||
|
2. Authenticate with Vault using this `default` token (less privileged token)
|
||||||
|
3. Unwrap the secret to obtain more privileged token (**`apps`** persona token)
|
||||||
|
4. Verify that you can read `secret/dev` using the `apps`token
|
||||||
|
|
||||||
|
|
||||||
#### CLI command
|
#### CLI command
|
||||||
|
|
||||||
To unwrap the secret:
|
First, create a token with `default` policy:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
# Create a token with `default` policy
|
||||||
|
$ vault token-create -policy=default
|
||||||
|
Key Value
|
||||||
|
--- -----
|
||||||
|
token 4522b2e8-27fe-bdc5-b932-d982f3166c6c
|
||||||
|
token_accessor 96108f48-7475-6190-b058-769a2e5ebc8e
|
||||||
|
token_duration 768h0m0s
|
||||||
|
token_renewable true
|
||||||
|
token_policies [default]
|
||||||
|
|
||||||
|
# Authenticate using the generated token
|
||||||
|
$ vault auth 4522b2e8-27fe-bdc5-b932-d982f3166c6c
|
||||||
|
Successfully authenticated! You are now logged in.
|
||||||
|
token: 4522b2e8-27fe-bdc5-b932-d982f3166c6c
|
||||||
|
token_duration: 2764729
|
||||||
|
token_policies: [default]
|
||||||
|
|
||||||
|
# Verify that you do NOT have a permission to read secret/dev
|
||||||
|
$ vault read secret/dev
|
||||||
|
Error reading secret/dev: Error making API request.
|
||||||
|
|
||||||
|
URL: GET http://<VAULT_ADDRESS>/v1/secret/dev
|
||||||
|
Code: 403. Errors:
|
||||||
|
|
||||||
|
* permission denied
|
||||||
|
```
|
||||||
|
|
||||||
|
The command to unwrap the wrapped secret is:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
$ vault unwrap <WRAPPING_TOKEN>
|
$ vault unwrap <WRAPPING_TOKEN>
|
||||||
|
@ -262,9 +317,6 @@ Or
|
||||||
$ VAULT_TOKEN=<WRAPPING_TOKEN> vault unwrap
|
$ VAULT_TOKEN=<WRAPPING_TOKEN> vault unwrap
|
||||||
```
|
```
|
||||||
|
|
||||||
In this scenario, the wrapped secret is a Vault token. Therefore, it probably
|
|
||||||
makes better sense to use the second option.
|
|
||||||
|
|
||||||
**Example:**
|
**Example:**
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
|
@ -279,6 +331,8 @@ token_renewable true
|
||||||
token_policies [apps default]
|
token_policies [apps default]
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Verify that this token has `apps` policy attached.
|
||||||
|
|
||||||
Once the client acquired the token, future requests can be made using this
|
Once the client acquired the token, future requests can be made using this
|
||||||
token.
|
token.
|
||||||
|
|
||||||
|
@ -291,7 +345,37 @@ No value found at secret/dev
|
||||||
|
|
||||||
#### API call using cURL
|
#### API call using cURL
|
||||||
|
|
||||||
To unwrap the secret, use `/sys/wrapping/unwrap` endpoint:
|
First, create a token with `default` policy:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
# Create a new token default policy
|
||||||
|
$ curl --header "X-Vault-Token: ..." --request POST \
|
||||||
|
--data '{"policies": "default"}' \
|
||||||
|
https://vault.rocks/v1/auth/token/create | jq
|
||||||
|
{
|
||||||
|
...
|
||||||
|
"auth": {
|
||||||
|
"client_token": "5fe14760-b0fd-22dc-403c-14a05003b67f",
|
||||||
|
"accessor": "e709610e-916e-f7e3-b93b-41f4dfdca7a0",
|
||||||
|
"policies": [
|
||||||
|
"default"
|
||||||
|
],
|
||||||
|
...
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# Verify that you can NOT read secret/dev using default token
|
||||||
|
$ curl --header "X-Vault-Token: 5fe14760-b0fd-22dc-403c-14a05003b67f" \
|
||||||
|
--request GET \
|
||||||
|
https://vault.rocks/v1/secret/dev | jq
|
||||||
|
{
|
||||||
|
"errors": [
|
||||||
|
"permission denied"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
Now, unwrap the secret using `/sys/wrapping/unwrap` endpoint:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
$ curl --header "X-Vault-Token: <WRAPPING_TOKEN>" \
|
$ curl --header "X-Vault-Token: <WRAPPING_TOKEN>" \
|
||||||
|
@ -339,6 +423,8 @@ $ curl --header "X-Vault-Token: af5f7682-aa55-fa37-5039-ee116df56600" \
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Since there is no data in `secret/dev`, it returns an empty array.
|
||||||
|
|
||||||
## Additional Discussion
|
## Additional Discussion
|
||||||
|
|
||||||
The `cubbyhole` secret backend provides your own private secret storage space
|
The `cubbyhole` secret backend provides your own private secret storage space
|
|
@ -1,7 +1,7 @@
|
||||||
---
|
---
|
||||||
layout: "guides"
|
layout: "guides"
|
||||||
page_title: "Secret as a Service - Guides"
|
page_title: "Secret as a Service - Guides"
|
||||||
sidebar_current: "guides--dataynamic-secrets"
|
sidebar_current: "guides-secret-mgmt-dataynamic-secrets"
|
||||||
description: |-
|
description: |-
|
||||||
Vault can dynamically generate secrets on--dataemand for some systems.
|
Vault can dynamically generate secrets on--dataemand for some systems.
|
||||||
---
|
---
|
31
website/source/guides/secret-mgmt/index.html.md
Normal file
31
website/source/guides/secret-mgmt/index.html.md
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
---
|
||||||
|
layout: "guides"
|
||||||
|
page_title: "Secret Management - Guides"
|
||||||
|
sidebar_current: "guides-secret-mgmt"
|
||||||
|
description: |-
|
||||||
|
A very common use case of Vault is to manage your organization's secrets from
|
||||||
|
storing credentials and API keys to encrypting passwords for user signups.
|
||||||
|
Vault is meant to be a solution for all secret management needs.
|
||||||
|
---
|
||||||
|
|
||||||
|
# Secret Management
|
||||||
|
|
||||||
|
Vault is a tool for securely accessing secrets. A secret is anything that you
|
||||||
|
want to tightly control access to, such as API keys, passwords, certificates,
|
||||||
|
and more. Vault provides a unified interface to any secret while providing
|
||||||
|
tight access control and recording a detailed audit log.
|
||||||
|
|
||||||
|
Secret Management guides demonstrate features in Vault to securely store your
|
||||||
|
secrets.
|
||||||
|
|
||||||
|
- [Static Secrets](/guides/secret-mgmt/static-secrets.html) guide walks you
|
||||||
|
through the steps to write secrets in Vault, and control who can access them.
|
||||||
|
|
||||||
|
- [Secret as a Service: Dynamic Secrets](/guides/secret-mgmt/dynamic-secrets.html)
|
||||||
|
guide demonstrates the Vault feature to generate database credentials
|
||||||
|
on-demand so that each application or system can obtain its own credentials,
|
||||||
|
and its permissions can be tightly controlled.
|
||||||
|
|
||||||
|
- [Cubbyhole Response Wrapping](/guides/secret-mgmt/cubbyhole.html) guide
|
||||||
|
demonstrates a secure method to distribute secrets by wrapping them where only
|
||||||
|
the expecting client can unwrap.
|
|
@ -1,7 +1,7 @@
|
||||||
---
|
---
|
||||||
layout: "guides"
|
layout: "guides"
|
||||||
page_title: "Static Secrets - Guides"
|
page_title: "Static Secrets - Guides"
|
||||||
sidebar_current: "guides-static-secrets"
|
sidebar_current: "guides-secret-mgmt-static-secrets"
|
||||||
description: |-
|
description: |-
|
||||||
Vault supports generating new unseal keys as well as rotating the underlying
|
Vault supports generating new unseal keys as well as rotating the underlying
|
||||||
encryption keys. This guide covers rekeying and rotating Vault's encryption
|
encryption keys. This guide covers rekeying and rotating Vault's encryption
|
|
@ -3,50 +3,59 @@
|
||||||
<ul class="nav docs-sidenav">
|
<ul class="nav docs-sidenav">
|
||||||
|
|
||||||
|
|
||||||
<li<%= sidebar_current("guides-policy") %>>
|
<li<%= sidebar_current("getting-started")%>>
|
||||||
<a href="/guides/policies.html">Policies</a>
|
<a href="/guides/getting-started/index.html">Getting Started</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li<%= sidebar_current("guides-authentication") %>>
|
<li<%= sidebar_current("guides-operations")%>>
|
||||||
<a href="/guides/authentication.html">AppRole Pull Authentication</a>
|
<a href="/guides/operations/index.html">Vault Operations</a>
|
||||||
|
<ul class="nav">
|
||||||
|
<li<%= sidebar_current("guides-operations-production-hardening") %>>
|
||||||
|
<a href="/guides/operations/production.html">Production Hardening</a>
|
||||||
|
</li>
|
||||||
|
<li<%= sidebar_current("guides-operations-replication") %>>
|
||||||
|
<a href="/guides/operations/replication.html">Replication Setup & Guidance</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li<%= sidebar_current("guides-static-secrets") %>>
|
<li<%= sidebar_current("guides-configuration")%>>
|
||||||
<a href="/guides/static-secrets.html">Static Secrets</a>
|
<a href="/guides/configuration/index.html">Vault Configuration</a>
|
||||||
|
<ul class="nav">
|
||||||
|
<li<%= sidebar_current("guides-configuration-policies") %>>
|
||||||
|
<a href="/guides/configuration/policies.html">Policies</a>
|
||||||
|
</li>
|
||||||
|
<li<%= sidebar_current("guides-configuration-authentication") %>>
|
||||||
|
<a href="/guides/configuration/authentication.html">AppRole Pull Authentication</a>
|
||||||
|
</li>
|
||||||
|
<li<%= sidebar_current("guides-configuration-lease") %>>
|
||||||
|
<a href="/guides/configuration/lease.html">Tokens and Leases</a>
|
||||||
|
</li>
|
||||||
|
<li<%= sidebar_current("guides-configuration-generate-root") %>>
|
||||||
|
<a href="/guides/configuration/generate-root.html">Root Token Generation</a>
|
||||||
|
</li>
|
||||||
|
<li<%= sidebar_current("guides-configuration-rekeying-and-rotating") %>>
|
||||||
|
<a href="/guides/configuration/rekeying-and-rotating.html">Rekeying & Rotating</a>
|
||||||
|
</li>
|
||||||
|
<li<%= sidebar_current("guides-configuration-plugin-backends") %>>
|
||||||
|
<a href="/guides/configuration/plugin-backends.html">Building Plugin Backends</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li<%= sidebar_current("guides-dynamic-secrets") %>>
|
<li<%= sidebar_current("guides-secret-mgmt")%>>
|
||||||
<a href="/guides/dynamic-secrets.html">Secret as a Service</a>
|
<a href="/guides/secret-mgmt/index.html">Secret Management</a>
|
||||||
</li>
|
<ul class="nav">
|
||||||
|
<li<%= sidebar_current("guides-secret-mgmt-static-secrets") %>>
|
||||||
<li<%= sidebar_current("guides-lease") %>>
|
<a href="/guides/secret-mgmt/static-secrets.html">Static Secrets</a>
|
||||||
<a href="/guides/lease.html">Tokens and Leases</a>
|
</li>
|
||||||
</li>
|
<li<%= sidebar_current("guides-secret-mgmt-dataynamic-secrets") %>>
|
||||||
|
<a href="/guides/secret-mgmt/dynamic-secrets.html">Secret as a Service</a>
|
||||||
<li<%= sidebar_current("guides-cubbyhole") %>>
|
</li>
|
||||||
<a href="/guides/cubbyhole.html">Cubbyhole Response Wrapping</a>
|
<li<%= sidebar_current("guides-secret-mgmt-cubbyhole") %>>
|
||||||
</li>
|
<a href="/guides/secret-mgmt/cubbyhole.html">Cubbyhole Response Wrapping</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
<li<%= sidebar_current("guides-production-hardening") %>>
|
|
||||||
<a href="/guides/production.html">Production Hardening</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<li<%= sidebar_current("guides-generate-root") %>>
|
|
||||||
<a href="/guides/generate-root.html">Root Token Generation</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<li<%= sidebar_current("guides-rekeying-and-rotate") %>>
|
|
||||||
<a href="/guides/rekeying-and-rotating.html">Rekeying & Rotating</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<li<%= sidebar_current("guides-replication") %>>
|
|
||||||
<a href="/guides/replication.html">Replication Setup & Guidance</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<li<%= sidebar_current("guides-plugin-backends") %>>
|
|
||||||
<a href="/guides/plugin-backends.html">Building Plugin Backends</a>
|
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<hr>
|
<hr>
|
||||||
|
|
Loading…
Reference in a new issue