You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Enhance PDP documentation with Edge and Cloud distinctions
- Introduced clear definitions and distinctions between Managed Cloud PDP and Edge PDP deployment types.
- Updated sections to emphasize the benefits of Edge PDP for latency-sensitive and advanced scenarios.
- Revised documentation to reflect terminology changes, including the use of "Edge PDP" for self-hosted deployments.
- Added guidance for users on when to choose Edge PDP over Managed Cloud PDP, including specific use cases and deployment models.
Copy file name to clipboardExpand all lines: docs/concepts/pdp/overview.mdx
+38-8Lines changed: 38 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -16,6 +16,16 @@ Like all of Permit's customer deployed components, the [Permit PDP is open-sourc
16
16
## Use the PDP
17
17
There are several ways you can use the PDP for testing and enforcement:
18
18
19
+
### PDP deployment types: Cloud vs Edge
20
+
21
+
When we talk about PDP deployment, we distinguish between:
22
+
23
+
-**Managed Cloud PDP** – A fully managed, multi-tenant PDP hosted by Permit.io at `https://cloudpdp.api.permit.io`.
24
+
Ideal for **fast onboarding**, **low-ops production workloads**, and **standard RBAC/ReBAC** authorization at scale.
25
+
-**Edge PDP (self-hosted PDP)** – PDP containers you run as a **sidecar**, **centralized service**, or **cluster** inside your own VPC, Kubernetes cluster, or VMs.
26
+
Ideal when you need **tight latency within your own network**, **ABAC**, **custom data sources**, **read-your-own-writes**, or **PDP-level callbacks and healthchecks**.
27
+
28
+
Most teams **start** with the Managed Cloud PDP to get value quickly, and then **introduce Edge PDPs** for latency-sensitive or advanced scenarios.
19
29
20
30
### Managed Cloud PDP
21
31
@@ -112,11 +122,11 @@ Cloud PDP supports **RBAC and ReBAC** policy models. **ABAC is not supported** o
112
122
113
123
For detailed capabilities and limits, see [Cloud PDP Capabilities](/concepts/pdp/cloud-pdp-capabilities).
114
124
115
-
We recommend deploying a local PDP inside your network for ABAC policies and for specialized or latency-sensitive production deployments.
125
+
We recommend deploying an **Edge PDP (self-hosted PDP)**inside your network for **ABAC** policies, **read-your-own-writes** semantics, and specialized or latency-sensitive production deployments.
116
126
:::
117
127
118
-
### Run a Local PDP With Docker
119
-
You can run a PDP on your local machine as a container on [Docker Desktop](https://docs.docker.com/get-docker/). You will need this to use ABAC / ReBAC policies.
128
+
### Run an Edge PDP With Docker
129
+
You can run an **Edge PDP** on your local machine as a container on [Docker Desktop](https://docs.docker.com/get-docker/). You will need this to use **ABAC** / advanced policies, custom data sources, and consistency features such as **Send Consistent Updates (read-your-own-writes)**.
120
130
121
131
To run the PDP use the following command:
122
132
@@ -214,7 +224,27 @@ permit = Permit.new(
214
224
215
225
## Production Deployment Models
216
226
217
-
Permit.io supports all PDP layouts and provides the missing layers on-top of open-source PDP solutions (such as OpenPolicyAgent). These layers include policy delivery and updating, supporting data collection, application level SDKs, application level instrumentation and more.
227
+
Permit.io supports all **Edge PDP** layouts and provides the missing layers on-top of open-source PDP solutions (such as OpenPolicyAgent).
228
+
These layouts describe **self-hosted PDPs that you run inside your own infrastructure**.
229
+
These layers include policy delivery and updating, supporting data collection, application level SDKs, application level instrumentation and more.
230
+
231
+
:::info New to PDPs?
232
+
If you're just getting started, follow this journey:
233
+
234
+
-**Step 1** – [Run your First Policy Check (Managed Cloud PDP)](/overview/perform-policy-check-with-cloud-pdp) to see Permit in action with the Managed Cloud PDP.
235
+
-**Step 2** – [Run Local Authorization Microservice (Edge PDP)](/overview/local-authorization-microservice) to deploy an Edge PDP in your own environment.
236
+
:::
237
+
238
+
:::warning Cloud PDP – when not to use it
239
+
The Managed Cloud PDP is powerful and production-ready for many RBAC/ReBAC workloads, but you should **prefer an Edge PDP** when you need:
240
+
241
+
-**ABAC** policies or custom external data sources
242
+
-**Read-your-own-writes** guarantees using [Send Consistent Updates](/how-to/manage-data/local-facts-uploader)
243
+
-**PDP-level callbacks / health-based consistency hooks** into your infrastructure
244
+
-**Hard latency SLOs strictly within your own VPC or on-prem network**
245
+
246
+
For these cases, deploy an **Edge PDP (self-hosted PDP)** as a sidecar, centralized service, or cluster close to your applications.
247
+
:::
218
248
219
249
:::info
220
250
Custom cloud PDP deployments are available to enterprise tier customers.
@@ -224,7 +254,7 @@ Please reach out to us at [support@permit.io](mailto:support@permit.io), or sche
224
254
:::
225
255
226
256
227
-
### Hosted as a Sidecar
257
+
### Hosted as an Edge PDP Sidecar
228
258
229
259
The simplest way to integrate PDPs into a microservices architecture is as sidecars;
230
260
meaning each microservice has a sidecar container next to it which it can query for policy.
@@ -246,7 +276,7 @@ flowchart LR
246
276
style pdp fill:#f76808,color:#fff;
247
277
```
248
278
249
-
### Centralized PDP
279
+
### Centralized Edge PDP
250
280
251
281
You can deploy a centralized PDP to handle authorization queries from multiple services.
252
282
@@ -269,7 +299,7 @@ flowchart LR
269
299
style pdp fill:#f76808,color:#fff;
270
300
```
271
301
272
-
### Cluster of PDPs
302
+
### Cluster of Edge PDPs
273
303
274
304
For high availability and scalability, you can deploy a cluster of PDPs behind a load balancer.
275
305
@@ -300,7 +330,7 @@ flowchart LR
300
330
style lb fill:#4e7ef2,color:#fff;
301
331
```
302
332
303
-
### Sharded PDPs
333
+
### Sharded Edge PDPs
304
334
305
335
For truly massive data sets needed in the PDP, you can apply sharding to split the data between multiple PDPs within the same cluster.
Copy file name to clipboardExpand all lines: docs/how-to/deploy/overview.mdx
+7-6Lines changed: 7 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -35,8 +35,8 @@ The updates happen asynchronously in the background - they are not part of the a
35
35
Like all Permit customer deployed components, the [Permit PDP is open-source](https://github.com/permitio/PDP).
36
36
:::
37
37
38
-
We often refer to the cloud-hosted PDP option as full-SaaS or cloud-PDP, and the local PDP option as [hybrid SaaS](/concepts/control-plane-and-data-plane).
39
-
Hybrid SaaS is the default recommended layout.
38
+
We refer to customer-hosted PDPs (sidecar, cluster, or centralized in your VPC) as **Edge PDPs**, and the cloud-hosted PDP option as the **Managed Cloud PDP**.
39
+
Running an **Edge PDP**is our **default recommendation for production**, while the Managed Cloud PDP is ideal for fast onboarding and low-ops workloads.
40
40
41
41
### Cloud PDP
42
42
@@ -58,7 +58,7 @@ Custom Hosted PDP deployments (e.g. different AWS regions, different clouds, dif
58
58
Please reach out to us at [support@permit.io](mailto:support@permit.io), or schedule a call via this link: [https://calendly.com/permitio/](https://calendly.com/permitio/)
59
59
:::
60
60
61
-
### Sidecar
61
+
### Sidecar (Edge PDP)
62
62
63
63
```mermaid
64
64
flowchart LR
@@ -71,12 +71,12 @@ flowchart LR
71
71
end
72
72
```
73
73
74
-
The most common way to deploy the PDP locally is as a sidecar (or daemon-set) - i.e. you run one PDP container next to each
74
+
The most common way to deploy an **Edge PDP** locally is as a sidecar (or daemon-set) - i.e. you run one PDP container next to each
75
75
of your own microservices.
76
76
This is also the easiest way to scale your authorization layer with your application.
77
77
78
78
In this layout you of course enjoy zero-latency between your application and the PDP - this together with
79
-
improved stability and security (no dependency on other clouds) is the main reason to use a local PDP compared to a cloud pdp.
79
+
improved stability and security (no dependency on other clouds) is the main reason to use an **Edge PDP** compared to the Managed Cloud PDP.
80
80
81
81
#### Running the sidecar in Kubernetes?
82
82
@@ -103,7 +103,8 @@ healthcheck:
103
103
In Kubernetes, use a readiness probe as detailed in [this guide](/how-to/deploy/cloud-hosts/kubernetes-raw/#readiness-probe).
104
104
:::
105
105
106
-
If you need more advanced policy level healthchecks, you can read more about them as part of OPAL [here](https://docs.opal.ac/tutorials/healthcheck_policy_and_update_callbacks/).
106
+
If you need more advanced policy level healthchecks, you can read more about them as part of OPAL [here](https://docs.opal.ac/tutorials/healthcheck_policy_and_update_callbacks/).
107
+
These advanced healthchecks and callbacks apply to **Edge PDPs (self-hosted PDPs)** and are **not available on the Managed Cloud PDP**.
Copy file name to clipboardExpand all lines: docs/overview/perform-policy-check-with-cloud-pdp.mdx
+9-1Lines changed: 9 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,13 +1,21 @@
1
1
---
2
2
sidebar_position: 3
3
-
title: Run your First Policy Check
3
+
title: Run your First Policy Check (Managed Cloud PDP)
4
4
timeline: true
5
5
---
6
6
7
7
Performing your first **policy check** is a key step in understanding and validating the policies you've configured.
8
8
The policy decision point (PDP) lies at the heart of Permit's Authorization system, determining whether a user is authorized
9
9
to perform specific actions on a resource. This ensures that your access control model is working as intended.
10
10
11
+
:::info Which PDP is this using?
12
+
This guide uses the **Managed Cloud PDP** hosted by Permit.io at `https://cloudpdp.api.permit.io`.
13
+
It is **fully managed and eventually consistent**, and is great for quickly trying out Permit and for many production workloads that don't require strict read-your-own-writes guarantees.
14
+
15
+
If you already know you need **ABAC policies**, **strict read-your-own-writes consistency**, or to keep all authorization traffic **inside your own VPC**, you can skip ahead to
16
+
**[Run Local Authorization Microservice (Edge PDP)](/overview/local-authorization-microservice)**.
0 commit comments