diff --git a/docs/.vuepress/public/pomerium-container-context.svg b/docs/.vuepress/public/pomerium-container-context.svg new file mode 100644 index 000000000..553a2e444 --- /dev/null +++ b/docs/.vuepress/public/pomerium-container-context.svg @@ -0,0 +1,2 @@ + +
Authorized
Authorized

Secured Service

[Not supported by viewer]
Authorized
Authorized

Secured Service

[Not supported by viewer]
Authorized
Authorized

Secured Service

[Not supported by viewer]
Assert Identity
[Not supported by viewer]
Identity Provider
<font style="font-size: 14px">Identity Provider</font>
Proxy
[Not supported by viewer]
Authenticate
[Not supported by viewer]
Authorize
[Not supported by viewer]
Obtain Identity
[Not supported by viewer]
Obtain Identity
[Not supported by viewer]
Authorize Request
[Not supported by viewer]
Request
[Not supported by viewer]
\ No newline at end of file diff --git a/docs/.vuepress/public/pomerium-system-context.svg b/docs/.vuepress/public/pomerium-system-context.svg new file mode 100644 index 000000000..01aec3453 --- /dev/null +++ b/docs/.vuepress/public/pomerium-system-context.svg @@ -0,0 +1,2 @@ + +
Authorized
Authorized

Secured Service

[Not supported by viewer]
Authorized
Authorized

Secured Service

[Not supported by viewer]
Authorized
Authorized

Secured Service

[Not supported by viewer]
Identify User
Identify User
Identity Provider
<font style="font-size: 14px">Identity Provider</font>
On-Prem Users
[Not supported by viewer]
Remote Users
[Not supported by viewer]
\ No newline at end of file diff --git a/docs/docs/readme.md b/docs/docs/readme.md index 9371832f3..143592302 100644 --- a/docs/docs/readme.md +++ b/docs/docs/readme.md @@ -22,7 +22,34 @@ Pomerium can be used to: ## Architecture -pomerium architecture diagram +### System Level + +Pomerium sits between end users and services which require strong authentication. After verifying identity with your IDP, Pomerium uses a configurable policy to decide how to route your user's request and if they are authorized to the service. + +pomerium architecture diagram + +### Component Level + +Pomerium is composed of 3 logical components: + +- Proxy Service + - All user traffic flows through the proxy + - Initiates authentication flow to Authentication service as needed + - Verifies all requests with Authorization service + - Verifies all requests with Authorization service + - Processes policy to determine external/internal route mappings +- Authentication Service + - Handles authentication flow to your IDP as needed + - Handles identity verification after initial Authentication +- Authorization Service + - Processes policy to determine permissions for each service + - Handles authorization check for all user sessions + +In production deployments, it is recommended that you deploy each component separately. This allows you to limit external attack surface, as well as scale and manage the services independently. + +In test deployments, all three components may run from a single binary and configuration. + +pomerium architecture diagram ## In action