testdata: add SaaS captures for compat tests
Golden captures of SaaS filter-rules and netmaps across the ACL, grant, routes, and SSH corpora. These back the data-driven compat tests that verify headscale's policy output against Tailscale SaaS verbatim. Updates #3157
This commit is contained in:
parent
813eb2d733
commit
f49c42e716
1199 changed files with 8873302 additions and 127319 deletions
|
|
@ -1,316 +0,0 @@
|
|||
// GRANT-A1
|
||||
//
|
||||
// Grant: src=['*'] dst=['*'] app={example.com/cap/basic}
|
||||
//
|
||||
// Expected: Rules on 7 nodes
|
||||
{
|
||||
"test_id": "GRANT-A1",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"*"
|
||||
],
|
||||
"app": {
|
||||
"example.com/cap/basic": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "unknown",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.8.15",
|
||||
"ipv6": "fd7a:115c:a1e0::5b37:80f"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.85.66.106/32",
|
||||
"fd7a:115c:a1e0::7c37:426a/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/basic": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.92.142.61/32",
|
||||
"fd7a:115c:a1e0::3e37:8e3d/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/basic": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.83.200.69/32",
|
||||
"fd7a:115c:a1e0::c537:c845/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/basic": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.108.74.26/32",
|
||||
"fd7a:115c:a1e0::b901:4a87/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/basic": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.110.121.96/32",
|
||||
"fd7a:115c:a1e0::1737:7960/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/basic": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.103.90.82/32",
|
||||
"fd7a:115c:a1e0::9e37:5a52/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/basic": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.90.199.68/32",
|
||||
"fd7a:115c:a1e0::2d01:c747/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/basic": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,80 +0,0 @@
|
|||
// GRANT-A2
|
||||
//
|
||||
// Grant: src=['*'] dst=['*'] app={https://tailscale.com/cap/ingress}
|
||||
//
|
||||
// Expected: Error (HTTP 400) — capability name must have the form {domain}/{path}
|
||||
{
|
||||
"test_id": "GRANT-A2",
|
||||
"error": true,
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"*"
|
||||
],
|
||||
"app": {
|
||||
"https://tailscale.com/cap/ingress": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 400,
|
||||
"api_response_body": {
|
||||
"message": "capability name must have the form {domain}/{path}"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,316 +0,0 @@
|
|||
// GRANT-A3
|
||||
//
|
||||
// Grant: src=['*'] dst=['*'] app={tailscale.com/cap/webui}
|
||||
//
|
||||
// Expected: Rules on 7 nodes
|
||||
{
|
||||
"test_id": "GRANT-A3",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"*"
|
||||
],
|
||||
"app": {
|
||||
"tailscale.com/cap/webui": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "unknown",
|
||||
"tags": [],
|
||||
"ipv4": "unknown",
|
||||
"ipv6": "unknown"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.85.66.106/32",
|
||||
"fd7a:115c:a1e0::7c37:426a/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/webui": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.92.142.61/32",
|
||||
"fd7a:115c:a1e0::3e37:8e3d/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/webui": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.83.200.69/32",
|
||||
"fd7a:115c:a1e0::c537:c845/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/webui": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.108.74.26/32",
|
||||
"fd7a:115c:a1e0::b901:4a87/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/webui": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.110.121.96/32",
|
||||
"fd7a:115c:a1e0::1737:7960/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/webui": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.103.90.82/32",
|
||||
"fd7a:115c:a1e0::9e37:5a52/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/webui": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.90.199.68/32",
|
||||
"fd7a:115c:a1e0::2d01:c747/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/webui": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,449 +0,0 @@
|
|||
// GRANT-A4
|
||||
//
|
||||
// Grant: src=['*'] dst=['*'] app={tailscale.com/cap/relay}
|
||||
//
|
||||
// Expected: Rules on 7 nodes
|
||||
{
|
||||
"test_id": "GRANT-A4",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"*"
|
||||
],
|
||||
"app": {
|
||||
"tailscale.com/cap/relay": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "unknown",
|
||||
"tags": [],
|
||||
"ipv4": "unknown",
|
||||
"ipv6": "unknown"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.85.66.106/32",
|
||||
"fd7a:115c:a1e0::7c37:426a/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/relay": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.85.66.106/32",
|
||||
"fd7a:115c:a1e0::7c37:426a/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/relay-target": null
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.92.142.61/32",
|
||||
"fd7a:115c:a1e0::3e37:8e3d/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/relay": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.92.142.61/32",
|
||||
"fd7a:115c:a1e0::3e37:8e3d/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/relay-target": null
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.83.200.69/32",
|
||||
"fd7a:115c:a1e0::c537:c845/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/relay": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.83.200.69/32",
|
||||
"fd7a:115c:a1e0::c537:c845/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/relay-target": null
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.108.74.26/32",
|
||||
"fd7a:115c:a1e0::b901:4a87/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/relay": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.108.74.26/32",
|
||||
"fd7a:115c:a1e0::b901:4a87/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/relay-target": null
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.110.121.96/32",
|
||||
"fd7a:115c:a1e0::1737:7960/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/relay": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.110.121.96/32",
|
||||
"fd7a:115c:a1e0::1737:7960/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/relay-target": null
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.103.90.82/32",
|
||||
"fd7a:115c:a1e0::9e37:5a52/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/relay": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.103.90.82/32",
|
||||
"fd7a:115c:a1e0::9e37:5a52/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/relay-target": null
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.90.199.68/32",
|
||||
"fd7a:115c:a1e0::2d01:c747/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/relay": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.90.199.68/32",
|
||||
"fd7a:115c:a1e0::2d01:c747/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/relay-target": null
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,80 +0,0 @@
|
|||
// GRANT-A5
|
||||
//
|
||||
// Grant: src=['*'] dst=['*'] app={tailscale.com/cap/relay-target}
|
||||
//
|
||||
// Expected: Error (HTTP 400) — capability name must not be in the tailscale.com domain
|
||||
{
|
||||
"test_id": "GRANT-A5",
|
||||
"error": true,
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"*"
|
||||
],
|
||||
"app": {
|
||||
"tailscale.com/cap/relay-target": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 400,
|
||||
"api_response_body": {
|
||||
"message": "capability name must not be in the tailscale.com domain"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,293 +0,0 @@
|
|||
// GRANT-A6
|
||||
//
|
||||
// Grant: src=['autogroup:member'] dst=['autogroup:self'] app={tailscale.com/cap/drive}
|
||||
//
|
||||
// Expected: Rules on user-kris, user-mon, user1
|
||||
{
|
||||
"test_id": "GRANT-A6",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"autogroup:member"
|
||||
],
|
||||
"dst": [
|
||||
"autogroup:self"
|
||||
],
|
||||
"app": {
|
||||
"tailscale.com/cap/drive": [
|
||||
{
|
||||
"shares": [
|
||||
"*"
|
||||
],
|
||||
"access": "rw"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "unknown",
|
||||
"tags": [],
|
||||
"ipv4": "unknown",
|
||||
"ipv6": "unknown"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.110.121.96",
|
||||
"fd7a:115c:a1e0::1737:7960"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.110.121.96/32",
|
||||
"fd7a:115c:a1e0::1737:7960/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive": [
|
||||
{
|
||||
"shares": [
|
||||
"*"
|
||||
],
|
||||
"access": "rw"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.110.121.96",
|
||||
"fd7a:115c:a1e0::1737:7960"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.110.121.96/32",
|
||||
"fd7a:115c:a1e0::1737:7960/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive-sharer": null
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.103.90.82",
|
||||
"fd7a:115c:a1e0::9e37:5a52"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.103.90.82/32",
|
||||
"fd7a:115c:a1e0::9e37:5a52/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive": [
|
||||
{
|
||||
"shares": [
|
||||
"*"
|
||||
],
|
||||
"access": "rw"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.103.90.82",
|
||||
"fd7a:115c:a1e0::9e37:5a52"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.103.90.82/32",
|
||||
"fd7a:115c:a1e0::9e37:5a52/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive-sharer": null
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.90.199.68",
|
||||
"fd7a:115c:a1e0::2d01:c747"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.90.199.68/32",
|
||||
"fd7a:115c:a1e0::2d01:c747/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive": [
|
||||
{
|
||||
"shares": [
|
||||
"*"
|
||||
],
|
||||
"access": "rw"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.90.199.68",
|
||||
"fd7a:115c:a1e0::2d01:c747"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.90.199.68/32",
|
||||
"fd7a:115c:a1e0::2d01:c747/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive-sharer": null
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,196 +0,0 @@
|
|||
// GRANT-B1
|
||||
//
|
||||
// Grant: src=['*'] dst=['tag:server'] app={tailscale.com/cap/kubernetes}
|
||||
//
|
||||
// Expected: Rules on tagged-server
|
||||
{
|
||||
"test_id": "GRANT-B1",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"tag:server"
|
||||
],
|
||||
"app": {
|
||||
"tailscale.com/cap/kubernetes": [
|
||||
{
|
||||
"impersonate": {
|
||||
"groups": [
|
||||
"system:masters"
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "unknown",
|
||||
"tags": [],
|
||||
"ipv4": "unknown",
|
||||
"ipv6": "unknown"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.108.74.26/32",
|
||||
"fd7a:115c:a1e0::b901:4a87/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/kubernetes": [
|
||||
{
|
||||
"impersonate": {
|
||||
"groups": [
|
||||
"system:masters"
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,210 +0,0 @@
|
|||
// GRANT-B2
|
||||
//
|
||||
// Grant: src=['*'] dst=['tag:server'] app={tailscale.com/cap/kubernetes}
|
||||
//
|
||||
// Expected: Rules on tagged-server
|
||||
{
|
||||
"test_id": "GRANT-B2",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"tag:server"
|
||||
],
|
||||
"app": {
|
||||
"tailscale.com/cap/kubernetes": [
|
||||
{
|
||||
"impersonate": {
|
||||
"groups": [
|
||||
"readers"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"impersonate": {
|
||||
"groups": [
|
||||
"writers"
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "unknown",
|
||||
"tags": [],
|
||||
"ipv4": "unknown",
|
||||
"ipv6": "unknown"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.108.74.26/32",
|
||||
"fd7a:115c:a1e0::b901:4a87/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/kubernetes": [
|
||||
{
|
||||
"impersonate": {
|
||||
"groups": [
|
||||
"readers"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"impersonate": {
|
||||
"groups": [
|
||||
"writers"
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,489 +0,0 @@
|
|||
// GRANT-B3
|
||||
//
|
||||
// Grant: src=['*'] dst=['*'] app={tailscale.com/cap/drive}
|
||||
//
|
||||
// Expected: Rules on 7 nodes
|
||||
{
|
||||
"test_id": "GRANT-B3",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"*"
|
||||
],
|
||||
"app": {
|
||||
"tailscale.com/cap/drive": [
|
||||
{
|
||||
"shares": [
|
||||
"docs"
|
||||
],
|
||||
"access": "ro"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "unknown",
|
||||
"tags": [],
|
||||
"ipv4": "unknown",
|
||||
"ipv6": "unknown"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.85.66.106/32",
|
||||
"fd7a:115c:a1e0::7c37:426a/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive": [
|
||||
{
|
||||
"shares": [
|
||||
"docs"
|
||||
],
|
||||
"access": "ro"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.85.66.106/32",
|
||||
"fd7a:115c:a1e0::7c37:426a/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive-sharer": null
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.92.142.61/32",
|
||||
"fd7a:115c:a1e0::3e37:8e3d/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive": [
|
||||
{
|
||||
"shares": [
|
||||
"docs"
|
||||
],
|
||||
"access": "ro"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.92.142.61/32",
|
||||
"fd7a:115c:a1e0::3e37:8e3d/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive-sharer": null
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.83.200.69/32",
|
||||
"fd7a:115c:a1e0::c537:c845/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive": [
|
||||
{
|
||||
"shares": [
|
||||
"docs"
|
||||
],
|
||||
"access": "ro"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.83.200.69/32",
|
||||
"fd7a:115c:a1e0::c537:c845/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive-sharer": null
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.108.74.26/32",
|
||||
"fd7a:115c:a1e0::b901:4a87/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive": [
|
||||
{
|
||||
"shares": [
|
||||
"docs"
|
||||
],
|
||||
"access": "ro"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.108.74.26/32",
|
||||
"fd7a:115c:a1e0::b901:4a87/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive-sharer": null
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.110.121.96/32",
|
||||
"fd7a:115c:a1e0::1737:7960/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive": [
|
||||
{
|
||||
"shares": [
|
||||
"docs"
|
||||
],
|
||||
"access": "ro"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.110.121.96/32",
|
||||
"fd7a:115c:a1e0::1737:7960/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive-sharer": null
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.103.90.82/32",
|
||||
"fd7a:115c:a1e0::9e37:5a52/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive": [
|
||||
{
|
||||
"shares": [
|
||||
"docs"
|
||||
],
|
||||
"access": "ro"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.103.90.82/32",
|
||||
"fd7a:115c:a1e0::9e37:5a52/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive-sharer": null
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.90.199.68/32",
|
||||
"fd7a:115c:a1e0::2d01:c747/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive": [
|
||||
{
|
||||
"shares": [
|
||||
"docs"
|
||||
],
|
||||
"access": "ro"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.90.199.68/32",
|
||||
"fd7a:115c:a1e0::2d01:c747/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive-sharer": null
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,537 +0,0 @@
|
|||
// GRANT-B4
|
||||
//
|
||||
// Grant: src=['*'] dst=['*'] app={tailscale.com/cap/drive}
|
||||
//
|
||||
// Expected: Rules on 7 nodes
|
||||
{
|
||||
"test_id": "GRANT-B4",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"*"
|
||||
],
|
||||
"app": {
|
||||
"tailscale.com/cap/drive": [
|
||||
{
|
||||
"shares": [
|
||||
"docs"
|
||||
],
|
||||
"access": "ro"
|
||||
},
|
||||
{
|
||||
"shares": [
|
||||
"photos"
|
||||
],
|
||||
"access": "rw"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "unknown",
|
||||
"tags": [],
|
||||
"ipv4": "unknown",
|
||||
"ipv6": "unknown"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.85.66.106/32",
|
||||
"fd7a:115c:a1e0::7c37:426a/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive": [
|
||||
{
|
||||
"shares": [
|
||||
"docs"
|
||||
],
|
||||
"access": "ro"
|
||||
},
|
||||
{
|
||||
"shares": [
|
||||
"photos"
|
||||
],
|
||||
"access": "rw"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.85.66.106/32",
|
||||
"fd7a:115c:a1e0::7c37:426a/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive-sharer": null
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.92.142.61/32",
|
||||
"fd7a:115c:a1e0::3e37:8e3d/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive": [
|
||||
{
|
||||
"shares": [
|
||||
"docs"
|
||||
],
|
||||
"access": "ro"
|
||||
},
|
||||
{
|
||||
"shares": [
|
||||
"photos"
|
||||
],
|
||||
"access": "rw"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.92.142.61/32",
|
||||
"fd7a:115c:a1e0::3e37:8e3d/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive-sharer": null
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.83.200.69/32",
|
||||
"fd7a:115c:a1e0::c537:c845/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive": [
|
||||
{
|
||||
"shares": [
|
||||
"docs"
|
||||
],
|
||||
"access": "ro"
|
||||
},
|
||||
{
|
||||
"shares": [
|
||||
"photos"
|
||||
],
|
||||
"access": "rw"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.83.200.69/32",
|
||||
"fd7a:115c:a1e0::c537:c845/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive-sharer": null
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.108.74.26/32",
|
||||
"fd7a:115c:a1e0::b901:4a87/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive": [
|
||||
{
|
||||
"shares": [
|
||||
"docs"
|
||||
],
|
||||
"access": "ro"
|
||||
},
|
||||
{
|
||||
"shares": [
|
||||
"photos"
|
||||
],
|
||||
"access": "rw"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.108.74.26/32",
|
||||
"fd7a:115c:a1e0::b901:4a87/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive-sharer": null
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.110.121.96/32",
|
||||
"fd7a:115c:a1e0::1737:7960/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive": [
|
||||
{
|
||||
"shares": [
|
||||
"docs"
|
||||
],
|
||||
"access": "ro"
|
||||
},
|
||||
{
|
||||
"shares": [
|
||||
"photos"
|
||||
],
|
||||
"access": "rw"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.110.121.96/32",
|
||||
"fd7a:115c:a1e0::1737:7960/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive-sharer": null
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.103.90.82/32",
|
||||
"fd7a:115c:a1e0::9e37:5a52/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive": [
|
||||
{
|
||||
"shares": [
|
||||
"docs"
|
||||
],
|
||||
"access": "ro"
|
||||
},
|
||||
{
|
||||
"shares": [
|
||||
"photos"
|
||||
],
|
||||
"access": "rw"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.103.90.82/32",
|
||||
"fd7a:115c:a1e0::9e37:5a52/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive-sharer": null
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.90.199.68/32",
|
||||
"fd7a:115c:a1e0::2d01:c747/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive": [
|
||||
{
|
||||
"shares": [
|
||||
"docs"
|
||||
],
|
||||
"access": "ro"
|
||||
},
|
||||
{
|
||||
"shares": [
|
||||
"photos"
|
||||
],
|
||||
"access": "rw"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.90.199.68/32",
|
||||
"fd7a:115c:a1e0::2d01:c747/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive-sharer": null
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,489 +0,0 @@
|
|||
// GRANT-B5
|
||||
//
|
||||
// Grant: src=['*'] dst=['*'] app={tailscale.com/cap/drive}
|
||||
//
|
||||
// Expected: Rules on 7 nodes
|
||||
{
|
||||
"test_id": "GRANT-B5",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"*"
|
||||
],
|
||||
"app": {
|
||||
"tailscale.com/cap/drive": [
|
||||
{
|
||||
"shares": [
|
||||
"*"
|
||||
],
|
||||
"access": "rw"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "unknown",
|
||||
"tags": [],
|
||||
"ipv4": "unknown",
|
||||
"ipv6": "unknown"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.85.66.106/32",
|
||||
"fd7a:115c:a1e0::7c37:426a/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive": [
|
||||
{
|
||||
"shares": [
|
||||
"*"
|
||||
],
|
||||
"access": "rw"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.85.66.106/32",
|
||||
"fd7a:115c:a1e0::7c37:426a/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive-sharer": null
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.92.142.61/32",
|
||||
"fd7a:115c:a1e0::3e37:8e3d/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive": [
|
||||
{
|
||||
"shares": [
|
||||
"*"
|
||||
],
|
||||
"access": "rw"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.92.142.61/32",
|
||||
"fd7a:115c:a1e0::3e37:8e3d/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive-sharer": null
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.83.200.69/32",
|
||||
"fd7a:115c:a1e0::c537:c845/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive": [
|
||||
{
|
||||
"shares": [
|
||||
"*"
|
||||
],
|
||||
"access": "rw"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.83.200.69/32",
|
||||
"fd7a:115c:a1e0::c537:c845/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive-sharer": null
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.108.74.26/32",
|
||||
"fd7a:115c:a1e0::b901:4a87/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive": [
|
||||
{
|
||||
"shares": [
|
||||
"*"
|
||||
],
|
||||
"access": "rw"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.108.74.26/32",
|
||||
"fd7a:115c:a1e0::b901:4a87/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive-sharer": null
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.110.121.96/32",
|
||||
"fd7a:115c:a1e0::1737:7960/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive": [
|
||||
{
|
||||
"shares": [
|
||||
"*"
|
||||
],
|
||||
"access": "rw"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.110.121.96/32",
|
||||
"fd7a:115c:a1e0::1737:7960/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive-sharer": null
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.103.90.82/32",
|
||||
"fd7a:115c:a1e0::9e37:5a52/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive": [
|
||||
{
|
||||
"shares": [
|
||||
"*"
|
||||
],
|
||||
"access": "rw"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.103.90.82/32",
|
||||
"fd7a:115c:a1e0::9e37:5a52/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive-sharer": null
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.90.199.68/32",
|
||||
"fd7a:115c:a1e0::2d01:c747/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive": [
|
||||
{
|
||||
"shares": [
|
||||
"*"
|
||||
],
|
||||
"access": "rw"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.90.199.68/32",
|
||||
"fd7a:115c:a1e0::2d01:c747/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive-sharer": null
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,340 +0,0 @@
|
|||
// GRANT-C1
|
||||
//
|
||||
// Grant: src=['*'] dst=['*'] app={example.com/cap/test}
|
||||
//
|
||||
// Expected: Rules on 8 nodes
|
||||
{
|
||||
"test_id": "GRANT-C1",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"*"
|
||||
],
|
||||
"app": {
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "tagged-prod",
|
||||
"tags": [
|
||||
"tag:prod"
|
||||
],
|
||||
"ipv4": "100.103.8.15",
|
||||
"ipv6": "fd7a:115c:a1e0::5b37:80f"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.85.66.106/32",
|
||||
"fd7a:115c:a1e0::7c37:426a/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.92.142.61/32",
|
||||
"fd7a:115c:a1e0::3e37:8e3d/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.83.200.69/32",
|
||||
"fd7a:115c:a1e0::c537:c845/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.103.8.15/32",
|
||||
"fd7a:115c:a1e0::5b37:80f/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.108.74.26/32",
|
||||
"fd7a:115c:a1e0::b901:4a87/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.110.121.96/32",
|
||||
"fd7a:115c:a1e0::1737:7960/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.103.90.82/32",
|
||||
"fd7a:115c:a1e0::9e37:5a52/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.90.199.68/32",
|
||||
"fd7a:115c:a1e0::2d01:c747/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,358 +0,0 @@
|
|||
// GRANT-C2
|
||||
//
|
||||
// Grant: src=['*'] dst=['*'] app={example.com/cap/test}
|
||||
//
|
||||
// Expected: Rules on 8 nodes
|
||||
{
|
||||
"test_id": "GRANT-C2",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"*"
|
||||
],
|
||||
"app": {
|
||||
"example.com/cap/test": [
|
||||
{
|
||||
"role": "admin"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "tagged-prod",
|
||||
"tags": [
|
||||
"tag:prod"
|
||||
],
|
||||
"ipv4": "100.103.8.15",
|
||||
"ipv6": "fd7a:115c:a1e0::5b37:80f"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.85.66.106/32",
|
||||
"fd7a:115c:a1e0::7c37:426a/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{
|
||||
"role": "admin"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.92.142.61/32",
|
||||
"fd7a:115c:a1e0::3e37:8e3d/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{
|
||||
"role": "admin"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.83.200.69/32",
|
||||
"fd7a:115c:a1e0::c537:c845/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{
|
||||
"role": "admin"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.103.8.15/32",
|
||||
"fd7a:115c:a1e0::5b37:80f/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{
|
||||
"role": "admin"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.108.74.26/32",
|
||||
"fd7a:115c:a1e0::b901:4a87/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{
|
||||
"role": "admin"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.110.121.96/32",
|
||||
"fd7a:115c:a1e0::1737:7960/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{
|
||||
"role": "admin"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.103.90.82/32",
|
||||
"fd7a:115c:a1e0::9e37:5a52/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{
|
||||
"role": "admin"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.90.199.68/32",
|
||||
"fd7a:115c:a1e0::2d01:c747/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{
|
||||
"role": "admin"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,385 +0,0 @@
|
|||
// GRANT-C3
|
||||
//
|
||||
// Grant: src=['*'] dst=['*'] app={example.com/cap/test}
|
||||
//
|
||||
// Expected: Rules on 8 nodes
|
||||
{
|
||||
"test_id": "GRANT-C3",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"*"
|
||||
],
|
||||
"app": {
|
||||
"example.com/cap/test": [
|
||||
{
|
||||
"role": "admin"
|
||||
},
|
||||
{
|
||||
"role": "viewer"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "tagged-prod",
|
||||
"tags": [
|
||||
"tag:prod"
|
||||
],
|
||||
"ipv4": "100.103.8.15",
|
||||
"ipv6": "fd7a:115c:a1e0::5b37:80f"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.85.66.106/32",
|
||||
"fd7a:115c:a1e0::7c37:426a/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{
|
||||
"role": "admin"
|
||||
},
|
||||
{
|
||||
"role": "viewer"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.92.142.61/32",
|
||||
"fd7a:115c:a1e0::3e37:8e3d/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{
|
||||
"role": "admin"
|
||||
},
|
||||
{
|
||||
"role": "viewer"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.83.200.69/32",
|
||||
"fd7a:115c:a1e0::c537:c845/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{
|
||||
"role": "admin"
|
||||
},
|
||||
{
|
||||
"role": "viewer"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.103.8.15/32",
|
||||
"fd7a:115c:a1e0::5b37:80f/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{
|
||||
"role": "admin"
|
||||
},
|
||||
{
|
||||
"role": "viewer"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.108.74.26/32",
|
||||
"fd7a:115c:a1e0::b901:4a87/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{
|
||||
"role": "admin"
|
||||
},
|
||||
{
|
||||
"role": "viewer"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.110.121.96/32",
|
||||
"fd7a:115c:a1e0::1737:7960/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{
|
||||
"role": "admin"
|
||||
},
|
||||
{
|
||||
"role": "viewer"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.103.90.82/32",
|
||||
"fd7a:115c:a1e0::9e37:5a52/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{
|
||||
"role": "admin"
|
||||
},
|
||||
{
|
||||
"role": "viewer"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.90.199.68/32",
|
||||
"fd7a:115c:a1e0::2d01:c747/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{
|
||||
"role": "admin"
|
||||
},
|
||||
{
|
||||
"role": "viewer"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,385 +0,0 @@
|
|||
// GRANT-C4
|
||||
//
|
||||
// Grant: src=['*'] dst=['*'] app={example.com/cap/one,example.com/cap/two}
|
||||
//
|
||||
// Expected: Rules on 8 nodes
|
||||
{
|
||||
"test_id": "GRANT-C4",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"*"
|
||||
],
|
||||
"app": {
|
||||
"example.com/cap/one": [
|
||||
{}
|
||||
],
|
||||
"example.com/cap/two": [
|
||||
{
|
||||
"level": "high"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "tagged-prod",
|
||||
"tags": [
|
||||
"tag:prod"
|
||||
],
|
||||
"ipv4": "100.103.8.15",
|
||||
"ipv6": "fd7a:115c:a1e0::5b37:80f"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.85.66.106/32",
|
||||
"fd7a:115c:a1e0::7c37:426a/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/one": [
|
||||
{}
|
||||
],
|
||||
"example.com/cap/two": [
|
||||
{
|
||||
"level": "high"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.92.142.61/32",
|
||||
"fd7a:115c:a1e0::3e37:8e3d/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/one": [
|
||||
{}
|
||||
],
|
||||
"example.com/cap/two": [
|
||||
{
|
||||
"level": "high"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.83.200.69/32",
|
||||
"fd7a:115c:a1e0::c537:c845/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/one": [
|
||||
{}
|
||||
],
|
||||
"example.com/cap/two": [
|
||||
{
|
||||
"level": "high"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.103.8.15/32",
|
||||
"fd7a:115c:a1e0::5b37:80f/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/one": [
|
||||
{}
|
||||
],
|
||||
"example.com/cap/two": [
|
||||
{
|
||||
"level": "high"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.108.74.26/32",
|
||||
"fd7a:115c:a1e0::b901:4a87/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/one": [
|
||||
{}
|
||||
],
|
||||
"example.com/cap/two": [
|
||||
{
|
||||
"level": "high"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.110.121.96/32",
|
||||
"fd7a:115c:a1e0::1737:7960/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/one": [
|
||||
{}
|
||||
],
|
||||
"example.com/cap/two": [
|
||||
{
|
||||
"level": "high"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.103.90.82/32",
|
||||
"fd7a:115c:a1e0::9e37:5a52/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/one": [
|
||||
{}
|
||||
],
|
||||
"example.com/cap/two": [
|
||||
{
|
||||
"level": "high"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.90.199.68/32",
|
||||
"fd7a:115c:a1e0::2d01:c747/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/one": [
|
||||
{}
|
||||
],
|
||||
"example.com/cap/two": [
|
||||
{
|
||||
"level": "high"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,394 +0,0 @@
|
|||
// GRANT-C5
|
||||
//
|
||||
// Grant: src=['*'] dst=['*'] app={example.com/cap/complex}
|
||||
//
|
||||
// Expected: Rules on 8 nodes
|
||||
{
|
||||
"test_id": "GRANT-C5",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"*"
|
||||
],
|
||||
"app": {
|
||||
"example.com/cap/complex": [
|
||||
{
|
||||
"nested": {
|
||||
"deep": {
|
||||
"value": 42
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "tagged-prod",
|
||||
"tags": [
|
||||
"tag:prod"
|
||||
],
|
||||
"ipv4": "100.103.8.15",
|
||||
"ipv6": "fd7a:115c:a1e0::5b37:80f"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.85.66.106/32",
|
||||
"fd7a:115c:a1e0::7c37:426a/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/complex": [
|
||||
{
|
||||
"nested": {
|
||||
"deep": {
|
||||
"value": 42
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.92.142.61/32",
|
||||
"fd7a:115c:a1e0::3e37:8e3d/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/complex": [
|
||||
{
|
||||
"nested": {
|
||||
"deep": {
|
||||
"value": 42
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.83.200.69/32",
|
||||
"fd7a:115c:a1e0::c537:c845/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/complex": [
|
||||
{
|
||||
"nested": {
|
||||
"deep": {
|
||||
"value": 42
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.103.8.15/32",
|
||||
"fd7a:115c:a1e0::5b37:80f/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/complex": [
|
||||
{
|
||||
"nested": {
|
||||
"deep": {
|
||||
"value": 42
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.108.74.26/32",
|
||||
"fd7a:115c:a1e0::b901:4a87/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/complex": [
|
||||
{
|
||||
"nested": {
|
||||
"deep": {
|
||||
"value": 42
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.110.121.96/32",
|
||||
"fd7a:115c:a1e0::1737:7960/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/complex": [
|
||||
{
|
||||
"nested": {
|
||||
"deep": {
|
||||
"value": 42
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.103.90.82/32",
|
||||
"fd7a:115c:a1e0::9e37:5a52/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/complex": [
|
||||
{
|
||||
"nested": {
|
||||
"deep": {
|
||||
"value": 42
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.90.199.68/32",
|
||||
"fd7a:115c:a1e0::2d01:c747/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/complex": [
|
||||
{
|
||||
"nested": {
|
||||
"deep": {
|
||||
"value": 42
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,394 +0,0 @@
|
|||
// GRANT-C6
|
||||
//
|
||||
// Grant: src=['*'] dst=['*'] app={example.com/cap/array}
|
||||
//
|
||||
// Expected: Rules on 8 nodes
|
||||
{
|
||||
"test_id": "GRANT-C6",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"*"
|
||||
],
|
||||
"app": {
|
||||
"example.com/cap/array": [
|
||||
{
|
||||
"items": [
|
||||
1,
|
||||
2,
|
||||
3
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "tagged-prod",
|
||||
"tags": [
|
||||
"tag:prod"
|
||||
],
|
||||
"ipv4": "100.103.8.15",
|
||||
"ipv6": "fd7a:115c:a1e0::5b37:80f"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.85.66.106/32",
|
||||
"fd7a:115c:a1e0::7c37:426a/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/array": [
|
||||
{
|
||||
"items": [
|
||||
1,
|
||||
2,
|
||||
3
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.92.142.61/32",
|
||||
"fd7a:115c:a1e0::3e37:8e3d/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/array": [
|
||||
{
|
||||
"items": [
|
||||
1,
|
||||
2,
|
||||
3
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.83.200.69/32",
|
||||
"fd7a:115c:a1e0::c537:c845/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/array": [
|
||||
{
|
||||
"items": [
|
||||
1,
|
||||
2,
|
||||
3
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.103.8.15/32",
|
||||
"fd7a:115c:a1e0::5b37:80f/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/array": [
|
||||
{
|
||||
"items": [
|
||||
1,
|
||||
2,
|
||||
3
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.108.74.26/32",
|
||||
"fd7a:115c:a1e0::b901:4a87/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/array": [
|
||||
{
|
||||
"items": [
|
||||
1,
|
||||
2,
|
||||
3
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.110.121.96/32",
|
||||
"fd7a:115c:a1e0::1737:7960/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/array": [
|
||||
{
|
||||
"items": [
|
||||
1,
|
||||
2,
|
||||
3
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.103.90.82/32",
|
||||
"fd7a:115c:a1e0::9e37:5a52/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/array": [
|
||||
{
|
||||
"items": [
|
||||
1,
|
||||
2,
|
||||
3
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.90.199.68/32",
|
||||
"fd7a:115c:a1e0::2d01:c747/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/array": [
|
||||
{
|
||||
"items": [
|
||||
1,
|
||||
2,
|
||||
3
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,188 +0,0 @@
|
|||
// GRANT-D1
|
||||
//
|
||||
// Grant: src=['autogroup:member'] dst=['tag:server'] app={example.com/cap/test}
|
||||
//
|
||||
// Expected: Rules on tagged-server
|
||||
{
|
||||
"test_id": "GRANT-D1",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"autogroup:member"
|
||||
],
|
||||
"dst": [
|
||||
"tag:server"
|
||||
],
|
||||
"app": {
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "tagged-prod",
|
||||
"tags": [
|
||||
"tag:prod"
|
||||
],
|
||||
"ipv4": "100.103.8.15",
|
||||
"ipv6": "fd7a:115c:a1e0::5b37:80f"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.103.90.82",
|
||||
"100.110.121.96",
|
||||
"100.90.199.68",
|
||||
"fd7a:115c:a1e0::1737:7960",
|
||||
"fd7a:115c:a1e0::2d01:c747",
|
||||
"fd7a:115c:a1e0::9e37:5a52"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.108.74.26/32",
|
||||
"fd7a:115c:a1e0::b901:4a87/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,192 +0,0 @@
|
|||
// GRANT-D2
|
||||
//
|
||||
// Grant: src=['autogroup:tagged'] dst=['tag:server'] app={example.com/cap/test}
|
||||
//
|
||||
// Expected: Rules on tagged-server
|
||||
{
|
||||
"test_id": "GRANT-D2",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"autogroup:tagged"
|
||||
],
|
||||
"dst": [
|
||||
"tag:server"
|
||||
],
|
||||
"app": {
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "tagged-prod",
|
||||
"tags": [
|
||||
"tag:prod"
|
||||
],
|
||||
"ipv4": "100.103.8.15",
|
||||
"ipv6": "fd7a:115c:a1e0::5b37:80f"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.103.8.15",
|
||||
"100.108.74.26",
|
||||
"100.83.200.69",
|
||||
"100.85.66.106",
|
||||
"100.92.142.61",
|
||||
"fd7a:115c:a1e0::3e37:8e3d",
|
||||
"fd7a:115c:a1e0::5b37:80f",
|
||||
"fd7a:115c:a1e0::7c37:426a",
|
||||
"fd7a:115c:a1e0::b901:4a87",
|
||||
"fd7a:115c:a1e0::c537:c845"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.108.74.26/32",
|
||||
"fd7a:115c:a1e0::b901:4a87/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,184 +0,0 @@
|
|||
// GRANT-D3
|
||||
//
|
||||
// Grant: src=['group:admins'] dst=['tag:server'] app={example.com/cap/test}
|
||||
//
|
||||
// Expected: Rules on tagged-server
|
||||
{
|
||||
"test_id": "GRANT-D3",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"group:admins"
|
||||
],
|
||||
"dst": [
|
||||
"tag:server"
|
||||
],
|
||||
"app": {
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "tagged-prod",
|
||||
"tags": [
|
||||
"tag:prod"
|
||||
],
|
||||
"ipv4": "100.103.8.15",
|
||||
"ipv6": "fd7a:115c:a1e0::5b37:80f"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.90.199.68",
|
||||
"fd7a:115c:a1e0::2d01:c747"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.108.74.26/32",
|
||||
"fd7a:115c:a1e0::b901:4a87/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,184 +0,0 @@
|
|||
// GRANT-D4
|
||||
//
|
||||
// Grant: src=['kratail2tid@passkey'] dst=['tag:server'] app={example.com/cap/test}
|
||||
//
|
||||
// Expected: Rules on tagged-server
|
||||
{
|
||||
"test_id": "GRANT-D4",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"dst": [
|
||||
"tag:server"
|
||||
],
|
||||
"app": {
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "tagged-prod",
|
||||
"tags": [
|
||||
"tag:prod"
|
||||
],
|
||||
"ipv4": "100.103.8.15",
|
||||
"ipv6": "fd7a:115c:a1e0::5b37:80f"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.90.199.68",
|
||||
"fd7a:115c:a1e0::2d01:c747"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.108.74.26/32",
|
||||
"fd7a:115c:a1e0::b901:4a87/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,184 +0,0 @@
|
|||
// GRANT-D5
|
||||
//
|
||||
// Grant: src=['tag:prod'] dst=['tag:server'] app={example.com/cap/test}
|
||||
//
|
||||
// Expected: Rules on tagged-server
|
||||
{
|
||||
"test_id": "GRANT-D5",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"tag:prod"
|
||||
],
|
||||
"dst": [
|
||||
"tag:server"
|
||||
],
|
||||
"app": {
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "tagged-prod",
|
||||
"tags": [
|
||||
"tag:prod"
|
||||
],
|
||||
"ipv4": "100.103.8.15",
|
||||
"ipv6": "fd7a:115c:a1e0::5b37:80f"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.103.8.15",
|
||||
"fd7a:115c:a1e0::5b37:80f"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.108.74.26/32",
|
||||
"fd7a:115c:a1e0::b901:4a87/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,183 +0,0 @@
|
|||
// GRANT-D6
|
||||
//
|
||||
// Grant: src=['100.90.199.68'] dst=['tag:server'] app={example.com/cap/test}
|
||||
//
|
||||
// Expected: Rules on tagged-server
|
||||
{
|
||||
"test_id": "GRANT-D6",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"100.90.199.68"
|
||||
],
|
||||
"dst": [
|
||||
"tag:server"
|
||||
],
|
||||
"app": {
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "tagged-prod",
|
||||
"tags": [
|
||||
"tag:prod"
|
||||
],
|
||||
"ipv4": "100.103.8.15",
|
||||
"ipv6": "fd7a:115c:a1e0::5b37:80f"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.90.199.68"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.108.74.26/32",
|
||||
"fd7a:115c:a1e0::b901:4a87/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,191 +0,0 @@
|
|||
// GRANT-D7
|
||||
//
|
||||
// Grant: src=['autogroup:member', 'tag:prod'] dst=['tag:server'] app={example.com/cap/test}
|
||||
//
|
||||
// Expected: Rules on tagged-server
|
||||
{
|
||||
"test_id": "GRANT-D7",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"autogroup:member",
|
||||
"tag:prod"
|
||||
],
|
||||
"dst": [
|
||||
"tag:server"
|
||||
],
|
||||
"app": {
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "tagged-prod",
|
||||
"tags": [
|
||||
"tag:prod"
|
||||
],
|
||||
"ipv4": "100.103.8.15",
|
||||
"ipv6": "fd7a:115c:a1e0::5b37:80f"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.103.8.15",
|
||||
"100.103.90.82",
|
||||
"100.110.121.96",
|
||||
"100.90.199.68",
|
||||
"fd7a:115c:a1e0::1737:7960",
|
||||
"fd7a:115c:a1e0::2d01:c747",
|
||||
"fd7a:115c:a1e0::5b37:80f",
|
||||
"fd7a:115c:a1e0::9e37:5a52"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.108.74.26/32",
|
||||
"fd7a:115c:a1e0::b901:4a87/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,186 +0,0 @@
|
|||
// GRANT-E1
|
||||
//
|
||||
// Grant: src=['*'] dst=['tag:server'] app={example.com/cap/test}
|
||||
//
|
||||
// Expected: Rules on tagged-server
|
||||
{
|
||||
"test_id": "GRANT-E1",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"tag:server"
|
||||
],
|
||||
"app": {
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "tagged-prod",
|
||||
"tags": [
|
||||
"tag:prod"
|
||||
],
|
||||
"ipv4": "100.103.8.15",
|
||||
"ipv6": "fd7a:115c:a1e0::5b37:80f"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.108.74.26/32",
|
||||
"fd7a:115c:a1e0::b901:4a87/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,209 +0,0 @@
|
|||
// GRANT-E2
|
||||
//
|
||||
// Grant: src=['*'] dst=['tag:server', 'tag:prod'] app={example.com/cap/test}
|
||||
//
|
||||
// Expected: Rules on tagged-prod, tagged-server
|
||||
{
|
||||
"test_id": "GRANT-E2",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"tag:server",
|
||||
"tag:prod"
|
||||
],
|
||||
"app": {
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "tagged-prod",
|
||||
"tags": [
|
||||
"tag:prod"
|
||||
],
|
||||
"ipv4": "100.103.8.15",
|
||||
"ipv6": "fd7a:115c:a1e0::5b37:80f"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.103.8.15/32",
|
||||
"fd7a:115c:a1e0::5b37:80f/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.108.74.26/32",
|
||||
"fd7a:115c:a1e0::b901:4a87/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,85 +0,0 @@
|
|||
// GRANT-E3
|
||||
//
|
||||
// Grant: src=['*'] dst=['autogroup:self'] app={tailscale.com/cap/drive}
|
||||
//
|
||||
// Expected: Error (HTTP 400) — autogroup:self can only be used with users, groups, or supported autogroups
|
||||
{
|
||||
"test_id": "GRANT-E3",
|
||||
"error": true,
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"autogroup:self"
|
||||
],
|
||||
"app": {
|
||||
"tailscale.com/cap/drive": [
|
||||
{
|
||||
"shares": [
|
||||
"*"
|
||||
],
|
||||
"access": "rw"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 400,
|
||||
"api_response_body": {
|
||||
"message": "autogroup:self can only be used with users, groups, or supported autogroups"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,230 +0,0 @@
|
|||
// GRANT-E4
|
||||
//
|
||||
// Grant: src=['*'] dst=['autogroup:member'] app={example.com/cap/test}
|
||||
//
|
||||
// Expected: Rules on user-kris, user-mon, user1
|
||||
{
|
||||
"test_id": "GRANT-E4",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"autogroup:member"
|
||||
],
|
||||
"app": {
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "tagged-prod",
|
||||
"tags": [
|
||||
"tag:prod"
|
||||
],
|
||||
"ipv4": "100.103.8.15",
|
||||
"ipv6": "fd7a:115c:a1e0::5b37:80f"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.110.121.96/32",
|
||||
"fd7a:115c:a1e0::1737:7960/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.103.90.82/32",
|
||||
"fd7a:115c:a1e0::9e37:5a52/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.90.199.68/32",
|
||||
"fd7a:115c:a1e0::2d01:c747/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,274 +0,0 @@
|
|||
// GRANT-E5
|
||||
//
|
||||
// Grant: src=['*'] dst=['autogroup:tagged'] app={example.com/cap/test}
|
||||
//
|
||||
// Expected: Rules on exit-node, subnet-router, tagged-client, tagged-prod, tagged-server
|
||||
{
|
||||
"test_id": "GRANT-E5",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"autogroup:tagged"
|
||||
],
|
||||
"app": {
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "tagged-prod",
|
||||
"tags": [
|
||||
"tag:prod"
|
||||
],
|
||||
"ipv4": "100.103.8.15",
|
||||
"ipv6": "fd7a:115c:a1e0::5b37:80f"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.85.66.106/32",
|
||||
"fd7a:115c:a1e0::7c37:426a/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.92.142.61/32",
|
||||
"fd7a:115c:a1e0::3e37:8e3d/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.83.200.69/32",
|
||||
"fd7a:115c:a1e0::c537:c845/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.103.8.15/32",
|
||||
"fd7a:115c:a1e0::5b37:80f/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.108.74.26/32",
|
||||
"fd7a:115c:a1e0::b901:4a87/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,186 +0,0 @@
|
|||
// GRANT-E6
|
||||
//
|
||||
// Grant: src=['*'] dst=['group:admins'] app={example.com/cap/test}
|
||||
//
|
||||
// Expected: Rules on user1
|
||||
{
|
||||
"test_id": "GRANT-E6",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"group:admins"
|
||||
],
|
||||
"app": {
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "tagged-prod",
|
||||
"tags": [
|
||||
"tag:prod"
|
||||
],
|
||||
"ipv4": "100.103.8.15",
|
||||
"ipv6": "fd7a:115c:a1e0::5b37:80f"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.90.199.68/32",
|
||||
"fd7a:115c:a1e0::2d01:c747/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,186 +0,0 @@
|
|||
// GRANT-E7
|
||||
//
|
||||
// Grant: src=['*'] dst=['kratail2tid@passkey'] app={example.com/cap/test}
|
||||
//
|
||||
// Expected: Rules on user1
|
||||
{
|
||||
"test_id": "GRANT-E7",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"app": {
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "tagged-prod",
|
||||
"tags": [
|
||||
"tag:prod"
|
||||
],
|
||||
"ipv4": "100.103.8.15",
|
||||
"ipv6": "fd7a:115c:a1e0::5b37:80f"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.90.199.68/32",
|
||||
"fd7a:115c:a1e0::2d01:c747/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,185 +0,0 @@
|
|||
// GRANT-E8
|
||||
//
|
||||
// Grant: src=['*'] dst=['100.108.74.26'] app={example.com/cap/test}
|
||||
//
|
||||
// Expected: Rules on tagged-server
|
||||
{
|
||||
"test_id": "GRANT-E8",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"100.108.74.26"
|
||||
],
|
||||
"app": {
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "tagged-prod",
|
||||
"tags": [
|
||||
"tag:prod"
|
||||
],
|
||||
"ipv4": "100.103.8.15",
|
||||
"ipv6": "fd7a:115c:a1e0::5b37:80f"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.108.74.26/32"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,243 +0,0 @@
|
|||
// GRANT-F1
|
||||
//
|
||||
// Grant: src=['*'] dst=['tag:server'] ip=['tcp:80', 'tcp:443'] app={tailscale.com/cap/kubernetes}
|
||||
//
|
||||
// Expected: Rules on tagged-server
|
||||
{
|
||||
"test_id": "GRANT-F1",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"tag:server"
|
||||
],
|
||||
"ip": [
|
||||
"tcp:80",
|
||||
"tcp:443"
|
||||
],
|
||||
"app": {
|
||||
"tailscale.com/cap/kubernetes": [
|
||||
{
|
||||
"impersonate": {
|
||||
"groups": [
|
||||
"system:masters"
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "tagged-prod",
|
||||
"tags": [
|
||||
"tag:prod"
|
||||
],
|
||||
"ipv4": "100.103.8.15",
|
||||
"ipv6": "fd7a:115c:a1e0::5b37:80f"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26",
|
||||
"Ports": {
|
||||
"First": 80,
|
||||
"Last": 80
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "100.108.74.26",
|
||||
"Ports": {
|
||||
"First": 443,
|
||||
"Last": 443
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87",
|
||||
"Ports": {
|
||||
"First": 80,
|
||||
"Last": 80
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87",
|
||||
"Ports": {
|
||||
"First": 443,
|
||||
"Last": 443
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [
|
||||
6
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.108.74.26/32",
|
||||
"fd7a:115c:a1e0::b901:4a87/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/kubernetes": [
|
||||
{
|
||||
"impersonate": {
|
||||
"groups": [
|
||||
"system:masters"
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,221 +0,0 @@
|
|||
// GRANT-F2
|
||||
//
|
||||
// Grant: src=['autogroup:member'] dst=['tag:server'] ip=['*'] app={example.com/cap/test}
|
||||
//
|
||||
// Expected: Rules on tagged-server
|
||||
{
|
||||
"test_id": "GRANT-F2",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"autogroup:member"
|
||||
],
|
||||
"dst": [
|
||||
"tag:server"
|
||||
],
|
||||
"ip": [
|
||||
"*"
|
||||
],
|
||||
"app": {
|
||||
"example.com/cap/test": [
|
||||
{
|
||||
"role": "admin"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "tagged-prod",
|
||||
"tags": [
|
||||
"tag:prod"
|
||||
],
|
||||
"ipv4": "100.103.8.15",
|
||||
"ipv6": "fd7a:115c:a1e0::5b37:80f"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.103.90.82",
|
||||
"100.110.121.96",
|
||||
"100.90.199.68",
|
||||
"fd7a:115c:a1e0::1737:7960",
|
||||
"fd7a:115c:a1e0::2d01:c747",
|
||||
"fd7a:115c:a1e0::9e37:5a52"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.103.90.82",
|
||||
"100.110.121.96",
|
||||
"100.90.199.68",
|
||||
"fd7a:115c:a1e0::1737:7960",
|
||||
"fd7a:115c:a1e0::2d01:c747",
|
||||
"fd7a:115c:a1e0::9e37:5a52"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.108.74.26/32",
|
||||
"fd7a:115c:a1e0::b901:4a87/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{
|
||||
"role": "admin"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,253 +0,0 @@
|
|||
// GRANT-F3
|
||||
//
|
||||
// Grants:
|
||||
// src=['*'] dst=['tag:server'] ip=['tcp:80', 'tcp:443']
|
||||
// src=['*'] dst=['tag:server'] app={tailscale.com/cap/kubernetes}
|
||||
//
|
||||
// Expected: Rules on tagged-server
|
||||
{
|
||||
"test_id": "GRANT-F3",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"tag:server"
|
||||
],
|
||||
"ip": [
|
||||
"tcp:80",
|
||||
"tcp:443"
|
||||
]
|
||||
},
|
||||
{
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"tag:server"
|
||||
],
|
||||
"app": {
|
||||
"tailscale.com/cap/kubernetes": [
|
||||
{
|
||||
"impersonate": {
|
||||
"groups": [
|
||||
"system:masters"
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "tagged-prod",
|
||||
"tags": [
|
||||
"tag:prod"
|
||||
],
|
||||
"ipv4": "100.103.8.15",
|
||||
"ipv6": "fd7a:115c:a1e0::5b37:80f"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26",
|
||||
"Ports": {
|
||||
"First": 80,
|
||||
"Last": 80
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "100.108.74.26",
|
||||
"Ports": {
|
||||
"First": 443,
|
||||
"Last": 443
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87",
|
||||
"Ports": {
|
||||
"First": 80,
|
||||
"Last": 80
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87",
|
||||
"Ports": {
|
||||
"First": 443,
|
||||
"Last": 443
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [
|
||||
6
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.108.74.26/32",
|
||||
"fd7a:115c:a1e0::b901:4a87/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/kubernetes": [
|
||||
{
|
||||
"impersonate": {
|
||||
"groups": [
|
||||
"system:masters"
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,745 +0,0 @@
|
|||
// GRANT-F4
|
||||
//
|
||||
// Grant: src=['*'] dst=['*'] ip=['tcp:443'] app={tailscale.com/cap/drive,example.com/cap/extra}
|
||||
//
|
||||
// Expected: Rules on 8 nodes
|
||||
{
|
||||
"test_id": "GRANT-F4",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"*"
|
||||
],
|
||||
"ip": [
|
||||
"tcp:443"
|
||||
],
|
||||
"app": {
|
||||
"tailscale.com/cap/drive": [
|
||||
{
|
||||
"shares": [
|
||||
"*"
|
||||
],
|
||||
"access": "rw"
|
||||
}
|
||||
],
|
||||
"example.com/cap/extra": [
|
||||
{
|
||||
"mode": "full"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "tagged-prod",
|
||||
"tags": [
|
||||
"tag:prod"
|
||||
],
|
||||
"ipv4": "100.103.8.15",
|
||||
"ipv6": "fd7a:115c:a1e0::5b37:80f"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 443,
|
||||
"Last": 443
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [
|
||||
6
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.85.66.106/32",
|
||||
"fd7a:115c:a1e0::7c37:426a/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/extra": [
|
||||
{
|
||||
"mode": "full"
|
||||
}
|
||||
],
|
||||
"tailscale.com/cap/drive": [
|
||||
{
|
||||
"shares": [
|
||||
"*"
|
||||
],
|
||||
"access": "rw"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.85.66.106/32",
|
||||
"fd7a:115c:a1e0::7c37:426a/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive-sharer": null
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 443,
|
||||
"Last": 443
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [
|
||||
6
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.92.142.61/32",
|
||||
"fd7a:115c:a1e0::3e37:8e3d/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/extra": [
|
||||
{
|
||||
"mode": "full"
|
||||
}
|
||||
],
|
||||
"tailscale.com/cap/drive": [
|
||||
{
|
||||
"shares": [
|
||||
"*"
|
||||
],
|
||||
"access": "rw"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.92.142.61/32",
|
||||
"fd7a:115c:a1e0::3e37:8e3d/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive-sharer": null
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 443,
|
||||
"Last": 443
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [
|
||||
6
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.83.200.69/32",
|
||||
"fd7a:115c:a1e0::c537:c845/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/extra": [
|
||||
{
|
||||
"mode": "full"
|
||||
}
|
||||
],
|
||||
"tailscale.com/cap/drive": [
|
||||
{
|
||||
"shares": [
|
||||
"*"
|
||||
],
|
||||
"access": "rw"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.83.200.69/32",
|
||||
"fd7a:115c:a1e0::c537:c845/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive-sharer": null
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 443,
|
||||
"Last": 443
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [
|
||||
6
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.103.8.15/32",
|
||||
"fd7a:115c:a1e0::5b37:80f/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/extra": [
|
||||
{
|
||||
"mode": "full"
|
||||
}
|
||||
],
|
||||
"tailscale.com/cap/drive": [
|
||||
{
|
||||
"shares": [
|
||||
"*"
|
||||
],
|
||||
"access": "rw"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.103.8.15/32",
|
||||
"fd7a:115c:a1e0::5b37:80f/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive-sharer": null
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 443,
|
||||
"Last": 443
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [
|
||||
6
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.108.74.26/32",
|
||||
"fd7a:115c:a1e0::b901:4a87/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/extra": [
|
||||
{
|
||||
"mode": "full"
|
||||
}
|
||||
],
|
||||
"tailscale.com/cap/drive": [
|
||||
{
|
||||
"shares": [
|
||||
"*"
|
||||
],
|
||||
"access": "rw"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.108.74.26/32",
|
||||
"fd7a:115c:a1e0::b901:4a87/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive-sharer": null
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 443,
|
||||
"Last": 443
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [
|
||||
6
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.110.121.96/32",
|
||||
"fd7a:115c:a1e0::1737:7960/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/extra": [
|
||||
{
|
||||
"mode": "full"
|
||||
}
|
||||
],
|
||||
"tailscale.com/cap/drive": [
|
||||
{
|
||||
"shares": [
|
||||
"*"
|
||||
],
|
||||
"access": "rw"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.110.121.96/32",
|
||||
"fd7a:115c:a1e0::1737:7960/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive-sharer": null
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 443,
|
||||
"Last": 443
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [
|
||||
6
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.103.90.82/32",
|
||||
"fd7a:115c:a1e0::9e37:5a52/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/extra": [
|
||||
{
|
||||
"mode": "full"
|
||||
}
|
||||
],
|
||||
"tailscale.com/cap/drive": [
|
||||
{
|
||||
"shares": [
|
||||
"*"
|
||||
],
|
||||
"access": "rw"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.103.90.82/32",
|
||||
"fd7a:115c:a1e0::9e37:5a52/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive-sharer": null
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 443,
|
||||
"Last": 443
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [
|
||||
6
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.90.199.68/32",
|
||||
"fd7a:115c:a1e0::2d01:c747/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/extra": [
|
||||
{
|
||||
"mode": "full"
|
||||
}
|
||||
],
|
||||
"tailscale.com/cap/drive": [
|
||||
{
|
||||
"shares": [
|
||||
"*"
|
||||
],
|
||||
"access": "rw"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.90.199.68/32",
|
||||
"fd7a:115c:a1e0::2d01:c747/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive-sharer": null
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,222 +0,0 @@
|
|||
// GRANT-G1
|
||||
//
|
||||
// Grants:
|
||||
// src=['*'] dst=['tag:server'] app={example.com/cap/one}
|
||||
// src=['*'] dst=['tag:server'] app={example.com/cap/two}
|
||||
//
|
||||
// Expected: Rules on tagged-server
|
||||
{
|
||||
"test_id": "GRANT-G1",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"tag:server"
|
||||
],
|
||||
"app": {
|
||||
"example.com/cap/one": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"tag:server"
|
||||
],
|
||||
"app": {
|
||||
"example.com/cap/two": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "tagged-prod",
|
||||
"tags": [
|
||||
"tag:prod"
|
||||
],
|
||||
"ipv4": "100.103.8.15",
|
||||
"ipv6": "fd7a:115c:a1e0::5b37:80f"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.108.74.26/32",
|
||||
"fd7a:115c:a1e0::b901:4a87/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/one": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.108.74.26/32",
|
||||
"fd7a:115c:a1e0::b901:4a87/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/two": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,230 +0,0 @@
|
|||
// GRANT-G2
|
||||
//
|
||||
// Grants:
|
||||
// src=['*'] dst=['tag:server'] app={example.com/cap/test}
|
||||
// src=['*'] dst=['tag:server'] app={example.com/cap/test}
|
||||
//
|
||||
// Expected: Rules on tagged-server
|
||||
{
|
||||
"test_id": "GRANT-G2",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"tag:server"
|
||||
],
|
||||
"app": {
|
||||
"example.com/cap/test": [
|
||||
{
|
||||
"v": 1
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"tag:server"
|
||||
],
|
||||
"app": {
|
||||
"example.com/cap/test": [
|
||||
{
|
||||
"v": 2
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "tagged-prod",
|
||||
"tags": [
|
||||
"tag:prod"
|
||||
],
|
||||
"ipv4": "100.103.8.15",
|
||||
"ipv6": "fd7a:115c:a1e0::5b37:80f"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.108.74.26/32",
|
||||
"fd7a:115c:a1e0::b901:4a87/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{
|
||||
"v": 1
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.108.74.26/32",
|
||||
"fd7a:115c:a1e0::b901:4a87/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{
|
||||
"v": 2
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,224 +0,0 @@
|
|||
// GRANT-G3
|
||||
//
|
||||
// Grants:
|
||||
// src=['*'] dst=['tag:server'] app={example.com/cap/test}
|
||||
// src=['tag:client'] dst=['tag:server'] app={example.com/cap/test}
|
||||
//
|
||||
// Expected: Rules on tagged-server
|
||||
{
|
||||
"test_id": "GRANT-G3",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"tag:server"
|
||||
],
|
||||
"app": {
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"src": [
|
||||
"tag:client"
|
||||
],
|
||||
"dst": [
|
||||
"tag:server"
|
||||
],
|
||||
"app": {
|
||||
"example.com/cap/test": [
|
||||
{
|
||||
"extra": true
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "tagged-prod",
|
||||
"tags": [
|
||||
"tag:prod"
|
||||
],
|
||||
"ipv4": "100.103.8.15",
|
||||
"ipv6": "fd7a:115c:a1e0::5b37:80f"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.108.74.26/32",
|
||||
"fd7a:115c:a1e0::b901:4a87/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.83.200.69",
|
||||
"fd7a:115c:a1e0::c537:c845"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.108.74.26/32",
|
||||
"fd7a:115c:a1e0::b901:4a87/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{
|
||||
"extra": true
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,226 +0,0 @@
|
|||
// GRANT-G4
|
||||
//
|
||||
// Grants:
|
||||
// src=['*'] dst=['tag:server'] app={example.com/cap/test}
|
||||
// src=['*'] dst=['tag:server'] ip=['tcp:80']
|
||||
//
|
||||
// Expected: Rules on tagged-server
|
||||
{
|
||||
"test_id": "GRANT-G4",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"tag:server"
|
||||
],
|
||||
"app": {
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"tag:server"
|
||||
],
|
||||
"ip": [
|
||||
"tcp:80"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "tagged-prod",
|
||||
"tags": [
|
||||
"tag:prod"
|
||||
],
|
||||
"ipv4": "100.103.8.15",
|
||||
"ipv6": "fd7a:115c:a1e0::5b37:80f"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.108.74.26/32",
|
||||
"fd7a:115c:a1e0::b901:4a87/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26",
|
||||
"Ports": {
|
||||
"First": 80,
|
||||
"Last": 80
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87",
|
||||
"Ports": {
|
||||
"First": 80,
|
||||
"Last": 80
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [
|
||||
6
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,381 +0,0 @@
|
|||
// GRANT-G5
|
||||
//
|
||||
// Grants:
|
||||
// src=['*'] dst=['*'] ip=['*']
|
||||
// src=['tag:client'] dst=['tag:server'] app={example.com/cap/test}
|
||||
// src=['autogroup:member'] dst=['tag:server'] ip=['tcp:443']
|
||||
//
|
||||
// Expected: Rules on 8 nodes
|
||||
{
|
||||
"test_id": "GRANT-G5",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"*"
|
||||
],
|
||||
"ip": [
|
||||
"*"
|
||||
]
|
||||
},
|
||||
{
|
||||
"src": [
|
||||
"tag:client"
|
||||
],
|
||||
"dst": [
|
||||
"tag:server"
|
||||
],
|
||||
"app": {
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"src": [
|
||||
"autogroup:member"
|
||||
],
|
||||
"dst": [
|
||||
"tag:server"
|
||||
],
|
||||
"ip": [
|
||||
"tcp:443"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "tagged-prod",
|
||||
"tags": [
|
||||
"tag:prod"
|
||||
],
|
||||
"ipv4": "100.103.8.15",
|
||||
"ipv6": "fd7a:115c:a1e0::5b37:80f"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.83.200.69",
|
||||
"fd7a:115c:a1e0::c537:c845"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.108.74.26/32",
|
||||
"fd7a:115c:a1e0::b901:4a87/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.103.90.82",
|
||||
"100.110.121.96",
|
||||
"100.90.199.68",
|
||||
"fd7a:115c:a1e0::1737:7960",
|
||||
"fd7a:115c:a1e0::2d01:c747",
|
||||
"fd7a:115c:a1e0::9e37:5a52"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26",
|
||||
"Ports": {
|
||||
"First": 443,
|
||||
"Last": 443
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87",
|
||||
"Ports": {
|
||||
"First": 443,
|
||||
"Last": 443
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [
|
||||
6
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,380 +0,0 @@
|
|||
// GRANT-G6
|
||||
//
|
||||
// Grants:
|
||||
// src=['*'] dst=['*'] app={example.com/cap/test}
|
||||
// src=['*'] dst=['tag:server'] app={example.com/cap/test}
|
||||
//
|
||||
// Expected: Rules on 8 nodes
|
||||
{
|
||||
"test_id": "GRANT-G6",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"*"
|
||||
],
|
||||
"app": {
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"tag:server"
|
||||
],
|
||||
"app": {
|
||||
"example.com/cap/test": [
|
||||
{
|
||||
"special": true
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "tagged-prod",
|
||||
"tags": [
|
||||
"tag:prod"
|
||||
],
|
||||
"ipv4": "100.103.8.15",
|
||||
"ipv6": "fd7a:115c:a1e0::5b37:80f"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.85.66.106/32",
|
||||
"fd7a:115c:a1e0::7c37:426a/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.92.142.61/32",
|
||||
"fd7a:115c:a1e0::3e37:8e3d/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.83.200.69/32",
|
||||
"fd7a:115c:a1e0::c537:c845/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.103.8.15/32",
|
||||
"fd7a:115c:a1e0::5b37:80f/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.108.74.26/32",
|
||||
"fd7a:115c:a1e0::b901:4a87/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.108.74.26/32",
|
||||
"fd7a:115c:a1e0::b901:4a87/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{
|
||||
"special": true
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.110.121.96/32",
|
||||
"fd7a:115c:a1e0::1737:7960/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.103.90.82/32",
|
||||
"fd7a:115c:a1e0::9e37:5a52/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.90.199.68/32",
|
||||
"fd7a:115c:a1e0::2d01:c747/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,76 +0,0 @@
|
|||
// GRANT-H1
|
||||
//
|
||||
// Grant: src=['*'] dst=['*']
|
||||
//
|
||||
// Expected: Error (HTTP 400) — ip and app can not both be empty
|
||||
{
|
||||
"test_id": "GRANT-H1",
|
||||
"error": true,
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"*"
|
||||
],
|
||||
"app": {}
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 400,
|
||||
"api_response_body": {
|
||||
"message": "ip and app can not both be empty"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,80 +0,0 @@
|
|||
// GRANT-H10
|
||||
//
|
||||
// Grant: src=['autogroup:self'] dst=['*'] app={example.com/cap/test}
|
||||
//
|
||||
// Expected: Error (HTTP 400) — "autogroup:self" not valid on the src side of a rule
|
||||
{
|
||||
"test_id": "GRANT-H10",
|
||||
"error": true,
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"autogroup:self"
|
||||
],
|
||||
"dst": [
|
||||
"*"
|
||||
],
|
||||
"app": {
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 400,
|
||||
"api_response_body": {
|
||||
"message": "\"autogroup:self\" not valid on the src side of a rule"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,322 +0,0 @@
|
|||
// GRANT-H2
|
||||
//
|
||||
// Grant: src=['*'] dst=['*'] app={example.com/cap/test}
|
||||
//
|
||||
// Expected: Rules on 8 nodes
|
||||
{
|
||||
"test_id": "GRANT-H2",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"*"
|
||||
],
|
||||
"app": {
|
||||
"example.com/cap/test": []
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "tagged-prod",
|
||||
"tags": [
|
||||
"tag:prod"
|
||||
],
|
||||
"ipv4": "100.103.8.15",
|
||||
"ipv6": "fd7a:115c:a1e0::5b37:80f"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.85.66.106/32",
|
||||
"fd7a:115c:a1e0::7c37:426a/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": []
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.92.142.61/32",
|
||||
"fd7a:115c:a1e0::3e37:8e3d/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": []
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.83.200.69/32",
|
||||
"fd7a:115c:a1e0::c537:c845/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": []
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.103.8.15/32",
|
||||
"fd7a:115c:a1e0::5b37:80f/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": []
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.108.74.26/32",
|
||||
"fd7a:115c:a1e0::b901:4a87/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": []
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.110.121.96/32",
|
||||
"fd7a:115c:a1e0::1737:7960/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": []
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.103.90.82/32",
|
||||
"fd7a:115c:a1e0::9e37:5a52/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": []
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.90.199.68/32",
|
||||
"fd7a:115c:a1e0::2d01:c747/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": []
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,76 +0,0 @@
|
|||
// GRANT-H3
|
||||
//
|
||||
// Grant: src=['*'] dst=['*']
|
||||
//
|
||||
// Expected: Error (HTTP 400) — ip and app can not both be empty
|
||||
{
|
||||
"test_id": "GRANT-H3",
|
||||
"error": true,
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"*"
|
||||
],
|
||||
"ip": []
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 400,
|
||||
"api_response_body": {
|
||||
"message": "ip and app can not both be empty"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,162 +0,0 @@
|
|||
// GRANT-H4
|
||||
//
|
||||
// Grant: src=[] dst=['*'] app={example.com/cap/test}
|
||||
//
|
||||
// Expected: No filter rules on any node
|
||||
{
|
||||
"test_id": "GRANT-H4",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [],
|
||||
"dst": [
|
||||
"*"
|
||||
],
|
||||
"app": {
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "tagged-prod",
|
||||
"tags": [
|
||||
"tag:prod"
|
||||
],
|
||||
"ipv4": "100.103.8.15",
|
||||
"ipv6": "fd7a:115c:a1e0::5b37:80f"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,162 +0,0 @@
|
|||
// GRANT-H5
|
||||
//
|
||||
// Grant: src=['*'] dst=[] app={example.com/cap/test}
|
||||
//
|
||||
// Expected: No filter rules on any node
|
||||
{
|
||||
"test_id": "GRANT-H5",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [],
|
||||
"app": {
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "tagged-prod",
|
||||
"tags": [
|
||||
"tag:prod"
|
||||
],
|
||||
"ipv4": "100.103.8.15",
|
||||
"ipv6": "fd7a:115c:a1e0::5b37:80f"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,300 +0,0 @@
|
|||
// GRANT-H6
|
||||
//
|
||||
// Grant: src=['group:empty'] dst=['*'] app={example.com/cap/test}
|
||||
//
|
||||
// Expected: Rules on 8 nodes
|
||||
{
|
||||
"test_id": "GRANT-H6",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"group:empty"
|
||||
],
|
||||
"dst": [
|
||||
"*"
|
||||
],
|
||||
"app": {
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "tagged-prod",
|
||||
"tags": [
|
||||
"tag:prod"
|
||||
],
|
||||
"ipv4": "100.103.8.15",
|
||||
"ipv6": "fd7a:115c:a1e0::5b37:80f"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.85.66.106/32",
|
||||
"fd7a:115c:a1e0::7c37:426a/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.92.142.61/32",
|
||||
"fd7a:115c:a1e0::3e37:8e3d/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.83.200.69/32",
|
||||
"fd7a:115c:a1e0::c537:c845/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.103.8.15/32",
|
||||
"fd7a:115c:a1e0::5b37:80f/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.108.74.26/32",
|
||||
"fd7a:115c:a1e0::b901:4a87/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.110.121.96/32",
|
||||
"fd7a:115c:a1e0::1737:7960/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.103.90.82/32",
|
||||
"fd7a:115c:a1e0::9e37:5a52/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.90.199.68/32",
|
||||
"fd7a:115c:a1e0::2d01:c747/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,80 +0,0 @@
|
|||
// GRANT-H7
|
||||
//
|
||||
// Grant: src=['tag:nonexistent'] dst=['*'] app={example.com/cap/test}
|
||||
//
|
||||
// Expected: Error (HTTP 400) — src=tag not found: "tag:nonexistent"
|
||||
{
|
||||
"test_id": "GRANT-H7",
|
||||
"error": true,
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"tag:nonexistent"
|
||||
],
|
||||
"dst": [
|
||||
"*"
|
||||
],
|
||||
"app": {
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 400,
|
||||
"api_response_body": {
|
||||
"message": "src=tag not found: \"tag:nonexistent\""
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,75 +0,0 @@
|
|||
// GRANT-H8
|
||||
//
|
||||
// Grant: src=['*'] dst=['*']
|
||||
//
|
||||
// Expected: Error (HTTP 400) — ip and app can not both be empty
|
||||
{
|
||||
"test_id": "GRANT-H8",
|
||||
"error": true,
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"*"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 400,
|
||||
"api_response_body": {
|
||||
"message": "ip and app can not both be empty"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,80 +0,0 @@
|
|||
// GRANT-H9
|
||||
//
|
||||
// Grant: src=['*'] dst=['autogroup:self'] app={example.com/cap/test}
|
||||
//
|
||||
// Expected: Error (HTTP 400) — autogroup:self can only be used with users, groups, or supported autogroups
|
||||
{
|
||||
"test_id": "GRANT-H9",
|
||||
"error": true,
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"autogroup:self"
|
||||
],
|
||||
"app": {
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 400,
|
||||
"api_response_body": {
|
||||
"message": "autogroup:self can only be used with users, groups, or supported autogroups"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,183 +0,0 @@
|
|||
// GRANT-I1
|
||||
//
|
||||
// Grant: src=['*'] dst=['10.33.0.0/16'] via=['tag:router'] ip=['*']
|
||||
//
|
||||
// Expected: Rules on subnet-router
|
||||
{
|
||||
"test_id": "GRANT-I1",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"10.33.0.0/16"
|
||||
],
|
||||
"via": [
|
||||
"tag:router"
|
||||
],
|
||||
"ip": [
|
||||
"*"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "tagged-prod",
|
||||
"tags": [
|
||||
"tag:prod"
|
||||
],
|
||||
"ipv4": "100.103.8.15",
|
||||
"ipv6": "fd7a:115c:a1e0::5b37:80f"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "10.33.0.0/16",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,186 +0,0 @@
|
|||
// GRANT-I2
|
||||
//
|
||||
// Grant: src=['*'] dst=['10.33.0.0/16'] via=['tag:router'] ip=['tcp:80']
|
||||
//
|
||||
// Expected: Rules on subnet-router
|
||||
{
|
||||
"test_id": "GRANT-I2",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"10.33.0.0/16"
|
||||
],
|
||||
"via": [
|
||||
"tag:router"
|
||||
],
|
||||
"ip": [
|
||||
"tcp:80"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "tagged-prod",
|
||||
"tags": [
|
||||
"tag:prod"
|
||||
],
|
||||
"ipv4": "100.103.8.15",
|
||||
"ipv6": "fd7a:115c:a1e0::5b37:80f"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "10.33.0.0/16",
|
||||
"Ports": {
|
||||
"First": 80,
|
||||
"Last": 80
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [
|
||||
6
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,184 +0,0 @@
|
|||
// GRANT-I3
|
||||
//
|
||||
// Grant: src=['*'] dst=['10.33.0.0/16'] via=['tag:router', 'tag:exit'] ip=['*']
|
||||
//
|
||||
// Expected: Rules on subnet-router
|
||||
{
|
||||
"test_id": "GRANT-I3",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"10.33.0.0/16"
|
||||
],
|
||||
"via": [
|
||||
"tag:router",
|
||||
"tag:exit"
|
||||
],
|
||||
"ip": [
|
||||
"*"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "tagged-prod",
|
||||
"tags": [
|
||||
"tag:prod"
|
||||
],
|
||||
"ipv4": "100.103.8.15",
|
||||
"ipv6": "fd7a:115c:a1e0::5b37:80f"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "10.33.0.0/16",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,81 +0,0 @@
|
|||
// GRANT-I4
|
||||
//
|
||||
// Grant: src=['*'] dst=['10.33.0.0/16'] via=['autogroup:tagged'] ip=['*']
|
||||
//
|
||||
// Expected: Error (HTTP 400) — via can only be a tag
|
||||
{
|
||||
"test_id": "GRANT-I4",
|
||||
"error": true,
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"10.33.0.0/16"
|
||||
],
|
||||
"via": [
|
||||
"autogroup:tagged"
|
||||
],
|
||||
"ip": [
|
||||
"*"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 400,
|
||||
"api_response_body": {
|
||||
"message": "via can only be a tag"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,190 +0,0 @@
|
|||
// GRANT-J1
|
||||
//
|
||||
// Grant: src=['*'] dst=['tag:server'] ip=['tcp:22']
|
||||
//
|
||||
// Expected: Rules on tagged-server
|
||||
{
|
||||
"test_id": "GRANT-J1",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"tag:server"
|
||||
],
|
||||
"ip": [
|
||||
"tcp:22"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "tagged-prod",
|
||||
"tags": [
|
||||
"tag:prod"
|
||||
],
|
||||
"ipv4": "100.103.8.15",
|
||||
"ipv6": "fd7a:115c:a1e0::5b37:80f"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [
|
||||
6
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,190 +0,0 @@
|
|||
// GRANT-J2
|
||||
//
|
||||
// Grant: src=['*'] dst=['tag:server'] ip=['udp:53']
|
||||
//
|
||||
// Expected: Rules on tagged-server
|
||||
{
|
||||
"test_id": "GRANT-J2",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"tag:server"
|
||||
],
|
||||
"ip": [
|
||||
"udp:53"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "tagged-prod",
|
||||
"tags": [
|
||||
"tag:prod"
|
||||
],
|
||||
"ipv4": "100.103.8.15",
|
||||
"ipv6": "fd7a:115c:a1e0::5b37:80f"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26",
|
||||
"Ports": {
|
||||
"First": 53,
|
||||
"Last": 53
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87",
|
||||
"Ports": {
|
||||
"First": 53,
|
||||
"Last": 53
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [
|
||||
17
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,187 +0,0 @@
|
|||
// GRANT-J3
|
||||
//
|
||||
// Grant: src=['*'] dst=['tag:server'] ip=['*']
|
||||
//
|
||||
// Expected: Rules on tagged-server
|
||||
{
|
||||
"test_id": "GRANT-J3",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"tag:server"
|
||||
],
|
||||
"ip": [
|
||||
"*"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "tagged-prod",
|
||||
"tags": [
|
||||
"tag:prod"
|
||||
],
|
||||
"ipv4": "100.103.8.15",
|
||||
"ipv6": "fd7a:115c:a1e0::5b37:80f"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,233 +0,0 @@
|
|||
// GRANT-J4
|
||||
//
|
||||
// Grant: src=['*'] dst=['tag:server'] ip=['tcp:80', 'udp:53', 'tcp:443']
|
||||
//
|
||||
// Expected: Rules on tagged-server
|
||||
{
|
||||
"test_id": "GRANT-J4",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"tag:server"
|
||||
],
|
||||
"ip": [
|
||||
"tcp:80",
|
||||
"udp:53",
|
||||
"tcp:443"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "tagged-prod",
|
||||
"tags": [
|
||||
"tag:prod"
|
||||
],
|
||||
"ipv4": "100.103.8.15",
|
||||
"ipv6": "fd7a:115c:a1e0::5b37:80f"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26",
|
||||
"Ports": {
|
||||
"First": 80,
|
||||
"Last": 80
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "100.108.74.26",
|
||||
"Ports": {
|
||||
"First": 443,
|
||||
"Last": 443
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87",
|
||||
"Ports": {
|
||||
"First": 80,
|
||||
"Last": 80
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87",
|
||||
"Ports": {
|
||||
"First": 443,
|
||||
"Last": 443
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [
|
||||
6
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26",
|
||||
"Ports": {
|
||||
"First": 53,
|
||||
"Last": 53
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87",
|
||||
"Ports": {
|
||||
"First": 53,
|
||||
"Last": 53
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [
|
||||
17
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,190 +0,0 @@
|
|||
// GRANT-J5
|
||||
//
|
||||
// Grant: src=['*'] dst=['tag:server'] ip=['tcp:80-443']
|
||||
//
|
||||
// Expected: Rules on tagged-server
|
||||
{
|
||||
"test_id": "GRANT-J5",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"tag:server"
|
||||
],
|
||||
"ip": [
|
||||
"tcp:80-443"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "tagged-prod",
|
||||
"tags": [
|
||||
"tag:prod"
|
||||
],
|
||||
"ipv4": "100.103.8.15",
|
||||
"ipv6": "fd7a:115c:a1e0::5b37:80f"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26",
|
||||
"Ports": {
|
||||
"First": 80,
|
||||
"Last": 443
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87",
|
||||
"Ports": {
|
||||
"First": 80,
|
||||
"Last": 443
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [
|
||||
6
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,187 +0,0 @@
|
|||
// GRANT-J6
|
||||
//
|
||||
// Grant: src=['*'] dst=['tag:server'] ip=['80']
|
||||
//
|
||||
// Expected: Rules on tagged-server
|
||||
{
|
||||
"test_id": "GRANT-J6",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"tag:server"
|
||||
],
|
||||
"ip": [
|
||||
"80"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "tagged-prod",
|
||||
"tags": [
|
||||
"tag:prod"
|
||||
],
|
||||
"ipv4": "100.103.8.15",
|
||||
"ipv6": "fd7a:115c:a1e0::5b37:80f"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26",
|
||||
"Ports": {
|
||||
"First": 80,
|
||||
"Last": 80
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87",
|
||||
"Ports": {
|
||||
"First": 80,
|
||||
"Last": 80
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,78 +0,0 @@
|
|||
// GRANT-J7
|
||||
//
|
||||
// Grant: src=['*'] dst=['tag:server'] ip=['icmp']
|
||||
//
|
||||
// Expected: Error (HTTP 400) — port range "icmp": invalid first integer
|
||||
{
|
||||
"test_id": "GRANT-J7",
|
||||
"error": true,
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"tag:server"
|
||||
],
|
||||
"ip": [
|
||||
"icmp"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 400,
|
||||
"api_response_body": {
|
||||
"message": "port range \"icmp\": invalid first integer"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,305 +0,0 @@
|
|||
// GRANT-K1
|
||||
//
|
||||
// ACLs:
|
||||
// accept: src=['*'] dst=['*:*']
|
||||
//
|
||||
// Expected: Rules on 8 nodes
|
||||
{
|
||||
"test_id": "GRANT-K1",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"*:*"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "tagged-prod",
|
||||
"tags": [
|
||||
"tag:prod"
|
||||
],
|
||||
"ipv4": "100.103.8.15",
|
||||
"ipv6": "fd7a:115c:a1e0::5b37:80f"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,80 +0,0 @@
|
|||
// GRANT-K10
|
||||
//
|
||||
// Grant: src=['*'] dst=['*'] app={tailscale.com/cap/funnel}
|
||||
//
|
||||
// Expected: Error (HTTP 400) — capability name must not be in the tailscale.com domain
|
||||
{
|
||||
"test_id": "GRANT-K10",
|
||||
"error": true,
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"*"
|
||||
],
|
||||
"app": {
|
||||
"tailscale.com/cap/funnel": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 400,
|
||||
"api_response_body": {
|
||||
"message": "capability name must not be in the tailscale.com domain"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,824 +0,0 @@
|
|||
// GRANT-K11
|
||||
//
|
||||
// Grant: src=['*'] dst=['*'] app={tailscale.com/cap/webui,...} (4 caps)
|
||||
//
|
||||
// Expected: Rules on 8 nodes
|
||||
{
|
||||
"test_id": "GRANT-K11",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"*"
|
||||
],
|
||||
"app": {
|
||||
"tailscale.com/cap/webui": [
|
||||
{}
|
||||
],
|
||||
"tailscale.com/cap/relay": [
|
||||
{}
|
||||
],
|
||||
"tailscale.com/cap/kubernetes": [
|
||||
{
|
||||
"impersonate": {
|
||||
"groups": [
|
||||
"system:masters"
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"tailscale.com/cap/drive": [
|
||||
{
|
||||
"shares": [
|
||||
"*"
|
||||
],
|
||||
"access": "rw"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "tagged-prod",
|
||||
"tags": [
|
||||
"tag:prod"
|
||||
],
|
||||
"ipv4": "100.103.8.15",
|
||||
"ipv6": "fd7a:115c:a1e0::5b37:80f"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.85.66.106/32",
|
||||
"fd7a:115c:a1e0::7c37:426a/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive": [
|
||||
{
|
||||
"shares": [
|
||||
"*"
|
||||
],
|
||||
"access": "rw"
|
||||
}
|
||||
],
|
||||
"tailscale.com/cap/kubernetes": [
|
||||
{
|
||||
"impersonate": {
|
||||
"groups": [
|
||||
"system:masters"
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"tailscale.com/cap/relay": [
|
||||
{}
|
||||
],
|
||||
"tailscale.com/cap/webui": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.85.66.106/32",
|
||||
"fd7a:115c:a1e0::7c37:426a/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive-sharer": null
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.85.66.106/32",
|
||||
"fd7a:115c:a1e0::7c37:426a/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/relay-target": null
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.92.142.61/32",
|
||||
"fd7a:115c:a1e0::3e37:8e3d/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive": [
|
||||
{
|
||||
"shares": [
|
||||
"*"
|
||||
],
|
||||
"access": "rw"
|
||||
}
|
||||
],
|
||||
"tailscale.com/cap/kubernetes": [
|
||||
{
|
||||
"impersonate": {
|
||||
"groups": [
|
||||
"system:masters"
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"tailscale.com/cap/relay": [
|
||||
{}
|
||||
],
|
||||
"tailscale.com/cap/webui": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.92.142.61/32",
|
||||
"fd7a:115c:a1e0::3e37:8e3d/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive-sharer": null
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.92.142.61/32",
|
||||
"fd7a:115c:a1e0::3e37:8e3d/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/relay-target": null
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.83.200.69/32",
|
||||
"fd7a:115c:a1e0::c537:c845/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive": [
|
||||
{
|
||||
"shares": [
|
||||
"*"
|
||||
],
|
||||
"access": "rw"
|
||||
}
|
||||
],
|
||||
"tailscale.com/cap/kubernetes": [
|
||||
{
|
||||
"impersonate": {
|
||||
"groups": [
|
||||
"system:masters"
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"tailscale.com/cap/relay": [
|
||||
{}
|
||||
],
|
||||
"tailscale.com/cap/webui": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.83.200.69/32",
|
||||
"fd7a:115c:a1e0::c537:c845/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive-sharer": null
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.83.200.69/32",
|
||||
"fd7a:115c:a1e0::c537:c845/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/relay-target": null
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.103.8.15/32",
|
||||
"fd7a:115c:a1e0::5b37:80f/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive": [
|
||||
{
|
||||
"shares": [
|
||||
"*"
|
||||
],
|
||||
"access": "rw"
|
||||
}
|
||||
],
|
||||
"tailscale.com/cap/kubernetes": [
|
||||
{
|
||||
"impersonate": {
|
||||
"groups": [
|
||||
"system:masters"
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"tailscale.com/cap/relay": [
|
||||
{}
|
||||
],
|
||||
"tailscale.com/cap/webui": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.103.8.15/32",
|
||||
"fd7a:115c:a1e0::5b37:80f/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive-sharer": null
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.103.8.15/32",
|
||||
"fd7a:115c:a1e0::5b37:80f/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/relay-target": null
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.108.74.26/32",
|
||||
"fd7a:115c:a1e0::b901:4a87/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive": [
|
||||
{
|
||||
"shares": [
|
||||
"*"
|
||||
],
|
||||
"access": "rw"
|
||||
}
|
||||
],
|
||||
"tailscale.com/cap/kubernetes": [
|
||||
{
|
||||
"impersonate": {
|
||||
"groups": [
|
||||
"system:masters"
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"tailscale.com/cap/relay": [
|
||||
{}
|
||||
],
|
||||
"tailscale.com/cap/webui": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.108.74.26/32",
|
||||
"fd7a:115c:a1e0::b901:4a87/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive-sharer": null
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.108.74.26/32",
|
||||
"fd7a:115c:a1e0::b901:4a87/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/relay-target": null
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.110.121.96/32",
|
||||
"fd7a:115c:a1e0::1737:7960/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive": [
|
||||
{
|
||||
"shares": [
|
||||
"*"
|
||||
],
|
||||
"access": "rw"
|
||||
}
|
||||
],
|
||||
"tailscale.com/cap/kubernetes": [
|
||||
{
|
||||
"impersonate": {
|
||||
"groups": [
|
||||
"system:masters"
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"tailscale.com/cap/relay": [
|
||||
{}
|
||||
],
|
||||
"tailscale.com/cap/webui": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.110.121.96/32",
|
||||
"fd7a:115c:a1e0::1737:7960/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive-sharer": null
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.110.121.96/32",
|
||||
"fd7a:115c:a1e0::1737:7960/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/relay-target": null
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.103.90.82/32",
|
||||
"fd7a:115c:a1e0::9e37:5a52/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive": [
|
||||
{
|
||||
"shares": [
|
||||
"*"
|
||||
],
|
||||
"access": "rw"
|
||||
}
|
||||
],
|
||||
"tailscale.com/cap/kubernetes": [
|
||||
{
|
||||
"impersonate": {
|
||||
"groups": [
|
||||
"system:masters"
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"tailscale.com/cap/relay": [
|
||||
{}
|
||||
],
|
||||
"tailscale.com/cap/webui": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.103.90.82/32",
|
||||
"fd7a:115c:a1e0::9e37:5a52/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive-sharer": null
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.103.90.82/32",
|
||||
"fd7a:115c:a1e0::9e37:5a52/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/relay-target": null
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.90.199.68/32",
|
||||
"fd7a:115c:a1e0::2d01:c747/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive": [
|
||||
{
|
||||
"shares": [
|
||||
"*"
|
||||
],
|
||||
"access": "rw"
|
||||
}
|
||||
],
|
||||
"tailscale.com/cap/kubernetes": [
|
||||
{
|
||||
"impersonate": {
|
||||
"groups": [
|
||||
"system:masters"
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"tailscale.com/cap/relay": [
|
||||
{}
|
||||
],
|
||||
"tailscale.com/cap/webui": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.90.199.68/32",
|
||||
"fd7a:115c:a1e0::2d01:c747/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive-sharer": null
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.90.199.68/32",
|
||||
"fd7a:115c:a1e0::2d01:c747/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/relay-target": null
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,169 +0,0 @@
|
|||
// GRANT-K12
|
||||
//
|
||||
// Grant: src=['*'] dst=['10.33.0.0/16'] via=['tag:router'] app={example.com/cap/subnet-access}
|
||||
//
|
||||
// Expected: No filter rules on any node
|
||||
{
|
||||
"test_id": "GRANT-K12",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"10.33.0.0/16"
|
||||
],
|
||||
"via": [
|
||||
"tag:router"
|
||||
],
|
||||
"app": {
|
||||
"example.com/cap/subnet-access": [
|
||||
{
|
||||
"level": "admin"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "tagged-prod",
|
||||
"tags": [
|
||||
"tag:prod"
|
||||
],
|
||||
"ipv4": "100.103.8.15",
|
||||
"ipv6": "fd7a:115c:a1e0::5b37:80f"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,193 +0,0 @@
|
|||
// GRANT-K13
|
||||
//
|
||||
// Grant: src=['*'] dst=['10.33.0.0/16'] via=['tag:router'] ip=['tcp:80'] app={example.com/cap/subnet-access}
|
||||
//
|
||||
// Expected: Rules on subnet-router
|
||||
{
|
||||
"test_id": "GRANT-K13",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"10.33.0.0/16"
|
||||
],
|
||||
"via": [
|
||||
"tag:router"
|
||||
],
|
||||
"ip": [
|
||||
"tcp:80"
|
||||
],
|
||||
"app": {
|
||||
"example.com/cap/subnet-access": [
|
||||
{
|
||||
"level": "admin"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "tagged-prod",
|
||||
"tags": [
|
||||
"tag:prod"
|
||||
],
|
||||
"ipv4": "100.103.8.15",
|
||||
"ipv6": "fd7a:115c:a1e0::5b37:80f"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "10.33.0.0/16",
|
||||
"Ports": {
|
||||
"First": 80,
|
||||
"Last": 80
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [
|
||||
6
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,187 +0,0 @@
|
|||
// GRANT-K14
|
||||
//
|
||||
// Grant: src=['fd7a:115c:a1e0::c537:c845'] dst=['tag:server'] ip=['tcp:22']
|
||||
//
|
||||
// Expected: Rules on tagged-server
|
||||
{
|
||||
"test_id": "GRANT-K14",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"fd7a:115c:a1e0::c537:c845"
|
||||
],
|
||||
"dst": [
|
||||
"tag:server"
|
||||
],
|
||||
"ip": [
|
||||
"tcp:22"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "tagged-prod",
|
||||
"tags": [
|
||||
"tag:prod"
|
||||
],
|
||||
"ipv4": "100.103.8.15",
|
||||
"ipv6": "fd7a:115c:a1e0::5b37:80f"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"fd7a:115c:a1e0::c537:c845"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [
|
||||
6
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,183 +0,0 @@
|
|||
// GRANT-K15
|
||||
//
|
||||
// Grant: src=['*'] dst=['fd7a:115c:a1e0::b901:4a87'] ip=['tcp:22']
|
||||
//
|
||||
// Expected: Rules on tagged-server
|
||||
{
|
||||
"test_id": "GRANT-K15",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"fd7a:115c:a1e0::b901:4a87"
|
||||
],
|
||||
"ip": [
|
||||
"tcp:22"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "tagged-prod",
|
||||
"tags": [
|
||||
"tag:prod"
|
||||
],
|
||||
"ipv4": "100.103.8.15",
|
||||
"ipv6": "fd7a:115c:a1e0::5b37:80f"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [
|
||||
6
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,344 +0,0 @@
|
|||
// GRANT-K16
|
||||
//
|
||||
// Grants:
|
||||
// src=['tag:client'] dst=['tag:server'] ip=['tcp:22']
|
||||
// src=['*'] dst=['*'] ip=['*']
|
||||
//
|
||||
// Expected: Rules on 8 nodes
|
||||
{
|
||||
"test_id": "GRANT-K16",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"tag:client"
|
||||
],
|
||||
"dst": [
|
||||
"tag:server"
|
||||
],
|
||||
"ip": [
|
||||
"tcp:22"
|
||||
]
|
||||
},
|
||||
{
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"*"
|
||||
],
|
||||
"ip": [
|
||||
"*"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "tagged-prod",
|
||||
"tags": [
|
||||
"tag:prod"
|
||||
],
|
||||
"ipv4": "100.103.8.15",
|
||||
"ipv6": "fd7a:115c:a1e0::5b37:80f"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.83.200.69",
|
||||
"fd7a:115c:a1e0::c537:c845"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [
|
||||
6
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,344 +0,0 @@
|
|||
// GRANT-K17
|
||||
//
|
||||
// Grants:
|
||||
// src=['*'] dst=['*'] ip=['*']
|
||||
// src=['tag:client'] dst=['tag:server'] ip=['tcp:22']
|
||||
//
|
||||
// Expected: Rules on 8 nodes
|
||||
{
|
||||
"test_id": "GRANT-K17",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"*"
|
||||
],
|
||||
"ip": [
|
||||
"*"
|
||||
]
|
||||
},
|
||||
{
|
||||
"src": [
|
||||
"tag:client"
|
||||
],
|
||||
"dst": [
|
||||
"tag:server"
|
||||
],
|
||||
"ip": [
|
||||
"tcp:22"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "tagged-prod",
|
||||
"tags": [
|
||||
"tag:prod"
|
||||
],
|
||||
"ipv4": "100.103.8.15",
|
||||
"ipv6": "fd7a:115c:a1e0::5b37:80f"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.83.200.69",
|
||||
"fd7a:115c:a1e0::c537:c845"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [
|
||||
6
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,541 +0,0 @@
|
|||
// GRANT-K18
|
||||
//
|
||||
// Grants:
|
||||
// src=['*'] dst=['*'] app={example.com/cap/one}
|
||||
// src=['*'] dst=['*'] app={example.com/cap/two}
|
||||
//
|
||||
// Expected: Rules on 8 nodes
|
||||
{
|
||||
"test_id": "GRANT-K18",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"*"
|
||||
],
|
||||
"app": {
|
||||
"example.com/cap/one": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"*"
|
||||
],
|
||||
"app": {
|
||||
"example.com/cap/two": [
|
||||
{
|
||||
"v": 42
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "tagged-prod",
|
||||
"tags": [
|
||||
"tag:prod"
|
||||
],
|
||||
"ipv4": "100.103.8.15",
|
||||
"ipv6": "fd7a:115c:a1e0::5b37:80f"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.85.66.106/32",
|
||||
"fd7a:115c:a1e0::7c37:426a/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/one": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.85.66.106/32",
|
||||
"fd7a:115c:a1e0::7c37:426a/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/two": [
|
||||
{
|
||||
"v": 42
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.92.142.61/32",
|
||||
"fd7a:115c:a1e0::3e37:8e3d/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/one": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.92.142.61/32",
|
||||
"fd7a:115c:a1e0::3e37:8e3d/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/two": [
|
||||
{
|
||||
"v": 42
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.83.200.69/32",
|
||||
"fd7a:115c:a1e0::c537:c845/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/one": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.83.200.69/32",
|
||||
"fd7a:115c:a1e0::c537:c845/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/two": [
|
||||
{
|
||||
"v": 42
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.103.8.15/32",
|
||||
"fd7a:115c:a1e0::5b37:80f/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/one": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.103.8.15/32",
|
||||
"fd7a:115c:a1e0::5b37:80f/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/two": [
|
||||
{
|
||||
"v": 42
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.108.74.26/32",
|
||||
"fd7a:115c:a1e0::b901:4a87/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/one": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.108.74.26/32",
|
||||
"fd7a:115c:a1e0::b901:4a87/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/two": [
|
||||
{
|
||||
"v": 42
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.110.121.96/32",
|
||||
"fd7a:115c:a1e0::1737:7960/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/one": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.110.121.96/32",
|
||||
"fd7a:115c:a1e0::1737:7960/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/two": [
|
||||
{
|
||||
"v": 42
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.103.90.82/32",
|
||||
"fd7a:115c:a1e0::9e37:5a52/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/one": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.103.90.82/32",
|
||||
"fd7a:115c:a1e0::9e37:5a52/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/two": [
|
||||
{
|
||||
"v": 42
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.90.199.68/32",
|
||||
"fd7a:115c:a1e0::2d01:c747/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/one": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.90.199.68/32",
|
||||
"fd7a:115c:a1e0::2d01:c747/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/two": [
|
||||
{
|
||||
"v": 42
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,559 +0,0 @@
|
|||
// GRANT-K19
|
||||
//
|
||||
// Grants:
|
||||
// src=['*'] dst=['*'] app={example.com/cap/test}
|
||||
// src=['*'] dst=['*'] app={example.com/cap/test}
|
||||
//
|
||||
// Expected: Rules on 8 nodes
|
||||
{
|
||||
"test_id": "GRANT-K19",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"*"
|
||||
],
|
||||
"app": {
|
||||
"example.com/cap/test": [
|
||||
{
|
||||
"v": 1
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"*"
|
||||
],
|
||||
"app": {
|
||||
"example.com/cap/test": [
|
||||
{
|
||||
"v": 2
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "tagged-prod",
|
||||
"tags": [
|
||||
"tag:prod"
|
||||
],
|
||||
"ipv4": "100.103.8.15",
|
||||
"ipv6": "fd7a:115c:a1e0::5b37:80f"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.85.66.106/32",
|
||||
"fd7a:115c:a1e0::7c37:426a/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{
|
||||
"v": 1
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.85.66.106/32",
|
||||
"fd7a:115c:a1e0::7c37:426a/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{
|
||||
"v": 2
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.92.142.61/32",
|
||||
"fd7a:115c:a1e0::3e37:8e3d/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{
|
||||
"v": 1
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.92.142.61/32",
|
||||
"fd7a:115c:a1e0::3e37:8e3d/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{
|
||||
"v": 2
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.83.200.69/32",
|
||||
"fd7a:115c:a1e0::c537:c845/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{
|
||||
"v": 1
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.83.200.69/32",
|
||||
"fd7a:115c:a1e0::c537:c845/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{
|
||||
"v": 2
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.103.8.15/32",
|
||||
"fd7a:115c:a1e0::5b37:80f/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{
|
||||
"v": 1
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.103.8.15/32",
|
||||
"fd7a:115c:a1e0::5b37:80f/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{
|
||||
"v": 2
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.108.74.26/32",
|
||||
"fd7a:115c:a1e0::b901:4a87/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{
|
||||
"v": 1
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.108.74.26/32",
|
||||
"fd7a:115c:a1e0::b901:4a87/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{
|
||||
"v": 2
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.110.121.96/32",
|
||||
"fd7a:115c:a1e0::1737:7960/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{
|
||||
"v": 1
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.110.121.96/32",
|
||||
"fd7a:115c:a1e0::1737:7960/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{
|
||||
"v": 2
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.103.90.82/32",
|
||||
"fd7a:115c:a1e0::9e37:5a52/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{
|
||||
"v": 1
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.103.90.82/32",
|
||||
"fd7a:115c:a1e0::9e37:5a52/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{
|
||||
"v": 2
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.90.199.68/32",
|
||||
"fd7a:115c:a1e0::2d01:c747/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{
|
||||
"v": 1
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.90.199.68/32",
|
||||
"fd7a:115c:a1e0::2d01:c747/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{
|
||||
"v": 2
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,306 +0,0 @@
|
|||
// GRANT-K2
|
||||
//
|
||||
// Grant: src=['*'] dst=['*'] ip=['*']
|
||||
//
|
||||
// Expected: Rules on 8 nodes
|
||||
{
|
||||
"test_id": "GRANT-K2",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"*"
|
||||
],
|
||||
"ip": [
|
||||
"*"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "tagged-prod",
|
||||
"tags": [
|
||||
"tag:prod"
|
||||
],
|
||||
"ipv4": "100.103.8.15",
|
||||
"ipv6": "fd7a:115c:a1e0::5b37:80f"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,190 +0,0 @@
|
|||
// GRANT-K20
|
||||
//
|
||||
// Grant: src=['user:*@passkey'] dst=['tag:server'] ip=['tcp:22']
|
||||
//
|
||||
// Expected: Rules on tagged-server
|
||||
{
|
||||
"test_id": "GRANT-K20",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"user:*@passkey"
|
||||
],
|
||||
"dst": [
|
||||
"tag:server"
|
||||
],
|
||||
"ip": [
|
||||
"tcp:22"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "tagged-prod",
|
||||
"tags": [
|
||||
"tag:prod"
|
||||
],
|
||||
"ipv4": "100.103.8.15",
|
||||
"ipv6": "fd7a:115c:a1e0::5b37:80f"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.103.90.82",
|
||||
"100.90.199.68",
|
||||
"fd7a:115c:a1e0::2d01:c747",
|
||||
"fd7a:115c:a1e0::9e37:5a52"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [
|
||||
6
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,218 +0,0 @@
|
|||
// GRANT-K21
|
||||
//
|
||||
// Grant: src=['*'] dst=['user:*@passkey'] ip=['tcp:22']
|
||||
//
|
||||
// Expected: Rules on user-mon, user1
|
||||
{
|
||||
"test_id": "GRANT-K21",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"user:*@passkey"
|
||||
],
|
||||
"ip": [
|
||||
"tcp:22"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "tagged-prod",
|
||||
"tags": [
|
||||
"tag:prod"
|
||||
],
|
||||
"ipv4": "100.103.8.15",
|
||||
"ipv6": "fd7a:115c:a1e0::5b37:80f"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.103.90.82",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::9e37:5a52",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [
|
||||
6
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.90.199.68",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::2d01:c747",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [
|
||||
6
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,187 +0,0 @@
|
|||
// GRANT-K22
|
||||
//
|
||||
// Grant: src=['*'] dst=['tag:server'] ip=['47']
|
||||
//
|
||||
// Expected: Rules on tagged-server
|
||||
{
|
||||
"test_id": "GRANT-K22",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"tag:server"
|
||||
],
|
||||
"ip": [
|
||||
"47"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "tagged-prod",
|
||||
"tags": [
|
||||
"tag:prod"
|
||||
],
|
||||
"ipv4": "100.103.8.15",
|
||||
"ipv6": "fd7a:115c:a1e0::5b37:80f"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26",
|
||||
"Ports": {
|
||||
"First": 47,
|
||||
"Last": 47
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87",
|
||||
"Ports": {
|
||||
"First": 47,
|
||||
"Last": 47
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,78 +0,0 @@
|
|||
// GRANT-K23
|
||||
//
|
||||
// Grant: src=['*'] dst=['tag:server'] ip=['tcp:0']
|
||||
//
|
||||
// Expected: Error (HTTP 400) — port range "0": first port must be >0, or use '*' for wildcard
|
||||
{
|
||||
"test_id": "GRANT-K23",
|
||||
"error": true,
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"tag:server"
|
||||
],
|
||||
"ip": [
|
||||
"tcp:0"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 400,
|
||||
"api_response_body": {
|
||||
"message": "port range \"0\": first port must be >0, or use '*' for wildcard"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,340 +0,0 @@
|
|||
// GRANT-K24
|
||||
//
|
||||
// Grant: src=['*'] dst=['*'] app={example.com/a/b/c/d/e/f}
|
||||
//
|
||||
// Expected: Rules on 8 nodes
|
||||
{
|
||||
"test_id": "GRANT-K24",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"*"
|
||||
],
|
||||
"app": {
|
||||
"example.com/a/b/c/d/e/f": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "tagged-prod",
|
||||
"tags": [
|
||||
"tag:prod"
|
||||
],
|
||||
"ipv4": "100.103.8.15",
|
||||
"ipv6": "fd7a:115c:a1e0::5b37:80f"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.85.66.106/32",
|
||||
"fd7a:115c:a1e0::7c37:426a/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/a/b/c/d/e/f": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.92.142.61/32",
|
||||
"fd7a:115c:a1e0::3e37:8e3d/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/a/b/c/d/e/f": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.83.200.69/32",
|
||||
"fd7a:115c:a1e0::c537:c845/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/a/b/c/d/e/f": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.103.8.15/32",
|
||||
"fd7a:115c:a1e0::5b37:80f/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/a/b/c/d/e/f": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.108.74.26/32",
|
||||
"fd7a:115c:a1e0::b901:4a87/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/a/b/c/d/e/f": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.110.121.96/32",
|
||||
"fd7a:115c:a1e0::1737:7960/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/a/b/c/d/e/f": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.103.90.82/32",
|
||||
"fd7a:115c:a1e0::9e37:5a52/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/a/b/c/d/e/f": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.90.199.68/32",
|
||||
"fd7a:115c:a1e0::2d01:c747/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/a/b/c/d/e/f": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,340 +0,0 @@
|
|||
// GRANT-K25
|
||||
//
|
||||
// Grant: src=['*'] dst=['*'] app={my-company.internal/cap/access}
|
||||
//
|
||||
// Expected: Rules on 8 nodes
|
||||
{
|
||||
"test_id": "GRANT-K25",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"*"
|
||||
],
|
||||
"app": {
|
||||
"my-company.internal/cap/access": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "tagged-prod",
|
||||
"tags": [
|
||||
"tag:prod"
|
||||
],
|
||||
"ipv4": "100.103.8.15",
|
||||
"ipv6": "fd7a:115c:a1e0::5b37:80f"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.85.66.106/32",
|
||||
"fd7a:115c:a1e0::7c37:426a/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"my-company.internal/cap/access": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.92.142.61/32",
|
||||
"fd7a:115c:a1e0::3e37:8e3d/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"my-company.internal/cap/access": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.83.200.69/32",
|
||||
"fd7a:115c:a1e0::c537:c845/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"my-company.internal/cap/access": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.103.8.15/32",
|
||||
"fd7a:115c:a1e0::5b37:80f/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"my-company.internal/cap/access": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.108.74.26/32",
|
||||
"fd7a:115c:a1e0::b901:4a87/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"my-company.internal/cap/access": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.110.121.96/32",
|
||||
"fd7a:115c:a1e0::1737:7960/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"my-company.internal/cap/access": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.103.90.82/32",
|
||||
"fd7a:115c:a1e0::9e37:5a52/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"my-company.internal/cap/access": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.90.199.68/32",
|
||||
"fd7a:115c:a1e0::2d01:c747/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"my-company.internal/cap/access": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,379 +0,0 @@
|
|||
// GRANT-K26
|
||||
//
|
||||
// Grant: src=['autogroup:member'] dst=['autogroup:member', 'autogroup:tagged'] ip=['*']
|
||||
//
|
||||
// Expected: Rules on 8 nodes
|
||||
{
|
||||
"test_id": "GRANT-K26",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"autogroup:member"
|
||||
],
|
||||
"dst": [
|
||||
"autogroup:member",
|
||||
"autogroup:tagged"
|
||||
],
|
||||
"ip": [
|
||||
"*"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "tagged-prod",
|
||||
"tags": [
|
||||
"tag:prod"
|
||||
],
|
||||
"ipv4": "100.103.8.15",
|
||||
"ipv6": "fd7a:115c:a1e0::5b37:80f"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.103.90.82",
|
||||
"100.110.121.96",
|
||||
"100.90.199.68",
|
||||
"fd7a:115c:a1e0::1737:7960",
|
||||
"fd7a:115c:a1e0::2d01:c747",
|
||||
"fd7a:115c:a1e0::9e37:5a52"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.85.66.106",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::7c37:426a",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.103.90.82",
|
||||
"100.110.121.96",
|
||||
"100.90.199.68",
|
||||
"fd7a:115c:a1e0::1737:7960",
|
||||
"fd7a:115c:a1e0::2d01:c747",
|
||||
"fd7a:115c:a1e0::9e37:5a52"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.92.142.61",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::3e37:8e3d",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.103.90.82",
|
||||
"100.110.121.96",
|
||||
"100.90.199.68",
|
||||
"fd7a:115c:a1e0::1737:7960",
|
||||
"fd7a:115c:a1e0::2d01:c747",
|
||||
"fd7a:115c:a1e0::9e37:5a52"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.83.200.69",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::c537:c845",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.103.90.82",
|
||||
"100.110.121.96",
|
||||
"100.90.199.68",
|
||||
"fd7a:115c:a1e0::1737:7960",
|
||||
"fd7a:115c:a1e0::2d01:c747",
|
||||
"fd7a:115c:a1e0::9e37:5a52"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.103.8.15",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::5b37:80f",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.103.90.82",
|
||||
"100.110.121.96",
|
||||
"100.90.199.68",
|
||||
"fd7a:115c:a1e0::1737:7960",
|
||||
"fd7a:115c:a1e0::2d01:c747",
|
||||
"fd7a:115c:a1e0::9e37:5a52"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.103.90.82",
|
||||
"100.110.121.96",
|
||||
"100.90.199.68",
|
||||
"fd7a:115c:a1e0::1737:7960",
|
||||
"fd7a:115c:a1e0::2d01:c747",
|
||||
"fd7a:115c:a1e0::9e37:5a52"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.110.121.96",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::1737:7960",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.103.90.82",
|
||||
"100.110.121.96",
|
||||
"100.90.199.68",
|
||||
"fd7a:115c:a1e0::1737:7960",
|
||||
"fd7a:115c:a1e0::2d01:c747",
|
||||
"fd7a:115c:a1e0::9e37:5a52"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.103.90.82",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::9e37:5a52",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.103.90.82",
|
||||
"100.110.121.96",
|
||||
"100.90.199.68",
|
||||
"fd7a:115c:a1e0::1737:7960",
|
||||
"fd7a:115c:a1e0::2d01:c747",
|
||||
"fd7a:115c:a1e0::9e37:5a52"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.90.199.68",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::2d01:c747",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,224 +0,0 @@
|
|||
// GRANT-K27
|
||||
//
|
||||
// Grant: src=['autogroup:member'] dst=['autogroup:self'] app={example.com/cap/self-service}
|
||||
//
|
||||
// Expected: Rules on user-kris, user-mon, user1
|
||||
{
|
||||
"test_id": "GRANT-K27",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"autogroup:member"
|
||||
],
|
||||
"dst": [
|
||||
"autogroup:self"
|
||||
],
|
||||
"app": {
|
||||
"example.com/cap/self-service": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "tagged-prod",
|
||||
"tags": [
|
||||
"tag:prod"
|
||||
],
|
||||
"ipv4": "100.103.8.15",
|
||||
"ipv6": "fd7a:115c:a1e0::5b37:80f"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.110.121.96",
|
||||
"fd7a:115c:a1e0::1737:7960"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.110.121.96/32",
|
||||
"fd7a:115c:a1e0::1737:7960/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/self-service": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.103.90.82",
|
||||
"fd7a:115c:a1e0::9e37:5a52"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.103.90.82/32",
|
||||
"fd7a:115c:a1e0::9e37:5a52/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/self-service": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.90.199.68",
|
||||
"fd7a:115c:a1e0::2d01:c747"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.90.199.68/32",
|
||||
"fd7a:115c:a1e0::2d01:c747/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/self-service": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,364 +0,0 @@
|
|||
// GRANT-K28
|
||||
//
|
||||
// Grant: src=['autogroup:member'] dst=['autogroup:self'] ip=['*'] app={tailscale.com/cap/drive}
|
||||
//
|
||||
// Expected: Rules on user-kris, user-mon, user1
|
||||
{
|
||||
"test_id": "GRANT-K28",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"autogroup:member"
|
||||
],
|
||||
"dst": [
|
||||
"autogroup:self"
|
||||
],
|
||||
"ip": [
|
||||
"*"
|
||||
],
|
||||
"app": {
|
||||
"tailscale.com/cap/drive": [
|
||||
{
|
||||
"shares": [
|
||||
"*"
|
||||
],
|
||||
"access": "rw"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "tagged-prod",
|
||||
"tags": [
|
||||
"tag:prod"
|
||||
],
|
||||
"ipv4": "100.103.8.15",
|
||||
"ipv6": "fd7a:115c:a1e0::5b37:80f"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.110.121.96",
|
||||
"fd7a:115c:a1e0::1737:7960"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.110.121.96",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::1737:7960",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.110.121.96",
|
||||
"fd7a:115c:a1e0::1737:7960"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.110.121.96/32",
|
||||
"fd7a:115c:a1e0::1737:7960/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive": [
|
||||
{
|
||||
"shares": [
|
||||
"*"
|
||||
],
|
||||
"access": "rw"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.110.121.96",
|
||||
"fd7a:115c:a1e0::1737:7960"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.110.121.96/32",
|
||||
"fd7a:115c:a1e0::1737:7960/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive-sharer": null
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.103.90.82",
|
||||
"fd7a:115c:a1e0::9e37:5a52"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.103.90.82",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::9e37:5a52",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.103.90.82",
|
||||
"fd7a:115c:a1e0::9e37:5a52"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.103.90.82/32",
|
||||
"fd7a:115c:a1e0::9e37:5a52/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive": [
|
||||
{
|
||||
"shares": [
|
||||
"*"
|
||||
],
|
||||
"access": "rw"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.103.90.82",
|
||||
"fd7a:115c:a1e0::9e37:5a52"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.103.90.82/32",
|
||||
"fd7a:115c:a1e0::9e37:5a52/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive-sharer": null
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.90.199.68",
|
||||
"fd7a:115c:a1e0::2d01:c747"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.90.199.68",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::2d01:c747",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.90.199.68",
|
||||
"fd7a:115c:a1e0::2d01:c747"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.90.199.68/32",
|
||||
"fd7a:115c:a1e0::2d01:c747/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive": [
|
||||
{
|
||||
"shares": [
|
||||
"*"
|
||||
],
|
||||
"access": "rw"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.90.199.68",
|
||||
"fd7a:115c:a1e0::2d01:c747"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.90.199.68/32",
|
||||
"fd7a:115c:a1e0::2d01:c747/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/drive-sharer": null
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,148 +0,0 @@
|
|||
// GRANT-K29
|
||||
//
|
||||
// Expected: No filter rules on any node
|
||||
{
|
||||
"test_id": "GRANT-K29",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": []
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "tagged-prod",
|
||||
"tags": [
|
||||
"tag:prod"
|
||||
],
|
||||
"ipv4": "100.103.8.15",
|
||||
"ipv6": "fd7a:115c:a1e0::5b37:80f"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,341 +0,0 @@
|
|||
// GRANT-K3
|
||||
//
|
||||
// Grant: src=['*'] dst=['tag:server'] app={example.com/cap/test}
|
||||
// Also has ACLs
|
||||
//
|
||||
// Expected: Rules on 8 nodes
|
||||
{
|
||||
"test_id": "GRANT-K3",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"*:*"
|
||||
]
|
||||
}
|
||||
],
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"tag:server"
|
||||
],
|
||||
"app": {
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "tagged-prod",
|
||||
"tags": [
|
||||
"tag:prod"
|
||||
],
|
||||
"ipv4": "100.103.8.15",
|
||||
"ipv6": "fd7a:115c:a1e0::5b37:80f"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.108.74.26/32",
|
||||
"fd7a:115c:a1e0::b901:4a87/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"example.com/cap/test": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,82 +0,0 @@
|
|||
// GRANT-K30
|
||||
//
|
||||
// Grant: src=['*'] dst=['10.33.0.0/16'] via=['tag:router', 'tag:nonexistent'] ip=['*']
|
||||
//
|
||||
// Expected: Error (HTTP 400) — tag "tag:nonexistent" not found
|
||||
{
|
||||
"test_id": "GRANT-K30",
|
||||
"error": true,
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"10.33.0.0/16"
|
||||
],
|
||||
"via": [
|
||||
"tag:router",
|
||||
"tag:nonexistent"
|
||||
],
|
||||
"ip": [
|
||||
"*"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 400,
|
||||
"api_response_body": {
|
||||
"message": "tag \"tag:nonexistent\" not found"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,239 +0,0 @@
|
|||
// GRANT-K4
|
||||
//
|
||||
// Grant: src=['*'] dst=['tag:server'] ip=['tcp:80', 'tcp:443']
|
||||
// Also has ACLs
|
||||
//
|
||||
// Expected: Rules on tagged-server
|
||||
{
|
||||
"test_id": "GRANT-K4",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": [
|
||||
"tag:client"
|
||||
],
|
||||
"dst": [
|
||||
"tag:server:22"
|
||||
]
|
||||
}
|
||||
],
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"tag:server"
|
||||
],
|
||||
"ip": [
|
||||
"tcp:80",
|
||||
"tcp:443"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "tagged-prod",
|
||||
"tags": [
|
||||
"tag:prod"
|
||||
],
|
||||
"ipv4": "100.103.8.15",
|
||||
"ipv6": "fd7a:115c:a1e0::5b37:80f"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26",
|
||||
"Ports": {
|
||||
"First": 80,
|
||||
"Last": 80
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "100.108.74.26",
|
||||
"Ports": {
|
||||
"First": 443,
|
||||
"Last": 443
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87",
|
||||
"Ports": {
|
||||
"First": 80,
|
||||
"Last": 80
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87",
|
||||
"Ports": {
|
||||
"First": 443,
|
||||
"Last": 443
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [
|
||||
6
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.83.200.69",
|
||||
"fd7a:115c:a1e0::c537:c845"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,268 +0,0 @@
|
|||
// GRANT-K5
|
||||
//
|
||||
// Grants:
|
||||
// src=['autogroup:member'] dst=['tag:server'] app={tailscale.com/cap/kubernetes}
|
||||
// src=['*'] dst=['10.33.0.0/16'] via=['tag:router'] ip=['*']
|
||||
// Also has ACLs
|
||||
//
|
||||
// Expected: Rules on subnet-router, tagged-server
|
||||
{
|
||||
"test_id": "GRANT-K5",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"action": "accept",
|
||||
"src": [
|
||||
"tag:client"
|
||||
],
|
||||
"dst": [
|
||||
"tag:server:22"
|
||||
]
|
||||
}
|
||||
],
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"autogroup:member"
|
||||
],
|
||||
"dst": [
|
||||
"tag:server"
|
||||
],
|
||||
"app": {
|
||||
"tailscale.com/cap/kubernetes": [
|
||||
{
|
||||
"impersonate": {
|
||||
"groups": [
|
||||
"system:masters"
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"10.33.0.0/16"
|
||||
],
|
||||
"via": [
|
||||
"tag:router"
|
||||
],
|
||||
"ip": [
|
||||
"*"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "tagged-prod",
|
||||
"tags": [
|
||||
"tag:prod"
|
||||
],
|
||||
"ipv4": "100.103.8.15",
|
||||
"ipv6": "fd7a:115c:a1e0::5b37:80f"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "10.33.0.0/16",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.103.90.82",
|
||||
"100.110.121.96",
|
||||
"100.90.199.68",
|
||||
"fd7a:115c:a1e0::1737:7960",
|
||||
"fd7a:115c:a1e0::2d01:c747",
|
||||
"fd7a:115c:a1e0::9e37:5a52"
|
||||
],
|
||||
"CapGrant": [
|
||||
{
|
||||
"Dsts": [
|
||||
"100.108.74.26/32",
|
||||
"fd7a:115c:a1e0::b901:4a87/128"
|
||||
],
|
||||
"CapMap": {
|
||||
"tailscale.com/cap/kubernetes": [
|
||||
{
|
||||
"impersonate": {
|
||||
"groups": [
|
||||
"system:masters"
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.83.200.69",
|
||||
"fd7a:115c:a1e0::c537:c845"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,187 +0,0 @@
|
|||
// GRANT-K6
|
||||
//
|
||||
// Grant: src=['autogroup:danger-all'] dst=['tag:server'] ip=['tcp:22']
|
||||
//
|
||||
// Expected: Rules on tagged-server
|
||||
{
|
||||
"test_id": "GRANT-K6",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"autogroup:danger-all"
|
||||
],
|
||||
"dst": [
|
||||
"tag:server"
|
||||
],
|
||||
"ip": [
|
||||
"tcp:22"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "tagged-prod",
|
||||
"tags": [
|
||||
"tag:prod"
|
||||
],
|
||||
"ipv4": "100.103.8.15",
|
||||
"ipv6": "fd7a:115c:a1e0::5b37:80f"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"*"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::b901:4a87",
|
||||
"Ports": {
|
||||
"First": 22,
|
||||
"Last": 22
|
||||
}
|
||||
}
|
||||
],
|
||||
"IPProto": [
|
||||
6
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,78 +0,0 @@
|
|||
// GRANT-K7
|
||||
//
|
||||
// Grant: src=['*'] dst=['autogroup:danger-all'] ip=['tcp:22']
|
||||
//
|
||||
// Expected: Error (HTTP 400) — cannot use autogroup:danger-all as a dst
|
||||
{
|
||||
"test_id": "GRANT-K7",
|
||||
"error": true,
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"autogroup:danger-all"
|
||||
],
|
||||
"ip": [
|
||||
"tcp:22"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 400,
|
||||
"api_response_body": {
|
||||
"message": "cannot use autogroup:danger-all as a dst"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,78 +0,0 @@
|
|||
// GRANT-K8
|
||||
//
|
||||
// Grant: src=['autogroup:danger-all'] dst=['autogroup:danger-all'] ip=['*']
|
||||
//
|
||||
// Expected: Error (HTTP 400) — cannot use autogroup:danger-all as a dst
|
||||
{
|
||||
"test_id": "GRANT-K8",
|
||||
"error": true,
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"autogroup:danger-all"
|
||||
],
|
||||
"dst": [
|
||||
"autogroup:danger-all"
|
||||
],
|
||||
"ip": [
|
||||
"*"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 400,
|
||||
"api_response_body": {
|
||||
"message": "cannot use autogroup:danger-all as a dst"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,80 +0,0 @@
|
|||
// GRANT-K9
|
||||
//
|
||||
// Grant: src=['*'] dst=['*'] app={tailscale.com/cap/ingress}
|
||||
//
|
||||
// Expected: Error (HTTP 400) — capability name must not be in the tailscale.com domain
|
||||
{
|
||||
"test_id": "GRANT-K9",
|
||||
"error": true,
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"*"
|
||||
],
|
||||
"app": {
|
||||
"tailscale.com/cap/ingress": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 400,
|
||||
"api_response_body": {
|
||||
"message": "capability name must not be in the tailscale.com domain"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,306 +0,0 @@
|
|||
// GRANT-P01_1
|
||||
//
|
||||
// Grant: src=['*'] dst=['*'] ip=['*']
|
||||
//
|
||||
// Expected: Rules on 8 nodes
|
||||
{
|
||||
"test_id": "GRANT-P01_1",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"*"
|
||||
],
|
||||
"ip": [
|
||||
"*"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "tagged-prod",
|
||||
"tags": [
|
||||
"tag:prod"
|
||||
],
|
||||
"ipv4": "100.103.8.15",
|
||||
"ipv6": "fd7a:115c:a1e0::5b37:80f"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,282 +0,0 @@
|
|||
// GRANT-P01_2
|
||||
//
|
||||
// Grant: src=['100.90.199.68'] dst=['*'] ip=['*']
|
||||
//
|
||||
// Expected: Rules on 8 nodes
|
||||
{
|
||||
"test_id": "GRANT-P01_2",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"100.90.199.68"
|
||||
],
|
||||
"dst": [
|
||||
"*"
|
||||
],
|
||||
"ip": [
|
||||
"*"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "tagged-prod",
|
||||
"tags": [
|
||||
"tag:prod"
|
||||
],
|
||||
"ipv4": "100.103.8.15",
|
||||
"ipv6": "fd7a:115c:a1e0::5b37:80f"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.90.199.68"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.90.199.68"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.90.199.68"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.90.199.68"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.90.199.68"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.90.199.68"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.90.199.68"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.90.199.68"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,282 +0,0 @@
|
|||
// GRANT-P01_3
|
||||
//
|
||||
// Grant: src=['100.64.0.0/16'] dst=['*'] ip=['*']
|
||||
//
|
||||
// Expected: Rules on 8 nodes
|
||||
{
|
||||
"test_id": "GRANT-P01_3",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"100.64.0.0/16"
|
||||
],
|
||||
"dst": [
|
||||
"*"
|
||||
],
|
||||
"ip": [
|
||||
"*"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "tagged-prod",
|
||||
"tags": [
|
||||
"tag:prod"
|
||||
],
|
||||
"ipv4": "100.103.8.15",
|
||||
"ipv6": "fd7a:115c:a1e0::5b37:80f"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.64.0.0/16"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.64.0.0/16"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.64.0.0/16"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.64.0.0/16"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.64.0.0/16"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.64.0.0/16"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.64.0.0/16"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.64.0.0/16"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,180 +0,0 @@
|
|||
// GRANT-P01_4
|
||||
//
|
||||
// Grant: src=['*'] dst=['100.108.74.26'] ip=['*']
|
||||
//
|
||||
// Expected: Rules on tagged-server
|
||||
{
|
||||
"test_id": "GRANT-P01_4",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"100.108.74.26"
|
||||
],
|
||||
"ip": [
|
||||
"*"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "tagged-prod",
|
||||
"tags": [
|
||||
"tag:prod"
|
||||
],
|
||||
"ipv4": "100.103.8.15",
|
||||
"ipv6": "fd7a:115c:a1e0::5b37:80f"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.108.74.26",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,162 +0,0 @@
|
|||
// GRANT-P01_5
|
||||
//
|
||||
// Grant: src=['*'] dst=['100.64.0.0/12'] ip=['*']
|
||||
//
|
||||
// Expected: No filter rules on any node
|
||||
{
|
||||
"test_id": "GRANT-P01_5",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"100.64.0.0/12"
|
||||
],
|
||||
"ip": [
|
||||
"*"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "tagged-prod",
|
||||
"tags": [
|
||||
"tag:prod"
|
||||
],
|
||||
"ipv4": "100.103.8.15",
|
||||
"ipv6": "fd7a:115c:a1e0::5b37:80f"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": null
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,290 +0,0 @@
|
|||
// GRANT-P02_1
|
||||
//
|
||||
// Grant: src=['kratail2tid@passkey'] dst=['*'] ip=['*']
|
||||
//
|
||||
// Expected: Rules on 8 nodes
|
||||
{
|
||||
"test_id": "GRANT-P02_1",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"dst": [
|
||||
"*"
|
||||
],
|
||||
"ip": [
|
||||
"*"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "tagged-prod",
|
||||
"tags": [
|
||||
"tag:prod"
|
||||
],
|
||||
"ipv4": "100.103.8.15",
|
||||
"ipv6": "fd7a:115c:a1e0::5b37:80f"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.90.199.68",
|
||||
"fd7a:115c:a1e0::2d01:c747"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.90.199.68",
|
||||
"fd7a:115c:a1e0::2d01:c747"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.90.199.68",
|
||||
"fd7a:115c:a1e0::2d01:c747"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.90.199.68",
|
||||
"fd7a:115c:a1e0::2d01:c747"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.90.199.68",
|
||||
"fd7a:115c:a1e0::2d01:c747"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.90.199.68",
|
||||
"fd7a:115c:a1e0::2d01:c747"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.90.199.68",
|
||||
"fd7a:115c:a1e0::2d01:c747"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"100.90.199.68",
|
||||
"fd7a:115c:a1e0::2d01:c747"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "*",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,187 +0,0 @@
|
|||
// GRANT-P02_2
|
||||
//
|
||||
// Grant: src=['*'] dst=['kratail2tid@passkey'] ip=['*']
|
||||
//
|
||||
// Expected: Rules on user1
|
||||
{
|
||||
"test_id": "GRANT-P02_2",
|
||||
"input": {
|
||||
"full_policy": {
|
||||
"groups": {
|
||||
"group:admins": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:developers": [
|
||||
"kristoffer@dalby.cc",
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"group:monitors": [
|
||||
"monitorpasskeykradalby@passkey"
|
||||
],
|
||||
"group:empty": []
|
||||
},
|
||||
"tagOwners": {
|
||||
"tag:server": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:prod": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:client": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:router": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"tag:exit": [
|
||||
"kratail2tid@passkey"
|
||||
]
|
||||
},
|
||||
"hosts": {
|
||||
"webserver": "100.108.74.26",
|
||||
"prodbox": "100.103.8.15",
|
||||
"internal": "10.0.0.0/8"
|
||||
},
|
||||
"autoApprovers": {
|
||||
"routes": {
|
||||
"10.33.0.0/16": [
|
||||
"tag:router"
|
||||
],
|
||||
"0.0.0.0/0": [
|
||||
"tag:exit"
|
||||
],
|
||||
"::/0": [
|
||||
"tag:exit"
|
||||
]
|
||||
}
|
||||
},
|
||||
"grants": [
|
||||
{
|
||||
"src": [
|
||||
"*"
|
||||
],
|
||||
"dst": [
|
||||
"kratail2tid@passkey"
|
||||
],
|
||||
"ip": [
|
||||
"*"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"api_response_code": 200
|
||||
},
|
||||
"topology": {
|
||||
"nodes": {
|
||||
"exit-node": {
|
||||
"hostname": "exit-node",
|
||||
"tags": [
|
||||
"tag:exit"
|
||||
],
|
||||
"ipv4": "100.85.66.106",
|
||||
"ipv6": "fd7a:115c:a1e0::7c37:426a"
|
||||
},
|
||||
"subnet-router": {
|
||||
"hostname": "subnet-router",
|
||||
"tags": [
|
||||
"tag:router"
|
||||
],
|
||||
"ipv4": "100.92.142.61",
|
||||
"ipv6": "fd7a:115c:a1e0::3e37:8e3d"
|
||||
},
|
||||
"tagged-client": {
|
||||
"hostname": "tagged-client",
|
||||
"tags": [
|
||||
"tag:client"
|
||||
],
|
||||
"ipv4": "100.83.200.69",
|
||||
"ipv6": "fd7a:115c:a1e0::c537:c845"
|
||||
},
|
||||
"tagged-prod": {
|
||||
"hostname": "tagged-prod",
|
||||
"tags": [
|
||||
"tag:prod"
|
||||
],
|
||||
"ipv4": "100.103.8.15",
|
||||
"ipv6": "fd7a:115c:a1e0::5b37:80f"
|
||||
},
|
||||
"tagged-server": {
|
||||
"hostname": "tagged-server",
|
||||
"tags": [
|
||||
"tag:server"
|
||||
],
|
||||
"ipv4": "100.108.74.26",
|
||||
"ipv6": "fd7a:115c:a1e0::b901:4a87"
|
||||
},
|
||||
"user-kris": {
|
||||
"hostname": "user-kris",
|
||||
"tags": [],
|
||||
"ipv4": "100.110.121.96",
|
||||
"ipv6": "fd7a:115c:a1e0::1737:7960"
|
||||
},
|
||||
"user-mon": {
|
||||
"hostname": "user-mon",
|
||||
"tags": [],
|
||||
"ipv4": "100.103.90.82",
|
||||
"ipv6": "fd7a:115c:a1e0::9e37:5a52"
|
||||
},
|
||||
"user1": {
|
||||
"hostname": "user1",
|
||||
"tags": [],
|
||||
"ipv4": "100.90.199.68",
|
||||
"ipv6": "fd7a:115c:a1e0::2d01:c747"
|
||||
}
|
||||
}
|
||||
},
|
||||
"captures": {
|
||||
"exit-node": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"subnet-router": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-client": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-prod": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"tagged-server": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user-kris": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user-mon": {
|
||||
"packet_filter_rules": null
|
||||
},
|
||||
"user1": {
|
||||
"packet_filter_rules": [
|
||||
{
|
||||
"SrcIPs": [
|
||||
"10.33.0.0/16",
|
||||
"100.115.94.0-100.127.255.255",
|
||||
"100.64.0.0-100.115.91.255",
|
||||
"fd7a:115c:a1e0::/48"
|
||||
],
|
||||
"DstPorts": [
|
||||
{
|
||||
"IP": "100.90.199.68",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
},
|
||||
{
|
||||
"IP": "fd7a:115c:a1e0::2d01:c747",
|
||||
"Ports": {
|
||||
"First": 0,
|
||||
"Last": 65535
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue