mirror of
https://github.com/pomerium/pomerium.git
synced 2025-05-13 00:58:06 +02:00
Update architecture diagrams (#269)
This commit is contained in:
parent
e3581ebf93
commit
66ce8ed8f2
3 changed files with 32 additions and 1 deletions
2
docs/.vuepress/public/pomerium-container-context.svg
Normal file
2
docs/.vuepress/public/pomerium-container-context.svg
Normal file
File diff suppressed because one or more lines are too long
After Width: | Height: | Size: 67 KiB |
2
docs/.vuepress/public/pomerium-system-context.svg
Normal file
2
docs/.vuepress/public/pomerium-system-context.svg
Normal file
File diff suppressed because one or more lines are too long
After Width: | Height: | Size: 23 KiB |
|
@ -22,7 +22,34 @@ Pomerium can be used to:
|
||||||
|
|
||||||
## Architecture
|
## Architecture
|
||||||
|
|
||||||
<img alt="pomerium architecture diagram" src="/pomerium-diagram.svg" width="100%">
|
### 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.
|
||||||
|
|
||||||
|
<img alt="pomerium architecture diagram" src="/pomerium-system-context.svg" width="65%">
|
||||||
|
|
||||||
|
### 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.
|
||||||
|
|
||||||
|
<img alt="pomerium architecture diagram" src="/pomerium-container-context.svg" width="65%">
|
||||||
|
|
||||||
## In action
|
## In action
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue