Files
teleport/docs/pages/reference/architecture/trustedclusters.mdx
T
Paul Gottschling 625f63087a Enable Docusaurus tagging in docs frontmatter (#58660)
Replace the `labels` frontmatter field with one called `tags`.
Docusaurus supports tag-based navigation out of the box with the `tags`
field. The original plan was to implement a separate system that allows
for filtering by multiple tags - which Docusaurus does not - but it
makes sense to enable the default approach as a first iteration.
2025-09-05 12:43:55 +00:00

76 lines
3.4 KiB
Plaintext

---
title: Trusted Clusters Architecture
description: Deep dive into design of Teleport Trusted Clusters.
tags:
- conceptual
- zero-trust
---
Teleport can partition compute infrastructure into multiple clusters. A cluster
is a group of Teleport connected resources. Each cluster
manages a set of certificate authorities (CAs) for its users and resources.
Trusted Clusters allow the users of one cluster, the **root cluster**, to
access resources registered with another cluster, the **leaf cluster**, while
remaining authenticated with only a single Auth Service. The leaf cluster can
be running behind a firewall without any ingress ports open.
Uses for Trusted Clusters include:
- Managed service providers (MSP) remotely managing the infrastructure of their clients.
- Device manufacturers remotely maintaining computing appliances deployed on premises.
- Large cloud software vendors managing multiple data centers.
<Admonition type="tip">
Individual nodes and proxies can create reverse tunnels to proxy services without creating a new cluster.
You don't need to set up a trusted cluster just to connect a couple of servers, Kubernetes clusters or
databases behind a firewall.
</Admonition>
## Multi-Data-center Clusters
In the example below, there are three independent clusters:
- Cluster `sso.example.com` is a root cluster. This cluster can be used as a single-sign-on entry point
for your organization. It can have its own independent resources connected to it, or be used just for audit
logs collection and single-sign-on.
- Clusters `us-east-1a` and `us-east-1b` are two independent clusters in different availability zones.
![Trusted clusters](../../../img/architecture/trusted-clusters@1.5x.svg)
## Role Mapping
In Teleport, leaf clusters are autonomous - they have their own state, roles and even local users.
Leaf clusters have autonomy to decide how to map identity of the external users to their local roles.
We call this process role mapping. Take a look at the flow below to understand how it works:
![Role mapping](../../../img/architecture/tc-role-mapping.svg)
### Role mapping and cluster-level labels
You should note that you can use a certificate issued for a root cluster to connect directly
to a leaf cluster because the leaf cluster inherently trusts the root cluster. In most cases,
the trust relationship between the root and leaf clusters provides the desired behavior.
However, this trust relationship can also be exploited if you use cluster labels to enforce authorization
restrictions. Because the leaf cluster trusts the certificate authority of the root cluster, that certificate
can be used to bypass any leaf-specific `cluster_labels` settings that might be intended to restrict access to
the leaf cluster. For example, assume you assign the leaf cluster a label using the following command:
```text
tctl update rc/leaf --set-labels=env=prod
```
This label can't prevent direct access to the leaf cluster if a user has a certificate signed by the root cluster.
You should use role mapping as the primary way to restrict access to leaf clusters and use `cluster_labels` for
filtering and limiting the visibility of leaf cluster resources.
## Next steps
Read the rest of the Architecture Guides:
- See how Teleport uses [Certificates](authentication.mdx) for authentication.
- Reduce your surface of attack using [TLS routing](./tls-routing.mdx).
- Follow our [guide](../../zero-trust-access/management/admin/trustedclusters.mdx) to set up trusted clusters.