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
refactor(docs): improve formatting and linking on architecture page
This refactors the architecture page to improve readability and navigation. The layout is updated to a single column, the diagram is reoriented, and all components and NIST terms are now linked to their respective pages.
Copy file name to clipboardExpand all lines: docs/architecture.mdx
+57-49Lines changed: 57 additions & 49 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,71 +4,79 @@ sidebar_position: 3
4
4
5
5
# Architecture
6
6
7
-
## Overview
7
+
OpenTDF is built on a flexible, service-oriented architecture designed for robust and fine-grained access control. The platform consists of four core components that work together to protect data throughout its lifecycle. This architecture aligns with the well-established [National Institute of Standards and Technology (NIST)](https://www.nist.gov) model for [Attribute-Based Access Control (ABAC)](https://csrc.nist.gov/projects/attribute-based-access-control), ensuring a standards-based and interoperable approach.
8
8
9
-
The OpenTDF platform is made up of 4 main components:
9
+
## Core Platform Components
10
10
11
-
-**[Policy](components/policy/)** - Manages attribute-based access control (ABAC) policies, including namespaces, attributes, values, and their relationships
12
-
-**[Authorization](components/authorization)** - Handles entitlement decisions based on policy evaluation and entity context
13
-
-**[Key Access Server (KAS)](components/key_access)** - Manages cryptographic keys and provides secure key access for TDF encryption/decryption
14
-
-**[Entity Resolution Service](components/entity_resolution)** - Interfaces with Identity Providers (IdPs) to resolve entity information for authorization decisions
15
-
16
-
## High-Level Architecture
11
+
The four main services of the OpenTDF platform are the Policy Service, Authorization Service, Entity Resolution Service, and the Key Access Server.
The Policy Service is where all access control policies are defined and managed. It provides the tools and APIs to create a rich set of policies that govern data access. This includes not only attributes and their values, but also the definitions of **actions, obligations, and key access mappings**.
58
+
59
+
In the context of the NIST ABAC model, the Policy Service functions as the [Policy Administration Point (PAP)](https://csrc.nist.gov/glossary/term/policy_administration_point).
The Authorization Service is the core decision-making engine of the platform. It is responsible for evaluating the rich policies from the Policy Service against a set of attributes to render an authorization decision.
64
+
65
+
In the context of the NIST ABAC model, it functions as the [Policy Decision Point (PDP)](https://csrc.nist.gov/glossary/term/policy_decision_point).
66
+
67
+
### [Entity Resolution Service (ERS)](components/entity_resolution)
68
+
69
+
The Entity Resolution Service is responsible for gathering the attributes about a subject needed for a decision. By default, it can derive attributes from claims in an authentication token. Optionally, it can be configured to connect to external attribute sources (LDAP, SQL) to "hydrate" the entity with more attributes.
70
+
71
+
In the context of the NIST ABAC model, the ERS functions as the [Policy Information Point (PIP)](https://csrc.nist.gov/glossary/term/policy_information_point).
72
+
73
+
### [Key Access Server (KAS)](components/key_access)
74
+
75
+
The Key Access Server (KAS) enforces access control decisions. Its role is more extensive than a typical enforcement point:
66
76
67
-
The OpenTDF platform components work together to provide secure, policy-based access to encrypted data:
77
+
-**Cryptographic Enforcement:** It enforces decisions by granting or withholding cryptographic keys for TDF decryption.
78
+
-**Encryption Enablement:** It manages key exchanges and enables various TDF encryption modes.
68
79
69
-
1.**Policy Service** defines the rules and attributes that govern access
70
-
2.**Entity Resolution Service** translates authentication tokens into entity representations
71
-
3.**Authorization Service** evaluates policies against entity context to make access decisions
72
-
4.**Key Access Server** enforces those decisions by providing or denying access to decryption keys
80
+
In the context of the NIST ABAC model, the KAS functions as the [Policy Enforcement Point (PEP)](https://csrc.nist.gov/glossary/term/policy_enforcement_point).
73
81
74
-
This architecture enables fine-grained, attribute-based access control while maintaining the security and integrity of encrypted data throughout its lifecycle.
82
+
Furthermore, the OpenTDF platform is designed for flexibility. Developers can **build and integrate their own custom PEPs**. These custom enforcement points can leverage the platform's robust Authorization ([PDP](https://csrc.nist.grov/glossary/term/policy_decision_point)) and Policy ([PAP](https://csrc.nist.gov/glossary/term/policy_administration_point)) services while implementing enforcement logic tailored to specific applications. These custom PEPs can also optionally interface with the KAS to take advantage of its powerful cryptographic capabilities.
0 commit comments