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
This repository contains agent and server plugins for [SPIRE](https://github.com/spiffe/spire) to allow [Tailscale](https://tailscale.com) node attestation.
4
+
5
+
## Quick Start
6
+
7
+
Before starting, create a running SPIRE deployment and add the following configuration to the agent and server.
8
+
Both server and agents should be running on a Tailscale node.
9
+
10
+
### Agent Configuration
11
+
12
+
```hcl
13
+
NodeAttestor "tailscale" {
14
+
plugin_cmd = "/path/to/plugin_cmd"
15
+
plugin_checksum = "sha256 of the plugin binary"
16
+
plugin_data {
17
+
}
18
+
}
19
+
```
20
+
21
+
### Server Configuration
22
+
23
+
```hcl
24
+
NodeAttestor "tailscale" {
25
+
plugin_cmd = "/path/to/plugin_cmd"
26
+
plugin_checksum = "sha256 of the plugin binary"
27
+
plugin_data {
28
+
}
29
+
}
30
+
```
31
+
32
+
## How it Works
33
+
34
+
The plugin uses the Tailscale Node public keys as the method of attestation and is inspired on the [client verification](https://tailscale.com/kb/1118/custom-derp-servers/?q=derp#optional-restricting-client-access-to-your-derp-node) in custom DERP servers.
35
+
The plugin operates as follows:
36
+
37
+
1. Agent fetches the Tailscale Node key from the local `tailscaled` agent
38
+
1. Agent sends the key to the server
39
+
1. Server inspects the key and checks if it is a valid key in its Tailscale network.
40
+
1. Server creates a SPIFFE ID in the form of `spiffe://<trust_domain>/spire/agent/ts/<hostname>`
0 commit comments