Tailscale Schema¶
graph LR
A(Tailnet) -- RESOURCE --> U(User)
A -- RESOURCE --> D(Device)
A -- RESOURCE --> PI(PostureIntegration)
A -- RESOURCE --> G(Group)
A -- RESOURCE --> T(Tag)
U -- OWNS --> D
U -- MEMBER_OF --> G
G -- MEMBER_OF --> G
U -- OWNS --> T
G -- OWNS --> T
D -- TAGGED --> T
TailscaleTailnet¶
Settings for a tailnet (aka Tenant).
Field |
Description |
|---|---|
id |
ID of the Tailnet (name of the organization) |
firstseen |
Timestamp of when a sync job first created this node |
lastupdated |
Timestamp of the last time the node was updated |
devices_approval_on |
Whether device approval is enabled for the tailnet. |
devices_auto_updates_on |
Whether auto updates are enabled for devices that belong to this tailnet. |
devices_key_duration_days |
The key expiry duration for devices on this tailnet. |
users_approval_on |
Whether user approval is enabled for this tailnet. |
users_role_allowed_to_join_external_tailnets |
Which user roles are allowed to join external tailnets. |
network_flow_logging_on |
Whether network flog logs are enabled for the tailnet. |
regional_routing_on |
Whether regional routing is enabled for the tailnet. |
posture_identity_collection_on |
Whether identity collection is enabled for device posture integrations for the tailnet. |
Relationships¶
User,Device,PostureIntegration,Group,Tagbelong to aTailnet.(:TailscaleTailnet)-[:RESOURCE]->( :TailscaleUser, :TailscaleDevice, :TailscalePostureIntegration, :TailscaleGroup, :Tailscale:Tag )
TailscaleUser¶
Representation of a user within a tailnet.
Field |
Description |
|---|---|
id |
The unique identifier for the user. |
firstseen |
Timestamp of when a sync job first created this node |
lastupdated |
Timestamp of the last time the node was updated |
display_name |
The name of the user. |
login_name |
The emailish login name of the user. |
The email of the user. |
|
profile_pic_url |
The profile pic URL for the user. |
created |
The time the user joined their tailnet. |
type |
The type of relation this user has to the tailnet associated with the request. |
role |
The role of the user. Learn more about user roles. |
status |
The status of the user. |
device_count |
Number of devices the user owns. |
last_seen |
The later of either: |
currently_connected |
|
Relationships¶
Userbelongs to aTailnet.(:TailscaleTailnet)-[:RESOURCE]->(:TailscaleUser)Deviceis owned by aUser.(:TailscaleUser)-[:OWNS]->(:TailscaleDevice)Usersare member of aGroup(:TailscaleUser)-[:MEMBER_OF]->(:TailscaleGroup)Usersown aTag(:TailscaleUser)-[:OWNS]->(:TailscaleTag)
TailscaleDevice¶
A Tailscale device (sometimes referred to as node or machine), is any computer or mobile device that joins a tailnet.
Field |
Description |
|---|---|
id |
The preferred identifier for a device |
firstseen |
Timestamp of when a sync job first created this node |
lastupdated |
Timestamp of the last time the node was updated |
name |
The MagicDNS name of the device. |
hostname |
The machine name in the admin console. |
client_version |
The version of the Tailscale client |
update_available |
‘true’ if a Tailscale client version |
os |
The operating system that the device is running. |
created |
The date on which the device was added |
last_seen |
When device was last active on the tailnet. |
key_expiry_disabled |
‘true’ if the keys for the device will not expire. |
expires |
The expiration date of the device’s auth key. |
authorized |
‘true’ if the device has been authorized to join the tailnet; otherwise, ‘false’. |
is_external |
‘true’, indicates that a device is not a member of the tailnet, but is shared in to the tailnet; |
node_key |
Mostly for internal use, required for select operations, such as adding a node to a locked tailnet. |
blocks_incoming_connections |
‘true’ if the device is not allowed to accept any connections over Tailscale, including pings. |
client_connectivity_endpoints |
Client’s magicsock UDP IP:port endpoints (IPv4 or IPv6). |
client_connectivity_mapping_varies_by_dest_ip |
‘true’ if the host’s NAT mappings vary based on the destination IP. |
tailnet_lock_error |
Indicates an issue with the tailnet lock node-key signature on this device. |
tailnet_lock_key |
The node’s tailnet lock key. |
posture_identity_serial_numbers |
Posture identification collection |
posture_identity_disabled |
Device posture identification collection enabled |
Relationships¶
Devicebelongs to aTailnet.(:TailscaleTailnet)-[:RESOURCE]->(:TailscaleDevice)Deviceis owned by aUser.(:TailscaleUser)-[:OWNS]->(:TailscaleDevice)Devicesare tagged withTag(:TailscaleDevice)-[:TAGGED]->(:TailscaleTag)
TailscalePostureIntegration¶
A configured PostureIntegration.
Field |
Description |
|---|---|
id |
A unique identifier for the integration (generated by the system). |
firstseen |
Timestamp of when a sync job first created this node |
lastupdated |
Timestamp of the last time the node was updated |
provider |
The device posture provider. |
cloud_id |
Identifies which of the provider’s clouds to integrate with. |
client_id |
Unique identifier for your client. |
tenant_id |
The Microsoft Intune directory (tenant) ID. For other providers, this is left blank. |
config_updated |
Timestamp of the last time this configuration was updated, in RFC 3339 format. |
status_last_sync |
Timestamp of the last synchronization with the device posture provider, in RFC 3339 format. |
status_error |
If the last synchronization failed, this shows the error message associated with the failed synchronization. |
status_provider_host_count |
The number of devices known to the provider. |
status_matched_count |
The number of Tailscale nodes that were matched with provider. |
status_possible_matched_count |
The number of Tailscale nodes with identifiers for matching. |
Relationships¶
PostureIntegrationbelongs to aTailnet.(:TailscaleTailnet)-[:RESOURCE]->(:TailscalePostureIntegration)
TailscaleGroup¶
A group in Tailscale (either group or autogroup).
Field |
Description |
|---|---|
id |
Group ID (eg. |
firstseen |
Timestamp of when a sync job first created this node |
lastupdated |
Timestamp of the last time the node was updated |
name |
The group name (eg. |
Relationships¶
Groupbelongs to aTailnet.(:TailscaleTailnet)-[:RESOURCE]->(:TailscaleGroup)Usersare member of aGroup(:TailscaleUser)-[:MEMBER_OF]->(:TailscaleGroup)Groupsare member of aGroup(:TailscaleGroup)-[:MEMBER_OF]->(:TailscaleGroup)Groupown aTag(:TailscaleGroup)-[:OWNS]->(:TailscaleTag)
TailscaleTag¶
A tag in Tailscale (defined and used by ACL).
Field |
Description |
|---|---|
id |
Tag ID (eg. |
firstseen |
Timestamp of when a sync job first created this node |
lastupdated |
Timestamp of the last time the node was updated |
name |
The tag name (eg. |
Relationships¶
Tagbelongs to aTailnet.(:TailscaleTailnet)-[:RESOURCE]->(:TailscaleTag)Usersown aTag(:TailscaleUser)-[:OWNS]->(:TailscaleTag)Groupown aTag(:TailscaleGroup)-[:OWNS]->(:TailscaleTag)Devicesare tagged withTag(:TailscaleDevice)-[:TAGGED]->(:TailscaleTag)