mirror of
https://github.com/pomerium/pomerium.git
synced 2025-06-14 16:52:58 +02:00
update script and apply
This commit is contained in:
parent
2fecb4e583
commit
91d4d22156
9 changed files with 191 additions and 169 deletions
|
@ -210,7 +210,19 @@ module.exports = {
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
"prometheus",
|
"prometheus",
|
||||||
"reference",
|
{
|
||||||
|
title: "Reference",
|
||||||
|
type: "group",
|
||||||
|
collapsable: false,
|
||||||
|
path: "/enterprise/reference/configure",
|
||||||
|
sidebarDepth: 2,
|
||||||
|
children: [
|
||||||
|
"/enterprise/reference/configuration-settings",
|
||||||
|
"/enterprise/reference/configure",
|
||||||
|
"/enterprise/reference/manage",
|
||||||
|
"/enterprise/reference/reports",
|
||||||
|
]
|
||||||
|
}
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
|
|
@ -80,7 +80,7 @@ settings:
|
||||||
- name: "Policies"
|
- name: "Policies"
|
||||||
keys: ["Policy"]
|
keys: ["Policy"]
|
||||||
doc: |
|
doc: |
|
||||||
A Policy defines what permissions a set of users or groups has. Policies are applied to [Namespaces](#namespaces) or [Routes](#routes) to associate the set of permissions with a service or set of service, completing the authentication model.
|
A Policy defines what permissions a set of users or groups has. Policies are applied to Namespaces or Routes to associate the set of permissions with a service or set of service, completing the authentication model.
|
||||||
|
|
||||||
::: tip
|
::: tip
|
||||||
This is a separate concept from [policies](../reference/#policy) in the non-enterprise model. In open-source Pomerium, the `policy` block defines both routes and access.
|
This is a separate concept from [policies](../reference/#policy) in the non-enterprise model. In open-source Pomerium, the `policy` block defines both routes and access.
|
||||||
|
@ -92,13 +92,13 @@ settings:
|
||||||
|
|
||||||
From the **BUILDER** tab, users can add allow or deny blocks to a policy, containing and/or/not/nor logic to allow or deny sets of users and groups.
|
From the **BUILDER** tab, users can add allow or deny blocks to a policy, containing and/or/not/nor logic to allow or deny sets of users and groups.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
#### Pomerium Policy Language
|
#### Pomerium Policy Language
|
||||||
|
|
||||||
From the **EDITOR** tab users can write policies in Pomerium Policy Language (**PPL**), a YAML-based notation.
|
From the **EDITOR** tab users can write policies in Pomerium Policy Language (**PPL**), a YAML-based notation.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
#### Rego
|
#### Rego
|
||||||
|
|
||||||
|
|
|
@ -1,160 +0,0 @@
|
||||||
---
|
|
||||||
title: Reference
|
|
||||||
lang: en-US
|
|
||||||
sidebarDepth: 2
|
|
||||||
meta:
|
|
||||||
- name: keywords
|
|
||||||
content: configuration options settings Pomerium enterprise console
|
|
||||||
---
|
|
||||||
|
|
||||||
# Pomerium Enterprise Console Settings
|
|
||||||
|
|
||||||
The Pomerium Enterprise Console is initially configured using a configuration file ([YAML]/[JSON]/[TOML]) or environment variables. In general, environmental variable keys are identical to config file keys but are uppercase.
|
|
||||||
|
|
||||||
If you are coming from a Kubernetes or docker background this should feel familiar. If not, check out the following primers.
|
|
||||||
|
|
||||||
- [Store config in the environment](https://12factor.net/config)
|
|
||||||
- [Kubernetes: Environment variables](https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/)
|
|
||||||
- [Kubernetes: Config Maps](https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/)
|
|
||||||
- [Docker: Environment variables](https://docs.docker.com/compose/environment-variables/)
|
|
||||||
|
|
||||||
Using both [environmental variables] and config file keys is allowed and encouraged (for instance, secret keys are probably best set as environmental variables). However, if duplicate configuration keys are found, environment variables take precedence.
|
|
||||||
|
|
||||||
Additional configuration and the setting of routes and policies is performed through the web user interface (**UI**).
|
|
||||||
|
|
||||||
|
|
||||||
## Configuration Settings
|
|
||||||
These configuration values are set in the `config.yaml` file for Pomerium Enterprise Console, or as environment variables. Once the console is accessible, configuration is adjusted through the web UI.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### User Impersonation
|
|
||||||
@travis fill me with delicious data!
|
|
||||||
|
|
||||||
|
|
||||||
## Reports
|
|
||||||
|
|
||||||
### Traffic
|
|
||||||
|
|
||||||
### Runtime
|
|
||||||
|
|
||||||
### Sessions
|
|
||||||
|
|
||||||
### Events
|
|
||||||
|
|
||||||
### Deployments
|
|
||||||
|
|
||||||
## Manage
|
|
||||||
|
|
||||||
### Routes
|
|
||||||
A Route provides access to a service through Pomerium.
|
|
||||||
|
|
||||||
|
|
||||||
#### General
|
|
||||||
The **General** tab defines the route path, both from the internet and to the internal service, and the policies attached. Note that policies enforced on a Namespace the Route resides in will also be applied.
|
|
||||||
|
|
||||||
|
|
||||||
##### Name
|
|
||||||
|
|
||||||
##### From
|
|
||||||
|
|
||||||
##### To
|
|
||||||
|
|
||||||
##### Redirect
|
|
||||||
|
|
||||||
##### Policies
|
|
||||||
|
|
||||||
##### Pass Identity Headers
|
|
||||||
|
|
||||||
##### Enable Google Cloud Serverless Authentication
|
|
||||||
|
|
||||||
#### Matchers
|
|
||||||
|
|
||||||
#### Rewrite
|
|
||||||
|
|
||||||
#### Timeouts
|
|
||||||
|
|
||||||
#### Headers
|
|
||||||
|
|
||||||
#### Load Balancer
|
|
||||||
|
|
||||||
### Policies
|
|
||||||
A Policy defines what permissions a set of users or groups has. Policies are applied to [Namespaces](#namespaces) or [Routes](#routes) to associate the set of permissions with a service or set of service, completing the authentication model.
|
|
||||||
|
|
||||||
::: tip
|
|
||||||
This is a separate concept from [policies](../reference/#policy) in the non-enterprise model. In open-source Pomerium, the `policy` block defines both routes and access.
|
|
||||||
:::
|
|
||||||
|
|
||||||
Policies can be constructed three ways:
|
|
||||||
|
|
||||||
#### Web UI
|
|
||||||
|
|
||||||
From the **BUILDER** tab, users can add allow or deny blocks to a policy, containing and/or/not/nor logic to allow or deny sets of users and groups.
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
#### Pomerium Policy Language
|
|
||||||
|
|
||||||
From the **EDITOR** tab users can write policies in Pomerium Policy Language (**PPL**), a YAML-based notation.
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
#### Rego
|
|
||||||
|
|
||||||
For those using [OPA](https://www.openpolicyagent.org/), the **REGO** tab will accept policies written in Rego.
|
|
||||||
|
|
||||||
::: tip
|
|
||||||
A policy can only support PPL or Rego. Once one is set, the other tab is disabled.
|
|
||||||
:::
|
|
||||||
|
|
||||||
#### Overrides
|
|
||||||
- **Any Authenticated User**: This setting will allow access to a route with this policy attached to any user who can authenticate to your Identity Provider (**IdP**).
|
|
||||||
- **CORS Preflight**:
|
|
||||||
- **Public Access**: This setting allows complete, unrestricted access to an associated route. Use this setting with caution.
|
|
||||||
|
|
||||||
|
|
||||||
### Certificates
|
|
||||||
|
|
||||||
## Configure
|
|
||||||
|
|
||||||
### Settings
|
|
||||||
|
|
||||||
#### Global
|
|
||||||
|
|
||||||
#### Cookies
|
|
||||||
|
|
||||||
#### Timeouts
|
|
||||||
|
|
||||||
#### GRPC
|
|
||||||
|
|
||||||
#### Tracing
|
|
||||||
|
|
||||||
#### Authenticate
|
|
||||||
|
|
||||||
#### Authorize
|
|
||||||
|
|
||||||
#### Proxy
|
|
||||||
|
|
||||||
### Service Accounts
|
|
||||||
<!-- Explain Service Accounts -->
|
|
||||||
|
|
||||||
|
|
||||||
### Namespaces
|
|
||||||
A Namespace is a collection of users, groups, routes, and policies that allows system administrators to organize, manage, and delegate permissions across their infrastructure.
|
|
||||||
|
|
||||||
- Policies can be optional or enforced on a Namespace, and they can be nested to create inheritance.
|
|
||||||
- Users or groups can be granted permission to edit access to routes within a Namespace, allowing them self-serve access to the routes critical to their work.
|
|
||||||
|
|
||||||
|
|
||||||
[base64 encoded]: https://en.wikipedia.org/wiki/Base64
|
|
||||||
[elliptic curve]: https://wiki.openssl.org/index.php/Command_Line_Elliptic_Curve_Operations#Generating_EC_Keys_and_Parameters
|
|
||||||
[environmental variables]: https://en.wikipedia.org/wiki/Environment_variable
|
|
||||||
[identity provider]: ../docs/identity-providers/
|
|
||||||
[json]: https://en.wikipedia.org/wiki/JSON
|
|
||||||
[letsencrypt]: https://letsencrypt.org/
|
|
||||||
[oidc rfc]: https://openid.net/specs/openid-connect-core-1_0.html#AuthRequest
|
|
||||||
[okta]: ../docs/identity-providers/okta.md
|
|
||||||
[script]: https://github.com/pomerium/pomerium/blob/master/scripts/generate_wildcard_cert.sh
|
|
||||||
[signed headers]: ../docs/topics/getting-users-identity.md
|
|
||||||
[toml]: https://en.wikipedia.org/wiki/TOML
|
|
||||||
[yaml]: https://en.wikipedia.org/wiki/YAML
|
|
17
docs/enterprise/reference/configuration-settings.md
Normal file
17
docs/enterprise/reference/configuration-settings.md
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
---
|
||||||
|
title: Configuration Settings
|
||||||
|
lang: en-US
|
||||||
|
sidebarDepth: 2
|
||||||
|
meta:
|
||||||
|
- name: keywords
|
||||||
|
content: configuration options settings Pomerium enterprise console
|
||||||
|
---
|
||||||
|
|
||||||
|
# Configuration Settings
|
||||||
|
|
||||||
|
These configuration values are set in the `config.yaml` file for Pomerium Enterprise Console, or as environment variables. Once the console is accessible, configuration is adjusted through the web UI.
|
||||||
|
|
||||||
|
## User Impersonation
|
||||||
|
|
||||||
|
@travis fill me with delicious data!
|
||||||
|
|
40
docs/enterprise/reference/configure.md
Normal file
40
docs/enterprise/reference/configure.md
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
---
|
||||||
|
title: Configure
|
||||||
|
lang: en-US
|
||||||
|
sidebarDepth: 2
|
||||||
|
meta:
|
||||||
|
- name: keywords
|
||||||
|
content: configuration options settings Pomerium enterprise console
|
||||||
|
---
|
||||||
|
|
||||||
|
# Configure
|
||||||
|
|
||||||
|
## Settings
|
||||||
|
|
||||||
|
### Global
|
||||||
|
|
||||||
|
### Cookies
|
||||||
|
|
||||||
|
### Timeouts
|
||||||
|
|
||||||
|
### GRPC
|
||||||
|
|
||||||
|
### Tracing
|
||||||
|
|
||||||
|
### Authenticate
|
||||||
|
|
||||||
|
### Authorize
|
||||||
|
|
||||||
|
### Proxy
|
||||||
|
|
||||||
|
## Service Accounts
|
||||||
|
|
||||||
|
<!-- Explain Service Accounts -->
|
||||||
|
|
||||||
|
## Namespaces
|
||||||
|
|
||||||
|
A Namespace is a collection of users, groups, routes, and policies that allows system administrators to organize, manage, and delegate permissions across their infrastructure.
|
||||||
|
|
||||||
|
- Policies can be optional or enforced on a Namespace, and they can be nested to create inheritance.
|
||||||
|
- Users or groups can be granted permission to edit access to routes within a Namespace, allowing them self-serve access to the routes critical to their work.
|
||||||
|
|
80
docs/enterprise/reference/manage.md
Normal file
80
docs/enterprise/reference/manage.md
Normal file
|
@ -0,0 +1,80 @@
|
||||||
|
---
|
||||||
|
title: Manage
|
||||||
|
lang: en-US
|
||||||
|
sidebarDepth: 2
|
||||||
|
meta:
|
||||||
|
- name: keywords
|
||||||
|
content: configuration options settings Pomerium enterprise console
|
||||||
|
---
|
||||||
|
|
||||||
|
# Manage
|
||||||
|
|
||||||
|
## Routes
|
||||||
|
|
||||||
|
A Route provides access to a service through Pomerium.
|
||||||
|
|
||||||
|
### General
|
||||||
|
|
||||||
|
The **General** tab defines the route path, both from the internet and to the internal service, and the policies attached. Note that policies enforced on a Namespace the Route resides in will also be applied.
|
||||||
|
|
||||||
|
#### Name
|
||||||
|
|
||||||
|
#### From
|
||||||
|
|
||||||
|
#### To
|
||||||
|
|
||||||
|
#### Redirect
|
||||||
|
|
||||||
|
#### Policies
|
||||||
|
|
||||||
|
#### Pass Identity Headers
|
||||||
|
|
||||||
|
#### Enable Google Cloud Serverless Authentication
|
||||||
|
|
||||||
|
### Matchers
|
||||||
|
|
||||||
|
### Rewrite
|
||||||
|
|
||||||
|
### Timeouts
|
||||||
|
|
||||||
|
### Headers
|
||||||
|
|
||||||
|
### Load Balancer
|
||||||
|
|
||||||
|
## Policies
|
||||||
|
|
||||||
|
A Policy defines what permissions a set of users or groups has. Policies are applied to [Namespaces] or [Routes] to associate the set of permissions with a service or set of service, completing the authentication model.
|
||||||
|
|
||||||
|
::: tip
|
||||||
|
This is a separate concept from [policies](../reference/#policy) in the non-enterprise model. In open-source Pomerium, the `policy` block defines both routes and access.
|
||||||
|
:::
|
||||||
|
|
||||||
|
Policies can be constructed three ways:
|
||||||
|
|
||||||
|
#### Web UI
|
||||||
|
|
||||||
|
From the **BUILDER** tab, users can add allow or deny blocks to a policy, containing and/or/not/nor logic to allow or deny sets of users and groups.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
#### Pomerium Policy Language
|
||||||
|
|
||||||
|
From the **EDITOR** tab users can write policies in Pomerium Policy Language (**PPL**), a YAML-based notation.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
#### Rego
|
||||||
|
|
||||||
|
For those using [OPA](https://www.openpolicyagent.org/), the **REGO** tab will accept policies written in Rego.
|
||||||
|
|
||||||
|
::: tip
|
||||||
|
A policy can only support PPL or Rego. Once one is set, the other tab is disabled.
|
||||||
|
:::
|
||||||
|
|
||||||
|
#### Overrides
|
||||||
|
- **Any Authenticated User**: This setting will allow access to a route with this policy attached to any user who can authenticate to your Identity Provider (**IdP**).
|
||||||
|
- **CORS Preflight**:
|
||||||
|
- **Public Access**: This setting allows complete, unrestricted access to an associated route. Use this setting with caution.
|
||||||
|
|
||||||
|
## Certificates
|
||||||
|
|
21
docs/enterprise/reference/reports.md
Normal file
21
docs/enterprise/reference/reports.md
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
---
|
||||||
|
title: Reports
|
||||||
|
lang: en-US
|
||||||
|
sidebarDepth: 2
|
||||||
|
meta:
|
||||||
|
- name: keywords
|
||||||
|
content: configuration options settings Pomerium enterprise console
|
||||||
|
---
|
||||||
|
|
||||||
|
# Reports
|
||||||
|
|
||||||
|
## Traffic
|
||||||
|
|
||||||
|
## Runtime
|
||||||
|
|
||||||
|
## Sessions
|
||||||
|
|
||||||
|
## Events
|
||||||
|
|
||||||
|
## Deployments
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
{
|
{
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@vuepress/plugin-google-analytics": "1.8.2",
|
"@vuepress/plugin-google-analytics": "1.8.2",
|
||||||
|
"js-yaml": "^4.1.0",
|
||||||
"vuepress": "1.8.2",
|
"vuepress": "1.8.2",
|
||||||
"vuepress-plugin-check-md": "0.0.2",
|
"vuepress-plugin-check-md": "0.0.2",
|
||||||
"vuepress-plugin-element-tabs": "^0.2.8",
|
"vuepress-plugin-element-tabs": "^0.2.8",
|
||||||
|
@ -9,7 +10,8 @@
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"docs:dev": "vuepress dev docs",
|
"docs:dev": "vuepress dev docs",
|
||||||
"docs:build": "vuepress build docs",
|
"docs:build": "vuepress build docs",
|
||||||
"docs:check-md": "vuepress check-md"
|
"docs:check-md": "vuepress check-md",
|
||||||
|
"buildref": "node scripts/generate-console-pages.js"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"esm": "3.2.25"
|
"esm": "3.2.25"
|
||||||
|
|
|
@ -6,14 +6,24 @@ const yaml = require('js-yaml');
|
||||||
|
|
||||||
// Functions
|
// Functions
|
||||||
const writePage = (setting) => {
|
const writePage = (setting) => {
|
||||||
console.log('Generating ', setting.name, ".md")
|
console.log('Generating ', setting.name, " page")
|
||||||
|
let frontmatter = `---
|
||||||
|
title: ${setting.name}
|
||||||
|
lang: en-US
|
||||||
|
sidebarDepth: 2
|
||||||
|
meta:
|
||||||
|
- name: keywords
|
||||||
|
content: configuration options settings Pomerium enterprise console
|
||||||
|
---
|
||||||
|
|
||||||
|
`
|
||||||
let path = './docs/enterprise/reference/' + setting.name.replace(/\s/g, '-').toLowerCase() + ".md"
|
let path = './docs/enterprise/reference/' + setting.name.replace(/\s/g, '-').toLowerCase() + ".md"
|
||||||
console.log("path=", path) //For Debugging
|
console.log("path=", path) //For Debugging
|
||||||
let header = '# ' + setting.name + '\n'
|
let header = '# ' + setting.name + '\n' + '\n'
|
||||||
let body = setting.doc ? setting.doc.toString() + '\n' : ''
|
let body = setting.doc ? setting.doc.toString() + '\n' : ''
|
||||||
let moreBody = setting.settings ? setting.settings.map(subsection => writeSubsection(subsection, 2)).join('') : ''
|
let moreBody = setting.settings ? setting.settings.map(subsection => writeSubsection(subsection, 2)).join('') : ''
|
||||||
|
|
||||||
let content = header + body + moreBody
|
let content = frontmatter + header + body + moreBody
|
||||||
fs.writeFileSync(path, content)
|
fs.writeFileSync(path, content)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -22,7 +32,7 @@ const writeSubsection = (subsection, depth) => {
|
||||||
if (!subsection.name) {
|
if (!subsection.name) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
let header = '#'.repeat(depth) + ' ' + subsection.name + '\n'
|
let header = '#'.repeat(depth) + ' ' + subsection.name + '\n' + '\n'
|
||||||
let subContent = subsection.doc ? subsection.doc.toString() + '\n' : ''
|
let subContent = subsection.doc ? subsection.doc.toString() + '\n' : ''
|
||||||
subsection.attributes ? subContent = subContent + subsection.attributes.toString() : null
|
subsection.attributes ? subContent = subContent + subsection.attributes.toString() : null
|
||||||
subsection.settings ? subContent = subContent + subsection.settings.map(turtles => writeSubsection(turtles, depth + 1)).join('') : ''
|
subsection.settings ? subContent = subContent + subsection.settings.map(turtles => writeSubsection(turtles, depth + 1)).join('') : ''
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue