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
Assure identity and context in microservices call chains
Project Description
Tratteria implements a new IETF OAuth WG draft called "Transaction Tokens" (TraTs). TraTs are short-lived signed JWTs that provide immutable identity and context information in microservices call chains. By providing such immutable context, TraTs prevent attacks like software supply chain, privileged user compromise or malicious insiders, because microservices automatically deny calls that do not have such TraTs associated with them, or the parameters of the call do not match an associated, valid TraT.
Tratteria is a Kubernetes-native framework designed to facilitate the adoption of TraTs in existing applications to secure their call chains. The framework consists of a TraT issuance service, a Kubernetes custom controller for configuration management, and sidecar agents for verifying TraTs. Tratteria requires applications to implement the SPIFFE for service-to-service trust. TraTs generation and verification policies for APIs are described using Kubernetes Custom Resources, allowing applications to describe their services, API endpoints, and immutable context elements (such as path and query parameters, headers, and body elements). Convenient defaults let applications reuse such policy descriptions across a number of microservices. Tratteria documentation includes a tutorial on why TraTs are required, what they are, and how to use them in existing applications. It has a quickstart guide that provides a sample application, which uses the Dex IdP for user authentication and shows the TraTs to the user. While Tratteria can operate alongside service meshes such as Istio, ongoing development aims to optimize this integration, potentially leveraging existing Istio capabilities for improved overall functionality.
Org repo URL (provide if all repos under the org are in scope of the application)
If the project is accepted, I agree the project will follow the CNCF IP Policy
Trademark and accounts
If the project is accepted, I agree to donate all project trademarks and accounts to the CNCF
Why CNCF?
CNCF is a natural venue for this project because:
It addresses the security concerns of almost all microservices based applications, most of which are based on Kubernetes, which is a CNCF project
It builds on top of other CNCF projects such as SPIFFE
It enables Kubernetes based code to rapidly adopt identity and context security
Benefit to the Landscape
The CNCF landscape currently does not have a mechanism to assure identity and context in microservices applications. This is a critical need to thwart software supply chain, privileged user compromise, and privileged insider attacks. All of these have wreaked havoc in large organizations in recent years. Tratteria enables the CNCF to provide a standards-based solution to this important security gap in its portfolio
Cloud Native 'Fit'
Tratteria is useful mostly when one has a Kubernetes based application, which has a number of communicating microservices in it. It is configured using custom Kubernetes resources, and builds on other CNCF projects such as SPIFFE. It also coexists with other CNCF projects like Istio.
Cloud Native 'Integration'
Tratteria depends on SPIFFE, and complements SPIFFE/SPIRE and Istio. It can be thought of as a complement to Kubernetes to ensure security throughout any Kubernetes application.
Cloud Native Overlap
Tratteria does not overlap with other existing CNCF projects, although it might be thought of as an alternative to the Open Policy Agent (OPA) in some circumstances. The approaches to security in OPA and Tratteria are vastly different however.
Similar projects
N/A.
Landscape
No.
Business Product or Service to Project separation
N/A
Project presentations
No response
Project champions
Andrés Vega
Additional information
No response
The text was updated successfully, but these errors were encountered:
Application contact emails
[email protected], [email protected], [email protected]
Project Summary
Assure identity and context in microservices call chains
Project Description
Tratteria implements a new IETF OAuth WG draft called "Transaction Tokens" (TraTs). TraTs are short-lived signed JWTs that provide immutable identity and context information in microservices call chains. By providing such immutable context, TraTs prevent attacks like software supply chain, privileged user compromise or malicious insiders, because microservices automatically deny calls that do not have such TraTs associated with them, or the parameters of the call do not match an associated, valid TraT.
Tratteria is a Kubernetes-native framework designed to facilitate the adoption of TraTs in existing applications to secure their call chains. The framework consists of a TraT issuance service, a Kubernetes custom controller for configuration management, and sidecar agents for verifying TraTs. Tratteria requires applications to implement the SPIFFE for service-to-service trust. TraTs generation and verification policies for APIs are described using Kubernetes Custom Resources, allowing applications to describe their services, API endpoints, and immutable context elements (such as path and query parameters, headers, and body elements). Convenient defaults let applications reuse such policy descriptions across a number of microservices. Tratteria documentation includes a tutorial on why TraTs are required, what they are, and how to use them in existing applications. It has a quickstart guide that provides a sample application, which uses the Dex IdP for user authentication and shows the TraTs to the user. While Tratteria can operate alongside service meshes such as Istio, ongoing development aims to optimize this integration, potentially leveraging existing Istio capabilities for improved overall functionality.
Org repo URL (provide if all repos under the org are in scope of the application)
https://github.com/tratteria/
Project repo URL in scope of application
N/A
Additional repos in scope of the application
No response
Website URL
tratteria.io
Roadmap
https://github.com/orgs/tratteria/projects/1
Roadmap context
No response
Contributing Guide
https://github.com/tratteria/.github/blob/main/CONTRIBUTING.md
Code of Conduct (CoC)
https://github.com/cncf/foundation/blob/main/code-of-conduct.md
Adopters
No response
Contributing or Sponsoring Org
https://sgnl.ai
Maintainers file
https://github.com/tratteria/.github/blob/main/MAINTAINERS.md
IP Policy
Trademark and accounts
Why CNCF?
CNCF is a natural venue for this project because:
Benefit to the Landscape
The CNCF landscape currently does not have a mechanism to assure identity and context in microservices applications. This is a critical need to thwart software supply chain, privileged user compromise, and privileged insider attacks. All of these have wreaked havoc in large organizations in recent years. Tratteria enables the CNCF to provide a standards-based solution to this important security gap in its portfolio
Cloud Native 'Fit'
Tratteria is useful mostly when one has a Kubernetes based application, which has a number of communicating microservices in it. It is configured using custom Kubernetes resources, and builds on other CNCF projects such as SPIFFE. It also coexists with other CNCF projects like Istio.
Cloud Native 'Integration'
Tratteria depends on SPIFFE, and complements SPIFFE/SPIRE and Istio. It can be thought of as a complement to Kubernetes to ensure security throughout any Kubernetes application.
Cloud Native Overlap
Tratteria does not overlap with other existing CNCF projects, although it might be thought of as an alternative to the Open Policy Agent (OPA) in some circumstances. The approaches to security in OPA and Tratteria are vastly different however.
Similar projects
N/A.
Landscape
No.
Business Product or Service to Project separation
N/A
Project presentations
No response
Project champions
Andrés Vega
Additional information
No response
The text was updated successfully, but these errors were encountered: