12. Federation
12. Federation
← Previous: Service Mesh Integration | Index | Next: Rationale →
12.1 Federation Overview
12.1.1 What is Identity Federation
Identity federation enables workloads in different trust domains to establish mutual trust:
| Scenario | Federation Type |
|---|---|
| Multiple Kubernetes clusters | SPIFFE cross-cluster |
| Different cloud providers | Workload identity federation |
| Partner organizations | Trust bundle exchange |
| Hybrid cloud | On-prem to cloud federation |
12.1.2 Federation Challenges
| Challenge | Solution |
|---|---|
| Different trust roots | Trust bundle exchange |
| Network boundaries | Secure federation endpoints |
| Policy consistency | Centralized policy, distributed enforcement |
| Key management | Automated rotation, secure storage |
12.2 SPIFFE Federation
12.2.1 Trust Domains
Each SPIFFE deployment has a trust domain:
| Environment | Trust Domain |
|---|---|
| Production cluster | prod.example.com |
| Staging cluster | staging.example.com |
| Partner org | partner.otherorg.com |
12.2.2 Federation Bundle
Trust bundles contain public keys for verifying identities:
12.2.3 Federation Relationship
12.2.4 SPIRE Federation Configuration
12.2.5 Federation Workflow
12.3 Multi-Cloud Identity
12.3.1 Cloud Workload Identity Federation
Federating between cloud providers:
| Source | Target | Federation Path |
|---|---|---|
| GKE → AWS | GCP WI → AWS STS | OIDC token → AssumeRoleWithWebIdentity |
| EKS → GCP | AWS IAM → GCP WIF | OIDC token → Workload Identity Pool |
| AKS → AWS | Azure WI → AWS STS | OIDC token → AssumeRoleWithWebIdentity |
12.3.2 GCP to AWS Federation
Configuration:
12.3.3 AWS to GCP Federation
12.4 Trust Domain Management
12.4.1 Trust Domain Hierarchy
12.4.2 Trust Domain Policies
| Policy | Description |
|---|---|
| Full trust | All workloads can communicate |
| Selective trust | Only specific SPIFFE IDs allowed |
| One-way trust | Domain A trusts B, B doesn't trust A |
| Transitive trust | A trusts B, B trusts C, therefore A trusts C |
12.4.3 Trust Bundle Lifecycle
12.5 Cross-Cluster Vault Access
12.5.1 Vault Multi-Cluster Authentication
Workloads in cluster B accessing Vault in cluster A:
12.5.2 Multi-Cluster Auth Configuration
12.6 Partner Federation
12.6.1 B2B Federation Requirements
| Requirement | Implementation |
|---|---|
| Trust establishment | Out-of-band bundle exchange |
| Scope limitation | Specific SPIFFE ID patterns |
| Audit | Log all cross-org access |
| Revocation | Immediate bundle removal |
12.6.2 Partner Trust Bundle
12.6.3 Scoped Trust
12.7 Security Considerations
12.7.1 Federation Risks
| Risk | Mitigation |
|---|---|
| Malicious bundle injection | Verify bundle signatures, HTTPS |
| Over-permissive trust | Explicit SPIFFE ID allowlists |
| Lateral movement via federation | Segment federated access |
| Trust anchor compromise | HSM-backed keys, rotation |
12.7.2 Federation Security Controls
| Control | Implementation |
|---|---|
| Bundle verification | HTTPS + SPIFFE endpoint verification |
| Audit | Log all federation events |
| Revocation | Immediate bundle removal capability |
| Scope limitation | SPIFFE ID pattern matching |
12.7.3 Zero Trust Federation
Even with federation, apply zero trust:
12.8 Operational Procedures
12.8.1 Establishing Federation
- Exchange trust bundles out-of-band (secure channel)
- Configure federation endpoints
- Test connectivity with restricted workloads
- Expand access incrementally
- Monitor and audit cross-domain traffic
12.8.2 Rotating Federation Keys
12.8.3 Revoking Federation
12.9 Compliance Mapping
12.9.1 Invariant Enforcement
| Invariant | Federation Implementation |
|---|---|
| INV-1 | Cross-domain SVIDs still cryptographically verified |
| INV-6 | mTLS required for cross-domain communication |
| INV-7 | Policies scope cross-domain access |
| INV-10 | All federation events logged |
12.9.2 Audit Requirements
| Event | Required Context |
|---|---|
| Bundle exchange | Source domain, timestamp, keys |
| Cross-domain auth | Source SPIFFE ID, target, outcome |
| Policy evaluation | Client identity, requested resource, decision |
| Federation removal | Removed domain, reason, operator |
Document Navigation
| Previous | Index | Next |
|---|---|---|
| ← 11. Service Mesh Integration | Table of Contents | 13. Rationale → |
End of Section 12