Skip to content

Commit ee8035b

Browse files
committed
moves shared secret, redirects
1 parent 0bc7cf9 commit ee8035b

File tree

6 files changed

+90
-98
lines changed

6 files changed

+90
-98
lines changed

content/docs/reference/reference.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -532,7 +532,7 @@
532532
"shared-secret": {
533533
"id": "shared-secret",
534534
"title": "Shared Secret",
535-
"path": "/shared-secret",
535+
"path": "/shared-secret-settings#shared-secret",
536536
"description": "Shared Secret is the base64-encoded, 256-bit key used to mutually authenticate requests between services.",
537537
"services": [],
538538
"type": "string",
@@ -541,7 +541,7 @@
541541
"shared-secret-file": {
542542
"id": "shared-secret-file",
543543
"title": "Shared Secret File",
544-
"path": "/shared-secret-file",
544+
"path": "/shared-secret-settings#shared-secret-file",
545545
"description": "File path containing base64-encoded shared secret.",
546546
"services": [],
547547
"type": "string",

content/docs/reference/shared-secret-file.mdx

-79
This file was deleted.

content/docs/reference/shared-secret.mdx

+81-14
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
---
2-
id: shared-secret
3-
title: Shared Secret
4-
description: |
5-
Shared Secret is the base64 encoded 256-bit key used to mutually authenticate requests between services.
2+
id: shared-secret-settings
3+
title: Shared Secret Settings
4+
description: This page discusses shared secret settings in Pomerium, which are used to mutually authenticate requests between Pomerium services.
65
keywords:
76
- reference
87
- Shared Secret
@@ -14,33 +13,39 @@ toc_max_heading_level: 2
1413
import Tabs from '@theme/Tabs';
1514
import TabItem from '@theme/TabItem';
1615

17-
# Shared Secret
16+
# Shared Secret Settings
1817

19-
## Summary
18+
## Shared Secret
2019

21-
**Shared Secret** is the base64-encoded, 256-bit key used to mutually authenticate requests between services. It's critical that secret keys are random, and stored safely.
20+
**Shared Secret** is the base64-encoded, 256-bit key used to mutually authenticate requests between Pomerium services. It's critical that secret keys are random, and stored safely.
2221

23-
## How to configure
22+
### How to configure
2423

2524
<Tabs>
2625
<TabItem value="Core" label="Core">
2726

2827
| **Config file keys** | **Environment variables** | **Type** | **Usage** |
2928
| :-- | :-- | :-- | :-- |
30-
| `shared_secret` | `SHARED_SECRET` | `string` | **required** (unless using [shared_secret_file](/docs/reference/shared-secret-file)) |
29+
| `shared_secret` | `SHARED_SECRET` | `string` | \***optional** |
3130

32-
:::tip **Note**
31+
\* Standalone Pomerium Core configurations do not require a `shared_secret` or `shared_secret_file`. If you don't set a shared secret, Pomerium will generate one for you.
3332

34-
Pomerium Core configurations do not require a `shared_secret` or `shared_secret_file`. You only need to include a shared secret if you are running the Console.
33+
:::enterprise Shared Secret in Enterprise Configurations
3534

36-
If you are connecting to the Console, your Pomerium Core and Console configurations require the same shared secret.
35+
If you're connecting to the [Enterprise Console](/docs/enterprise), your Pomerium Core and Enterprise configurations each require the same shared secret.
3736

38-
See the [**Enterprise Quickstart**](/docs/enterprise/quickstart) for an example implementation.
37+
See the [Enterprise Quickstart](/docs/enterprise/quickstart) for an example implementation.
3938

4039
:::
4140

4241
### Examples
4342

43+
:::note
44+
45+
If you adjust your shared secret and/or how it's accessed by Pomerium, you may create a [**secret mismatch**](/docs/troubleshooting#shared-secret-mismatch).
46+
47+
:::
48+
4449
To generate a key, run the following command:
4550

4651
```shell
@@ -67,7 +72,69 @@ SHARED_SECRET=wC4RFsEdM1gHFzvRt3XW+iWw6Ddt/1kKkdh66OKxiqs=
6772

6873
| **Name** | **Type** | **Usage** |
6974
| :-- | :-- | :-- |
70-
| `secrets.shared_secret` | `string` | **required** (unless using [shared_secret_file](/docs/reference/shared-secret-file)) |
75+
| `secrets.shared_secret` | `string` | **required** |
76+
77+
See Kubernetes [bootstrap secrets](/docs/k8s/reference#spec) for more information.
78+
79+
</TabItem>
80+
</Tabs>
81+
82+
## Shared Secret File
83+
84+
**Shared Secret File** is the location of a file containing the base64-encoded, 256-bit key used to mutually authenticate requests between Pomerium services. It's critical that secret keys are random, and stored safely.
85+
86+
### How to configure
87+
88+
<Tabs>
89+
<TabItem value="Core" label="Core">
90+
91+
| **Config file keys** | **Environment variables** | **Type** | **Usage** |
92+
| :-- | :-- | :-- | :-- |
93+
| `shared_secret_file` | `SHARED_SECRET_FILE` | `string` | \***optional** |
94+
95+
\* Standalone Pomerium Core configurations do not require a `shared_secret` or `shared_secret_file`. If you don't set a shared secret, Pomerium will generate one for you.
96+
97+
:::enterprise Shared Secret in Enterprise Configurations
98+
99+
If you're connecting to the [Enterprise Console](/docs/enterprise), your Pomerium Core and Enterprise configurations each require the same shared secret.
100+
101+
See the [Enterprise Quickstart](/docs/enterprise/quickstart) for an example implementation.
102+
103+
:::
104+
105+
### Examples
106+
107+
:::note
108+
109+
If you adjust your shared secret and/or how it's accessed by Pomerium, you may create a [**secret mismatch**](/docs/troubleshooting#shared-secret-mismatch).
110+
111+
:::
112+
113+
`shared_secret_file` points to a file containing the secret. This is useful when deploying in environments that provide secret management like [Docker Swarm](https://docs.docker.com/engine/swarm/secrets/).
114+
115+
To generate a key, run the following command:
116+
117+
```shell
118+
head -c32 /dev/urandom | base64
119+
```
120+
121+
Place the value in your `shared_secret_file`:
122+
123+
```yaml
124+
shared_secret_file: '/run/secrets/POMERIUM_SHARED_SECRET'
125+
```
126+
127+
</TabItem>
128+
<TabItem value="Enterprise" label="Enterprise">
129+
130+
`shared_secret_file` is a bootstrap configuration setting and is not configurable in the Console.
131+
132+
</TabItem>
133+
<TabItem value="Kubernetes" label="Kubernetes">
134+
135+
| **Name** | **Type** | **Usage** |
136+
| :-- | :-- | :-- |
137+
| `secrets.shared_secret` | `string` | **required** |
71138

72139
See Kubernetes [bootstrap secrets](/docs/k8s/reference#spec) for more information.
73140

content/docs/reference/signing-key.mdx

+1-1
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ If no certificate is specified, one will be generated and the base64'd public ke
9696

9797
If multiple keys are provided, only the first will be used for signing.
9898

99-
## Key rotation
99+
### Key rotation
100100

101101
To implement key rotation, follow a 3-step process:
102102

content/docs/troubleshooting.mdx

+2-2
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ Events:
148148

149149
### Shared Secret Mismatch
150150

151-
Pomerium's independent services communicate securely using a [shared secret](/docs/reference/shared-secret). When services or the databroker have mismatched secrets, Pomerium will fail.
151+
Pomerium's independent services communicate securely using a [shared secret](/docs/reference/shared-secret). When Pomerium services share a mismatched secret, or these services share a secret that is not the same secret set in the Databroker service, Pomerium will fail.
152152

153153
Pomerium Core will log a shared secret mismatch with:
154154

@@ -163,7 +163,7 @@ Pomerium Core will log a shared secret mismatch with:
163163
}
164164
```
165165

166-
And Pomerium Enterprise will log the error with:
166+
Pomerium Enterprise will log a shared secret mismatch with:
167167

168168
```json
169169
{

static/_redirects

+4
Original file line numberDiff line numberDiff line change
@@ -466,6 +466,10 @@ https://0-20-0.docs.pomerium.com/category/guides https://0-20-0.docs.pomerium.co
466466
/docs/reference/signing-key /docs/reference/signing-key-settings#signing-key
467467
/docs/reference/signing-key-file /docs/reference/signing-key-settings#signing-key-file
468468

469+
# Shared Secret settings
470+
/docs/reference/shared-secret /docs/reference/shared-secret-settings#shared-secret
471+
/docs/reference/shared-secret-file /docs/reference/shared-secret-settings#shared-secret-file
472+
469473
# Topics links - now concepts
470474
/docs/topics/auth-logs /docs/capabilities/audit-logs
471475
/docs/topics/single-sign-out.html /docs/capabilities/single-sign-out

0 commit comments

Comments
 (0)