Skip to content

Support for Mutual TLS (mTLS) Between Router and Subgraphs #3414

@lleadbet

Description

@lleadbet

Is your feature request related to a problem? Please describe.

For many organizations, security is a paramount concern. As they scale, they need to ensure that traffic coming from one service is actually coming from that service. Mutual TLS (mTLS) is a common tactic to enable this, as it ensures both the client and server must exchange certificates to validate they are who they say they are.

Describe the solution you'd like

The router should support mTLS between itself and the subgraphs via configuration.

Describe alternatives you've considered

There are three alternatives currently available, neither fully address the concerns:

  • Use of normal TLS, which while a step in the right direction, also means that it's only validation that the server knows the client's certificate. The traffic to the client can still be sent from anywhere, so it's not proof of server/source.
  • Using a coprocessor to sign subgraph requests with bespoke tokens. This is another layer to the above, and can help significantly, but requires that the server validate the tokens as well.
  • Configuring network isolation. This helps ensure traffic is coming from dedicated sources, but for many organizations, they'll have configured bastion hosts that will make this issue moot.

While mTLS doesn't address all of these concerns, it does help with points of all and many of them would be layered on top.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions