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
Copy file name to clipboardExpand all lines: docs/en/security/workload_security/spire.mdx
+10-57Lines changed: 10 additions & 57 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -16,7 +16,6 @@ The SPIRE plugin includes several components to manage identities:
16
16
-**SPIRE Server**: The central authority that manages trust and issues identities.
17
17
-**SPIRE Agent**: Runs on every node and delivers identities to local workloads.
18
18
-**SPIFFE CSI Driver**: A Container Storage Interface driver that mounts SVIDs as volumes into Pods.
19
-
-**SPIRE Controller Manager**: Automates the registration of Kubernetes workloads.
20
19
-**OIDC Discovery Provider**: Exposes an OIDC discovery document for SPIRE's trust domain.
21
20
22
21
## Workflow
@@ -84,11 +83,18 @@ Once SPIRE is installed, workloads can obtain their SVIDs using the SPIFFE CSI D
84
83
85
84
2. **Workload Authentication**: Your application can now use the SPIFFE Workload API at `/run/spiffe.io/public` to retrieve its identity and certificates.
86
85
86
+
### Attestation
87
+
88
+
Attestation is the process by which SPIRE identifies and verifies the identity of nodes and workloads.
89
+
90
+
- **Node Attestation**: The process where a SPIRE Agent identifies itself to the SPIRE Server. In the Alauda Container Platform, this typically uses the `k8s_psat` (Projected Service Account Token) method. The Agent provides a signed Kubernetes service account token, which the SPIRE Server verifies against the Kubernetes API to confirm the Agent's identity and node location.
91
+
- **Workload Attestation**: The process where a workload identifies itself to the local SPIRE Agent. When a workload requests an identity, the Agent inspects the workload's metadata (such as its Kubernetes namespace, service account name, or Unix user ID) using "selectors". These selectors are then compared against registration entries in the SPIRE Server to determine which SVID the workload is authorized to receive.
92
+
87
93
### Workload Registration
88
94
89
95
By default, the **SPIRE Controller Manager** automatically creates SPIRE entries for Kubernetes workloads based on their labels or service accounts. You can customize this behavior using annotations on your workloads.
90
96
91
-
### End-to-End Implementation Example
97
+
## End-to-End Implementation Example
92
98
93
99
The following example demonstrates a complete SPIRE deployment showing how to set up mutual TLS (mTLS) authentication between workloads using SPIFFE identities.
94
100
@@ -113,62 +119,9 @@ The architecture consists of:
113
119
114
120
Before starting, ensure you have:
115
121
116
-
- A running Kubernetes cluster with storage component deployed
117
-
- Kubelet API listening on 127.0.0.1
118
122
- The `example` namespace created: `kubectl create namespace example`
119
123
120
-
### SPIRE Deployment
121
-
122
-
Deploy SPIRE using the official Helm chart with production-ready configuration:
123
-
124
-
1. Create a `values.yaml` file with the following content:
0 commit comments