Tailscale ja AI-arkkitehtuuri

Näin rakennetaan AI-agentille turvallinen verkkoalue Tailscalella

Konkreettinen referenssiarkkitehtuuri ja Grants-esimerkit

AI-agentille ei pidä antaa yleistä pääsyä yrityksen sisäverkkoon. Turvallisessa arkkitehtuurissa agentilla on oma työkuormaidentiteetti ja vain muutama tarkasti määritelty yhteyspolku. Tässä oppaassa rakennamme käytännön referenssiarkkitehtuurin Tailscale Grants -politiikalla ja testaamme myös ne yhteydet, joiden pitää epäonnistua.

Turvallinen verkkoalue ei ole pieni luotettu sisäverkko. Se on identiteettipohjainen mikrosegmentti, jossa agentille on olemassa vain sen tehtävän välttämättä edellyttämät yhteyspolut.

Edellisessä artikkelissamme käsittelimme 12 kontrollia, jotka yrityksen pitäisi toteuttaa ennen kuin tekoälyagentille annetaan pääsy todellisiin järjestelmiin. Näihin kuuluvat agentin oma identiteetti, rajatut verkkoyhteydet, työkalukohtainen valtuutus, ihmisen hyväksyntä, lokitus ja testattu pysäytysmekanismi. [1]

Tässä artikkelissa keskitymme yhteen näistä kerroksista: AI-agentin verkkopääsyn tekniseen rajaamiseen Tailscalella.

Tavoitteena ei ole rakentaa agentille pientä sisäverkkoa, jonka sisällä se voi liikkua vapaasti. Tavoitteena on rakentaa identiteettipohjainen mikrosegmentti, jossa agentille on olemassa vain ne yhteyspolut, joita sen tehtävä välttämättä edellyttää.

Verkkopääsyn vaatimukset

Agentti saa muodostaa yhteyden

  1. hyväksyttyyn LLM-yhdyskäytävään portissa 443
  2. hyväksyttyyn työkalu-APIin portissa 443.

Agentti ei saa muodostaa yhteyttä

  • tuotantotietokantaan
  • ERP-järjestelmään suoraan
  • ylläpitopalvelimelle
  • työntekijöiden päätelaitteisiin
  • muihin agentteihin
  • julkiseen internetiin ilman välityspalvelua.

Tämä on paljon tarkempi turvallisuusominaisuus kuin yleinen väite siitä, että agentti on “VPN:n takana”.

Turvallinen verkkoalue ei ole sama asia kuin luotettu sisäverkko

Perinteinen verkkosegmentti rakennetaan usein VLANin, aliverkon tai palomuurivyöhykkeen ympärille.

Agentti voidaan esimerkiksi sijoittaa verkkoon:

10.40.20.0/24

Palomuuri voi estää liikenteen muihin aliverkkoihin, mutta saman verkkoalueen sisällä olevat työkuormat saattavat edelleen nähdä toisensa. Verkkopolitiikka perustuu ensisijaisesti IP-osoitteisiin ja verkkosijaintiin.

Tailscale-arkkitehtuurissa verkkoalue voidaan mallintaa toisin:

  1. LähdeidentiteettiKuka tai mikä aloittaa yhteyden?
  2. KohdeidentiteettiMihin nimettyyn resurssiin yhteys muodostuu?
  3. VerkkokykyMikä protokolla ja portti sallitaan?

Tailscale Grants -politiikassa yhteys määritellään vähintään kolmella tiedolla:

Grants-yhteyden perusmalli
src = kuka tai mikä saa aloittaa yhteyden
dst = mihin resurssiin yhteys saa muodostua
ip  = mitä protokollaa ja porttia saa käyttää

Grants-sääntömalli on deny-by-default: yhteyttä ei sallita, ellei täydellisestä politiikasta löydy siihen täsmäävää sääntöä. Uudessa tailnetissa voi silti olla valmiiksi täytetty laaja aloituspolitiikka, joten se pitää korvata ennen vähimmän oikeuden toteutumista. Tailscalen hallintataso jakelee laitteille identiteetti-, avain- ja politiikkatiedot, ja WireGuard-salattu dataliikenne pysyy datatasolla. Netmap trimming vähentää laitteelle jaettavia vertaistietoja, mutta laite voi silti nähdä sallitut kohteet, käytettävissä olevat exit nodet, saman käyttäjän tunnistamat laitteet sekä laitteet, jotka voivat aloittaa siihen yhteyden. [2] [21] [23]

Turvallinen verkkoalue on siten käytännössä sallittujen yhteyksien graafi:

Reachability(ai-agent) = {
  ai-llm-gateway:443,
  ai-tool-gateway:443
}

Kaikki muu jää graafin ulkopuolelle.

Reachability(ai-agent, prod-db:5432) = false
Reachability(ai-agent, prod-admin:22) = false
Reachability(ai-agent, erp-api:443) = false

Tämä vastaa Defense Firstin käyttämää pääsypolkuajattelua:

  1. Tunnista
  2. Mallinna
  3. Toimeenpane
  4. Todista

Ensin tunnistetaan todellinen liiketoimintatarve. Sen jälkeen yhteyspolku mallinnetaan, toimeenpannaan Grants-politiikalla ja todistetaan sekä sallituilla että estetyillä testeillä. [3]

Uhkamalli: oletetaan, että agentti toimii väärin

Referenssiarkkitehtuuria ei pidä suunnitella vain agentin normaalin toiminnan ympärille.

Arkkitehtuurin lähtöoletuksena pitäisi olla, että jokin seuraavista tapahtuu:

  1. Agentti tulkitsee tehtävän väärin.
  2. Agentti lukee prompt injection -hyökkäyksen sisältävän dokumentin.
  3. Agentin käyttämä työkalu tai MCP-palvelin vaarantuu.
  4. Agentin ohjelmistoriippuvuuteen tulee toimitusketjuhyökkäys.
  5. Agentin työkuormaidentiteetti tai sovellustunnus varastetaan.
  6. Agentin suoritusympäristöön saadaan koodinsuoritus.
  7. Agentti yrittää tavoittaa järjestelmän, jota sen ei pitäisi käyttää.

OWASP tunnistaa agenttisten järjestelmien riskeiksi muun muassa agentin tavoitteen kaappaamisen, työkalujen väärinkäytön, identiteetti- ja käyttöoikeusväärinkäytökset, agenttisen toimitusketjun ongelmat sekä odottamattoman koodinsuorituksen. Kansainvälinen viranomaisohjeistus suosittelee siksi tarkasti rajattuja resursseja ja toimintoja, vähimmän oikeuden periaatetta, lyhytikäisiä tunnisteita, eristämistä ja asteittaista käyttöönottoa. [4] [22]

Verkkokerroksen turvallisuustavoite ei ole: agentti ei koskaan yritä tehdä mitään vaarallista.

Parempi tavoite on: vaikka agentti yrittäisi tehdä vaarallisen toiminnon, tarvittavaa verkkopolkua ei ole olemassa.

Tämän artikkelin referenssiarkkitehtuuri perustuu seuraaviin turvallisuusvaatimuksiin:

  1. I1Agentilla ei ole suoraa yhteyttä tietokantaan.
  2. I2Agentilla ei ole suoraa yhteyttä ERP-järjestelmään.
  3. I3Agentilla ei ole SSH- tai hallintayhteyttä tuotantoon.
  4. I4Agentti ei säilytä mallipalveluntarjoajan API-avainta.
  5. I5Agentti käyttää liiketoimintajärjestelmiä vain työkalu- ja API-yhdyskäytävän kautta.
  6. I6Lukeminen, hyväksyminen ja kirjoittaminen on erotettu toisistaan eri palveluihin ja identiteetteihin.
  7. I7Julkiseen internetiin suuntautuva liikenne kulkee vain erikseen hallitun yhdyskäytävän kautta.
  8. I8Jokainen sallittu ja estetty Tailscale-yhteys testataan.
  9. I9Agentin verkkopääsy voidaan poistaa keskitetysti.
  10. I10Agentin tekemät toiminnot voidaan yhdistää verkko-, työkalu- ja sovelluslokeihin.

Referenssiarkkitehtuuri

Alla oleva arkkitehtuuri soveltuu esimerkiksi laskuja, tukipyyntöjä, asiakasdataa tai muita sisäisiä liiketoimintaprosesseja käsittelevälle agentille.

AI-agentin rajattu Tailscale-pääsypolku
Tailscale control plane identiteetit · tagit · Grants · avainten jakelu politiikka ja julkiset avaimet — ei varsinaista sovellusdataa

Matalan luottamuksen vyöhyke

tag:ai-agent-invoice-prod
  • agenttikehys ja mallin konteksti
  • rajattu muisti
  • eristetty työkalusuoritus
✓ ai-llm-gateway-prod:443 ✓ ai-tool-gateway-prod:443
Yhdyskäytävä 01

LLM-yhdyskäytävä

Avaimet, hyväksytyt mallit, kustannus- ja nopeusrajat sekä hallittu egress.

Yhdyskäytävä 02

Työkalu- ja API-yhdyskäytävä

Sallittu työkalulista, parametrien validointi, autentikointi ja tapahtumalokit.

Luku-API Hyväksyntä-API Ihmisen hyväksyntä Kirjoitustoimintojen suorittaja ERP:n rajattu API
× tuotantotietokanta:5432 × ylläpitopalvelin:22 × ERP API suoraan × kirjoitussuorittaja suoraan × hallitsematon internet

Arkkitehtuurissa agentti on tietoisesti matalan luottamuksen työkuorma.

Agentti saa käsitellä epäluotettavaa sisältöä ja muodostaa ehdotuksia, mutta se ei saa suoraa yhteyttä korkean vaikutuksen järjestelmiin.

Komponentti 01

AI-agentin suoritusympäristö

Agentin suoritusympäristö sisältää kielimallin orkestroinnin, kontekstin, muistin ja mahdollisen koodin tai työkalujen suorittamisen.

Tätä ympäristöä käsitellään potentiaalisesti vaarantuneena.

Agentti ei saa sisältää:

  • tuotantotietokannan tunnuksia
  • ERP-järjestelmän yleisiä ylläpitotunnuksia
  • SSH-avaimia
  • mallipalveluntarjoajan pitkäikäisiä API-avaimia
  • Tailscalen hallintatason ylläpito-oikeuksia
  • oikeutta muuttaa omia tagejaan tai Grants-politiikkaansa.

Agentin oma Tailscale-identiteetti antaa sille vain kaksi yhteyspolkua: LLM-yhdyskäytävän ja työkalu-API-yhdyskäytävän.

Komponentti 02

LLM-yhdyskäytävä

LLM-yhdyskäytävä välittää agentin mallikutsut hyväksytylle mallipalveluntarjoajalle.

Sen tehtäviä voivat olla:

  • mallipalveluntarjoajan API-avainten säilyttäminen
  • hyväksyttyjen mallien rajaaminen
  • käyttäjä- ja agenttikohtaiset käyttörajat
  • token- ja kustannusrajat
  • pyyntöjen luokittelu
  • tietojen suodatus
  • lokitus
  • mallipalveluntarjoajan vaihtaminen hallitusti.

Agentin ei tarvitse tietää ulkoisen mallipalvelun tunnistetietoja. Se tunnistautuu vain sisäiselle LLM-yhdyskäytävälle omalla työkuormaidentiteetillään.

Tailscale kehittää tähän tarkoitukseen myös Aperture-yhdyskäytävää, jolla voidaan keskittää mallipääsyä, mallipalveluntarjoajien tunnistetietoja ja telemetriaa. Tarkistettu 29.7.2026: Aperture on beta-vaiheessa. Sen Grant-arviointi on deny-by-default, jos yksikään sääntö ei täsmää, mutta uudessa instanssissa on tällä hetkellä laaja aloituskonfiguraatio, joka antaa kaikille käyttäjille ylläpito-oikeuden ja pääsyn kaikkiin määritettyihin malleihin. Konfiguraatio pitää korvata ja testata ennen tuotantokäyttöä. Aperture ei poista kohdesovellusten, työkalujen tai datapalveluiden omien käyttöoikeuksien tarvetta. [5] [24]

Komponentti 03

Työkalu- ja API-yhdyskäytävä

Työkalu- ja API-yhdyskäytävä on agentin ja liiketoimintajärjestelmien välinen kontrollipiste.

Agentti ei ota suoraa yhteyttä ERP-järjestelmään tai tietokantaan. Se kutsuu tarkasti määriteltyjä työkaluja, esimerkiksi:

get_invoice(invoice_id)
get_supplier(supplier_id)
create_invoice_draft(invoice_data)
request_payment_approval(payment_data)

Yhdyskäytävän tehtävänä on tarkistaa:

  • saako kyseinen agentti käyttää työkalua
  • ovatko parametrit oikeassa muodossa
  • kuuluuko pyydetty tietue agentin sallittuun toiminta-alueeseen
  • ylittääkö pyyntö summan tai määrän riskirajan
  • vaatiiko toiminto ihmisen hyväksynnän
  • onko kutsujen määrä poikkeava
  • pitääkö toiminta keskeyttää.

Verkkopolitiikka ratkaisee, saako agentti tavoittaa yhdyskäytävän. Työkalupolitiikka ratkaisee, mitä se saa yhdyskäytävän kautta tehdä.

Komponentti 04

Erillinen luku-API

Lukuoperaatiot kannattaa erottaa kirjoitusoperaatioista.

Agentti tai työkalu-API voi esimerkiksi hakea:

  • yhden laskun tiedot
  • yhden asiakkaan sopimustason
  • yhden toimittajan perustiedot
  • yhden tukipyynnön historian.

Luku-API:n ei tarvitse antaa yleistä SQL-yhteyttä tietokantaan.

Rajattu API

Yksi nimetty objekti

GET /invoices/7421

Liian laaja pääsy

Mielivaltainen SQL

SELECT * FROM invoices;

Luku-API voi toteuttaa objektitason valtuutuksen, tietojen minimoinnin ja tulosten suodatuksen ennen kuin data palautetaan agentille.

Komponentti 05

Hyväksyntäpalvelu

Korkean vaikutuksen toimintoja ei anneta agentin suoritettavaksi suoraan.

Agentti voi muodostaa ehdotuksen:

{
  "action": "create-payment",
  "invoice_id": "7421",
  "recipient": "FI00 0000 0000 0000 00",
  "amount_eur": 1240.00
}

Hyväksyntäpalvelu näyttää ihmiselle tarkan toiminnon, ei vain agentin kirjoittamaa sanallista yhteenvetoa.

Hyväksyntä pitäisi sitoa:

  • agentin identiteettiin
  • tarkkaan toimintoon
  • kohderesurssiin
  • rahamäärään
  • vastaanottajaan
  • hyväksyjään
  • voimassaoloaikaan
  • yksilölliseen nonce-arvoon.

Jos agentti muuttaa summaa, vastaanottajaa tai muuta olennaista parametria hyväksynnän jälkeen, hyväksyntä ei enää kelpaa.

Komponentti 06

Kirjoitustoimintojen suorittaja

Varsinaisen muutoksen tekee erillinen työkuorma, ei AI-agentti.

Kirjoitustoimintojen suorittaja:

  1. vastaanottaa hyväksytyn toiminto-objektin
  2. tarkistaa allekirjoituksen tai valtuutustodisteen
  3. tarkistaa hyväksynnän voimassaolon
  4. tarkistaa, ettei toimintoa ole jo suoritettu
  5. suorittaa vain ennalta määritellyn API-kutsun
  6. tallentaa tuloksen ja korrelaatiotunnisteen.

Kirjoitustoimintojen suorittajalla voi olla yhteys ERP:n rajattuun APIin. Silläkään ei tarvitse olla suoraa pääsyä tietokantaan tai SSH-ylläpitoon.

Agentin identiteetti ja tagirakenne

Tailscalessa palvelimet, kontit, automaatio ja muut ei-henkilökohtaiset laitteet voidaan tunnistaa tageilla.

Tagi ei ole vain kuvaileva etiketti. Sitä käytetään työkuorman identiteettinä ja Grants-politiikan lähde- tai kohdeselektorina. Kun laite merkitään tagilla, sitä käsitellään tagi-identiteettinä käyttäjän henkilökohtaisen identiteetin sijasta. [6]

Geneeristä tagia kannattaa välttää:

tag:ai-agent

Se ei kerro, mitä agentti tekee, missä ympäristössä se toimii, onko sillä luku- vai kirjoitusoikeuksia tai mihin järjestelmään se liittyy.

Parempi tagi voisi olla:

tag:ai-agent-invoice-prod

Tai vielä tarkemmin:

tag:ai-invoice-reader-prod
tag:ai-invoice-drafter-prod
tag:ai-payment-executor-prod

Yksi identiteetti yhtä tarkoitusta varten

Kehitys-, testi- ja tuotantoympäristöjä ei pidä yhdistää samaan identiteettiin:

tag:ai-agent-invoice-dev
tag:ai-agent-invoice-test
tag:ai-agent-invoice-prod

Samoin luku- ja kirjoitustoiminnot kannattaa erottaa:

tag:ai-invoice-reader-prod
tag:ai-invoice-write-executor-prod

Tailscale-tagien oikeudet yhdistyvät additiivisesti. Jos laitteelle annetaan useita tageja, kaikkien tagien kautta saadut oikeudet voivat tulla voimaan. Tagien yhdistelmää ei voi tavallisessa säännössä käsitellä vaatimuksena “tagi A ja tagi B”, joten selkeitä yhdistelmätageja kannattaa käyttää epäselvien monen tagin yhdistelmien sijasta. [6]

Epäselvä yhdistelmä

Kolme additiivista tagia

tag:ai-agent
tag:production
tag:finance

Tarkoitussidonnainen

Yksi yhdistelmätagi

tag:ai-finance-agent-prod

Tagin myöntämisoikeus on korkean riskin oikeus

tagOwners määrittelee, kuka saa liittää laitteen tiettyyn tagi-identiteettiin.

Jos hyökkääjä voi itse antaa työkuormalleen tagin:

tag:ai-write-executor-prod

hän voi mahdollisesti saada myös kyseiselle identiteetille kuuluvat verkkopolut.

Tagien myöntämisoikeudet pitää siksi rajata esimerkiksi tietoturvan ylläpitoryhmälle tai erilliselle hallitulle automaatiolle. tagOwners delegoi sen, kuka saa antaa identiteetin tavallisessa työnkulussa; tailnetin Owners-, Admins- ja Network admins -rooleissa toimivat ylläpitäjät voivat hallintaroolinsa perusteella antaa minkä tahansa tagin. Tagin omistajuus ei itsessään anna verkkopääsyä, vaan se määritetään erikseen Grants-osiossa. [6] [7]

Pienin toimiva Grants-toteutus

Ensimmäinen versio voidaan rakentaa yhdellä agentilla ja yhdellä yhdyskäytävällä.

Sallittuai-agent-read-prod → ai-tool-gateway-prod:443
Estettyai-agent-read-prod → prod-db:5432
Estettyai-agent-read-prod → prod-admin:22

Havainnollistava Tailscale-politiikka:

Pienin toimiva Grants-politiikka ja sen testit
{
  "groups": {
    "group:security-admins": [
      "security-admin@example.com"
    ]
  },

  "tagOwners": {
    "tag:ai-agent-read-prod": [
      "group:security-admins"
    ],
    "tag:ai-tool-gateway-prod": [
      "group:security-admins"
    ],
    "tag:prod-db": [
      "group:security-admins"
    ],
    "tag:prod-admin": [
      "group:security-admins"
    ]
  },

  "grants": [
    {
      "src": [
        "tag:ai-agent-read-prod"
      ],
      "dst": [
        "tag:ai-tool-gateway-prod"
      ],
      "ip": [
        "tcp:443"
      ]
    }
  ],

  "tests": [
    {
      "src": "tag:ai-agent-read-prod",
      "proto": "tcp",
      "accept": [
        "tag:ai-tool-gateway-prod:443"
      ],
      "deny": [
        "tag:prod-db:5432",
        "tag:prod-admin:22"
      ]
    }
  ]
}

Politiikassa on kolme erillistä asiaa.

tagOwners

"tagOwners": {
  "tag:ai-agent-read-prod": [
    "group:security-admins"
  ]
}

Vain määritetty tietoturvaryhmä saa liittää laitteen agentin identiteettiin.

grants

{
  "src": [
    "tag:ai-agent-read-prod"
  ],
  "dst": [
    "tag:ai-tool-gateway-prod"
  ],
  "ip": [
    "tcp:443"
  ]
}

Agentti saa muodostaa TCP-yhteyden yhdyskäytävän porttiin 443.

Tämä sääntö ei anna agentille pääsyä muihin yhdyskäytävän portteihin, tietokantaan, ylläpitopalvelimelle tai muihin tailnetin laitteisiin.

tests

{
  "src": "tag:ai-agent-read-prod",
  "proto": "tcp",
  "accept": [
    "tag:ai-tool-gateway-prod:443"
  ],
  "deny": [
    "tag:prod-db:5432",
    "tag:prod-admin:22"
  ]
}

Testi osoittaa sekä sallitun että estetyt yhteydet.

Tailscale suorittaa politiikkatiedostoon määritellyt testit politiikkamuutosten yhteydessä. Jos testin oletus ei täyty, politiikkamuutos hylätään. Testit ovat erityisen tärkeitä, koska Grants-säännöt ovat additiivisia: jokin toinen liian laaja sääntö voi vahingossa antaa agentille enemmän pääsyä kuin sen oma tarkasti rajattu sääntö antaa ymmärtää. [7]

Tuotantotasoinen Grants-referenssipolitiikka

Seuraavassa esimerkissä toteutetaan koko referenssiarkkitehtuuri.

Käytetyt identiteetit ovat:

tag:ai-agent-invoice-prod
tag:ai-llm-gateway-prod
tag:ai-tool-gateway-prod
tag:ai-read-api-prod
tag:ai-approval-api-prod
tag:ai-write-executor-prod
tag:erp-api-prod
tag:prod-db
tag:prod-admin

Havainnollistava politiikka:

Tuotantotasoisen pääsypolun Grants-säännöt ja testimatriisi
{
  "groups": {
    "group:security-admins": [
      "security-admin@example.com"
    ]
  },

  "tagOwners": {
    "tag:ai-agent-invoice-prod": [
      "group:security-admins"
    ],
    "tag:ai-llm-gateway-prod": [
      "group:security-admins"
    ],
    "tag:ai-tool-gateway-prod": [
      "group:security-admins"
    ],
    "tag:ai-read-api-prod": [
      "group:security-admins"
    ],
    "tag:ai-approval-api-prod": [
      "group:security-admins"
    ],
    "tag:ai-write-executor-prod": [
      "group:security-admins"
    ],
    "tag:erp-api-prod": [
      "group:security-admins"
    ],
    "tag:prod-db": [
      "group:security-admins"
    ],
    "tag:prod-admin": [
      "group:security-admins"
    ]
  },

  "grants": [
    {
      "src": [
        "tag:ai-agent-invoice-prod"
      ],
      "dst": [
        "tag:ai-llm-gateway-prod",
        "tag:ai-tool-gateway-prod"
      ],
      "ip": [
        "tcp:443"
      ]
    },
    {
      "src": [
        "tag:ai-tool-gateway-prod"
      ],
      "dst": [
        "tag:ai-read-api-prod",
        "tag:ai-approval-api-prod"
      ],
      "ip": [
        "tcp:443"
      ]
    },
    {
      "src": [
        "tag:ai-approval-api-prod"
      ],
      "dst": [
        "tag:ai-write-executor-prod"
      ],
      "ip": [
        "tcp:443"
      ]
    },
    {
      "src": [
        "tag:ai-write-executor-prod"
      ],
      "dst": [
        "tag:erp-api-prod"
      ],
      "ip": [
        "tcp:443"
      ]
    }
  ],

  "tests": [
    {
      "src": "tag:ai-agent-invoice-prod",
      "proto": "tcp",
      "accept": [
        "tag:ai-llm-gateway-prod:443",
        "tag:ai-tool-gateway-prod:443"
      ],
      "deny": [
        "tag:ai-read-api-prod:443",
        "tag:ai-approval-api-prod:443",
        "tag:ai-write-executor-prod:443",
        "tag:erp-api-prod:443",
        "tag:prod-db:5432",
        "tag:prod-admin:22"
      ]
    },
    {
      "src": "tag:ai-tool-gateway-prod",
      "proto": "tcp",
      "accept": [
        "tag:ai-read-api-prod:443",
        "tag:ai-approval-api-prod:443"
      ],
      "deny": [
        "tag:ai-write-executor-prod:443",
        "tag:erp-api-prod:443",
        "tag:prod-db:5432",
        "tag:prod-admin:22"
      ]
    },
    {
      "src": "tag:ai-approval-api-prod",
      "proto": "tcp",
      "accept": [
        "tag:ai-write-executor-prod:443"
      ],
      "deny": [
        "tag:erp-api-prod:443",
        "tag:prod-db:5432",
        "tag:prod-admin:22"
      ]
    },
    {
      "src": "tag:ai-write-executor-prod",
      "proto": "tcp",
      "accept": [
        "tag:erp-api-prod:443"
      ],
      "deny": [
        "tag:prod-db:5432",
        "tag:prod-admin:22"
      ]
    }
  ]
}
Sovita esimerkki todelliseen ympäristöön.

Olennaista ei ole tagien tarkka nimi, vaan pääsypolkujen erottaminen ja koko additiivisen politiikan testaaminen asiakkaan oikeilla identiteeteillä, porteilla ja palveluilla.

Grant 1: agentti saa tavoittaa vain kaksi yhdyskäytävää

{
  "src": [
    "tag:ai-agent-invoice-prod"
  ],
  "dst": [
    "tag:ai-llm-gateway-prod",
    "tag:ai-tool-gateway-prod"
  ],
  "ip": [
    "tcp:443"
  ]
}

Agentti voi käyttää hyväksyttyä mallipalvelua ja hyväksyttyjä työkaluja.

Se ei voi ottaa suoraa yhteyttä luku-APIin, hyväksyntäpalveluun, kirjoitustoimintojen suorittajaan, ERP-järjestelmään, tietokantaan tai ylläpitopalvelimeen.

Grant 2: työkalu-API saa lukea ja muodostaa hyväksyntäpyynnön

{
  "src": [
    "tag:ai-tool-gateway-prod"
  ],
  "dst": [
    "tag:ai-read-api-prod",
    "tag:ai-approval-api-prod"
  ],
  "ip": [
    "tcp:443"
  ]
}

Työkalu-API voi hakea rajattua tietoa ja jättää ehdotuksen hyväksyttäväksi. Se ei kuitenkaan voi suorittaa kirjoitusoperaatiota suoraan.

Grant 3: hyväksyntäpalvelu saa käynnistää kirjoitustoiminnon

{
  "src": [
    "tag:ai-approval-api-prod"
  ],
  "dst": [
    "tag:ai-write-executor-prod"
  ],
  "ip": [
    "tcp:443"
  ]
}

Vain hyväksyntäpalvelulla on verkkopolku kirjoitustoimintojen suorittajaan. Agentilla tai työkalu-APIlla ei ole tätä polkua.

Grant 4: suorittaja saa käyttää vain ERP:n rajattua APIa

{
  "src": [
    "tag:ai-write-executor-prod"
  ],
  "dst": [
    "tag:erp-api-prod"
  ],
  "ip": [
    "tcp:443"
  ]
}

Kirjoitustoimintojen suorittaja saa käyttää ERP:n APIa mutta ei tuotantotietokantaa tai ylläpitopalvelinta.

Tämän vuoksi ERP:n API voi toteuttaa toimintokohtaisen valtuutuksen, objektitason käyttöoikeuden, määrärajoitukset, idempotenssin, tapahtumalokin ja palautettavuuden.

Verkkopolitiikka ei korvaa sovelluksen valtuutusta

Tavallinen Tailscale Grant voi sallia yhteyden:

tag:ai-tool-gateway-prod
    →
tag:ai-read-api-prod:443

Grant ei yksin ratkaise, mitä HTTP-metodia tai API-operaatiota yhdyskäytävä saa käyttää:

GET    /invoices/7421
POST   /payments
DELETE /suppliers/91

Verkkokerros vastaa kysymykseen: saako lähde muodostaa verkkoyhteyden kohteeseen?

Sovelluskerros vastaa kysymykseen: mitä lähde saa tehdä yhteyden muodostamisen jälkeen?

Tailscale Grants tukee myös sovelluskohtaisia capability-määrittelyitä, mutta kohdesovelluksen pitää itse toteuttaa ja tulkita kyseiset oikeudet. Tailscale käsittelee sovelluscapabilityn parametreja läpinäkymättömänä JSON-datana eikä toimeenpane sovelluksen liiketoimintalogiikkaa. [2]

Turvalliseen kokonaisuuteen tarvitaan siksi vähintään kolme valtuutuskerrosta:

  1. Tailscale-verkkopolitiikkaSaako agentti tavoittaa palvelun?
  2. Työkalu- ja API-yhdyskäytävän politiikkaSaako agentti käyttää kyseistä työkalua kyseisillä parametreilla?
  3. Kohdesovelluksen oma valtuutusSaako palvelu lukea tai muuttaa juuri tätä liiketoimintaobjektia?

Sulje Tailscalen ohittavat yhteyspolut

Tailscale-politiikka suojaa Tailscale-liikennettä. Se ei automaattisesti estä palvelua olemasta tavoitettavissa myös julkisella IPv4- tai IPv6-osoitteella, pilvipalvelun sisäverkossa, paikallisessa LAN-verkossa, Kubernetes-klusterin normaalissa palveluverkossa tai toisella verkkoliittymällä.

Tailscale Grants ei muuta sitä, mitä laite voi tavoittaa paikallisessa verkossa Tailscalen ulkopuolella. Jos tietokanta on saavutettavissa suoraan tavallisen aliverkon kautta, agentti saattaa ohittaa tarkasti rajatun tailnet-politiikan kokonaan. [8]

Tailscale-politiikka Rajaa tailnetin sisäiset identiteettipohjaiset yhteydet.
Alla oleva verkko Tarvitsee omat ingress-, LAN-, klusteri- ja egress-kontrollinsa.

Sulje julkinen ingress

Sisäisen API-palvelun ei pidä kuunnella avoimesti kaikilla verkkoliittymillä, kuten 0.0.0.0:443, ellei julkista yhteyttä ole erikseen tarkoitettu.

Palvelu voidaan sitoa localhostiin tai Tailscale-IP-osoitteeseen, suojata host-palomuurilla tai pilvipalvelun security groupilla, julkaista tailnetiin Tailscale Servellä tai liittää verkkoon sovellukseen upotetulla tsnet-identiteetillä.

Tailscale Serve voi tuoda localhostissa toimivan palvelun tailnetin sisäiseen käyttöön siten, että tailnetin pääsypolitiikka säilyy käytössä. Tailscale Funnel puolestaan julkaisee palvelun julkiseen internetiin, joten sitä ei pidä sekoittaa yksityiseen agenttiarkkitehtuuriin. [9]

Sulje tavallinen internet-egress

Tailscale Grant ei oletusarvoisesti säätele agentin tavallista, Tailscalen ulkopuolista internet-liikennettä. Jos agentin käyttöjärjestelmällä on normaali oletusreitti internetiin, se voi muodostaa HTTPS-yhteyden ulkoiseen kohteeseen ilman, että yhteys kulkee Tailscale-politiikan kautta.

Agentin internet-egress pitää rajata erikseen esimerkiksi pilvialustan tai käyttöjärjestelmän palomuurilla, Kubernetes NetworkPolicyllä, egress proxylla, erillisellä verkkonimiavaruudella, kontrolloidulla NAT gatewaylla tai hallitulla exit nodella ja sen takana olevalla palomuurilla.

Referenssiarkkitehtuurin hallittu ulospääsy
AI-agentti
    │
    │ Tailscale
    ▼
Sisäinen LLM-yhdyskäytävä
    │
    │ hallittu egress
    ▼
Hyväksytty mallipalveluntarjoaja

Tällöin vain LLM-yhdyskäytävällä on oikeus muodostaa yhteys mallipalveluntarjoajaan.

Tailscale App Connectors voi reitittää määritettyjen SaaS-palveluiden liikennettä hallitun ulospääsyn kautta ja tarjota ennustettavan julkisen lähdeosoitteen. Pelkkä App Connector ei kuitenkaan tee reitistä pakollista, jos työkuormalla on edelleen toinen avoin internet-reitti. [10]

Exit node voi keskittää internet-liikenteen yhden pisteen kautta. Sen käyttöoikeus määritellään erikseen autogroup:internet-kohteen avulla, mutta varsinainen kohde- tai domain-rajaus pitää edelleen toteuttaa exit noden palomuurissa, välityspalvelimessa tai muussa egress-kontrollissa. [11]

Miten agentti liitetään Tailscaleen?

Toteutustapa riippuu agentin suoritusympäristöstä ja elinkaaresta.

Pitkäikäinen virtuaalikone tai palvelin

Pitkäikäiselle agenttipalvelimelle voidaan asentaa tavallinen Tailscale-asiakasohjelma. Työkuorma liitetään tailnetiin tarkoitussidonnaisella tagilla, kuten tag:ai-agent-invoice-prod.

Palvelimen päivitykset, node key -avaimet ja poistaminen pitää hallita osana normaalia palvelinhallintaa. Key expiry poistetaan oletusarvoisesti käytöstä, kun laite tunnistetaan alun perin tagilla, joten organisaation pitää määritellä erikseen työkuormaidentiteetin elinkaari, uudelleenautentikointi ja poistaminen. [6]

Kontti tai sidecar

Agentti voidaan suorittaa kontissa, jonka rinnalla toimii Tailscale-sidecar.

Agenttikontti
      │
      │ localhost / konttiverkko
      ▼
Tailscale-sidecar
      │
      ▼
Tailnet

Agenttikontti ei tarvitse suoraan Tailscalen hallintatunnuksia. Sidecar hoitaa verkkoidentiteetin ja tailnet-yhteyden. Konttiverkon muut reitit pitää silti rajata, jotta agentti ei voi ohittaa sidecaria tavallisen klusteri- tai internet-yhteyden kautta.

Lyhytikäinen työ tai CI-tehtävä

Lyhytikäisille agenteille voidaan käyttää ephemeral node -mallia. Ephemeral node poistetaan lyhyen toimettomuuden jälkeen tai välittömästi uloskirjautumisen yhteydessä. Se sopii esimerkiksi yksittäiseen analyysi- tai tiedonkäsittelytehtävään, CI/CD-agenttiin tai dynaamisesti käynnistyvään konttiin.

Ephemeral node vähentää hallintaan jäävien vanhentuneiden työkuormalaitteiden määrää, mutta ei poista tarvetta suojata tailnetiin liittymisessä käytettyjä tunnisteita. Uusi instanssi saa uuden Tailscale-IP-osoitteen. [12]

Workload Identity Federation

Kun suoritusympäristö tukee OIDC-pohjaista työkuormaidentiteettiä, pitkäikäinen Tailscale auth key voidaan korvata työkuorman omalla identiteettitodisteella.

Tailscale tarkistaa tokenin allekirjoituksen, issuerin, audience-arvon, voimassaoloajan ja määritellyt claim-ehdot sekä palauttaa lyhytikäisen Tailscale API -tokenin ennalta määritellyillä käyttöoikeusrajauksilla. Tokenia voidaan käyttää Tailscalen APIssa ja vaaditulla oikeusrajauksella solmun rekisteröintiin; se ei ole kohteena olevan liiketoimintasovelluksen tunniste. [13]

Sovellukseen upotettu tsnet

Go-sovellukseen voidaan upottaa Tailscale-yhteys tsnet-kirjastolla. Jokainen agenttipalvelu voi tällöin liittyä tailnetiin erillisenä solmuna, vaikka useita palveluita suoritettaisiin samalla koneella.

Sama fyysinen palvelin:

invoice-reader   → oma tsnet-identiteetti
invoice-writer   → oma tsnet-identiteetti
reporting-agent  → oma tsnet-identiteetti
admin-tool       → oma tsnet-identiteetti

Tämä estää koko palvelimen käsittelemisen yhtenä laajana verkkoidentiteettinä. tsnet mahdollistaa sekä lähtevät yhteydet että tailnetin sisäiset kuuntelupisteet sovelluksen sisällä. [14]

Testaa politiikka kolmella tasolla

Pelkkä onnistunut demo ei osoita turvallista arkkitehtuuria. Testauksen pitää kattaa vähintään kolme tasoa:

  1. Staattinen politiikkatestiToteuttaako Grants-politiikka tarkoitetun yhteysmatriisin?
  2. Todellinen verkkoyhteystestiToimivatko sekä sallitut että estetyt polut oikeassa ympäristössä?
  3. Sovellus- ja toimintotason testiRajataanko työkalut, objektit ja hyväksynnät oikein yhteyden jälkeen?

1. Tailscale-politiikkatestit

Politiikkatiedoston tests-osio varmistaa, että Grants-politiikka tuottaa tarkoitetun yhteysmatriisin.

{
  "src": "tag:ai-agent-invoice-prod",
  "proto": "tcp",
  "accept": [
    "tag:ai-tool-gateway-prod:443"
  ],
  "deny": [
    "tag:erp-api-prod:443",
    "tag:prod-db:5432",
    "tag:prod-admin:22"
  ]
}

Testi pitää ajaa osana jokaista politiikkamuutosta. Positiivisen testin lisäksi tarvitaan eksplisiittisiä negatiivisia testejä. Muuten jokin toinen laaja Grant voi sallia yhteyden ilman, että agentin oma sääntö muuttuu.

2. Todelliset verkkoyhteystestit

Politiikan lisäksi yhteydet pitää testata oikeasta agentin suoritusympäristöstä.

AI-agentin verkkoalueen yhteystestit ja niiden odotetut tulokset
TestiOdotettu tulosTodiste
Agentti → LLM-yhdyskäytävä:443SallittuTLS-yhteys ja palveluloki
Agentti → työkalu-API:443SallittuAPI:n autentikoitu vastaus
Agentti → luku-API suoraanEstettyYhteyden epäonnistuminen
Agentti → ERP API suoraanEstettyYhteyden epäonnistuminen
Agentti → tietokanta:5432EstettyYhteyden epäonnistuminen
Agentti → ylläpito:22EstettyYhteyden epäonnistuminen
Työkalu-API → kirjoitussuorittajaEstettyYhteyden epäonnistuminen
Agentti → tuntematon internet-kohdeEstettyEgress-palomuurin loki
Poistettu agenttisolmu → tailnetEstettyUudelleenyhdistäminen epäonnistuu
Hyväksytty palautussuunnitelmaOnnistuuDokumentoitu rollback-testi

3. Sovellustason testit

Toimiva verkkoyhteys yhdyskäytävään ei vielä todista, että sovellusvaltuutus toimii.

Sallittuget_invoice("7421")
Estettyget_all_invoices()
Estettydelete_invoice("7421")
Estettycreate_payment ilman hyväksyntää
Estettycreate_payment vanhentuneella hyväksynnällä
Estettycreate_payment muutetulla summalla
EstettySaman hyväksynnän käyttäminen toisen kerran

Tailscale-politiikkatestit osoittavat tailnetin verkkotason saavutettavuuden. Ne eivät testaa API:n liiketoimintalogiikkaa, kohdetietueiden käyttöoikeuksia tai ihmisen hyväksynnän oikeellisuutta.

Lokitus: mitä pitää pystyä todistamaan?

Yhdestä agenttiajosta pitäisi muodostua yhdistettävä tapahtumaketju. Sama korrelaatiotunniste, esimerkiksi run_id: ai-run-2026-07-28-000142, liitetään agentin suorituslokiin, LLM-yhdyskäytävän lokiin, työkalu-API:n lokiin, hyväksyntäobjektiin, kirjoitustoiminnon lokiin ja kohdesovelluksen tapahtumalokiin.

AgenttiLLM-yhdyskäytäväTyökalu-APIHyväksyntäKirjoitustoimintoKohdesovellus

Tällöin voidaan jälkikäteen selvittää, kuka käynnisti tehtävän, mikä agentti suoritti sen, mitä mallia ja työkaluja käytettiin, mihin verkkokohteisiin muodostettiin yhteys, mitä tietoja luettiin, kuka hyväksyi toiminnon ja mitä järjestelmään muutettiin.

Tailscalen konfiguraatioauditointi

Tailscalen auditointiloki tallentaa hallinnollisia muutoksia: kuka muutti politiikkaa, mitä asetusta muutettiin, milloin muutos tehtiin sekä mikä oli politiikan aikaisempi ja uusi tila. Tämä auttaa osoittamaan, milloin agentin pääsyoikeuksia muutettiin ja kuka muutoksen teki. [15]

Network flow logs

Network flow logs tallentaa yhteyksien metadataa, kuten lähde- ja kohdesolmun, protokollan, portin ja siirretyn datamäärän. Se ei tallenna liikenteen sisältöä. Ominaisuus kuuluu tällä hetkellä Premium- ja Enterprise-paketteihin, Tailscale säilyttää uusimmat 30 päivää ja tiedon muodostuminen edellyttää tuettua telemetriaa lähettävää asiakasohjelmaa.

Flow-lokeja ei pidä käsitellä täydellisenä estettyjen yhteysyritysten lokina tai itsenäisenä IDS-, SIEM- tai reaaliaikaisena uhkien tunnistusjärjestelmänä. Estettyjen yritysten todentamiseen tarvitaan käyttötapauksen mukaan vastaanottavan laitteen paikallisia Tailscale-lokeja, host-palomuuria, egress-palomuuria tai yhdyskäytävän omia lokeja. [16]

Premium- ja Enterprise-paketteihin kuuluva log streaming voi lähettää tuetut auditointi- ja verkkolokit keskitettyyn säilytykseen tai SIEM-järjestelmään. [17]

Toteuta oikea pysäytysmekanismi

Agentin pysäyttäminen ei saa riippua siitä, vastaako agentti enää hallintakäskyihin. Pysäytyksen pitää olla agentin ulkopuolella.

  1. Pysäytä agentin työkuorma.
  2. Poista agentin Tailscale-laite tai sitä koskevat Grants-oikeudet.
  3. Peruuta agentin sovellus- ja API-tunnukset.
  4. Estä agentin internet-egress.
  5. Estä uudet työkalukutsut yhdyskäytävässä.
  6. Säilytä lokit tutkintaa varten.
  7. Kierrätä tai peruuta paljastuneet auth key -avaimet, API-tokenit ja muut tunnistetiedot.
  8. Palauta agentin tekemät muutokset.

Pelkkä alkuperäisen Tailscale auth keyn peruuttaminen ei automaattisesti poista sillä jo tailnetiin liitetyn laitteen oikeuksia. Auth key on laitteen rekisteröintiin käytetty tunniste; rekisteröidyllä solmulla on sen jälkeen oma erillinen laite- ja avainelinkaarensa. Solmu pitää tarvittaessa poistaa tai sen pääsypolitiikka muuttaa. [18]

Samoin Tailscale-verkkopääsyn poistaminen ei yksin peruuta agentin jo saamia sovellustunnuksia. Verkkoidentiteetti ja sovellustunnukset pitää pystyä peruuttamaan toisistaan riippumatta.

Yleisimmät virheet

1. Agentille annetaan geneerinen ja liian laaja tagi

tag:ai-agent ei erottele agenttien tehtäviä tai riskejä. Käytä tarkoitussidonnaisia tunnisteita, kuten tag:ai-invoice-reader-prod ja tag:ai-payment-executor-prod.

2. Useiden tagien yhteisvaikutusta ei huomioida

Tagien oikeudet ovat additiivisia. Yhdistelmä tag:ai-agent, tag:finance ja tag:prod voi antaa enemmän oikeuksia kuin suunnittelija tarkoitti. Käytä tarkoitussidonnaista yhdistelmätagia ja testaa koko politiikka.

3. Agentti yhdistetään suoraan tietokantaan

Suora SQL-yhteys antaa helposti liian laajan luku- ja kirjoituspinnan. Käytä ketjua: agentti → työkalu-API → rajattu liiketoiminta-API → tietokanta.

4. Agentilla on suora internet-yhteys

Prompt injection tai vaarantunut työkalu voi käyttää avointa internet-egressiä datan viemiseen. Keskitä ulospääsy yhdyskäytävään ja estä muu egress erillisellä verkkokontrollilla.

5. Palvelu on edelleen julkinen

Tarkka Tailscale-politiikka ei auta, jos julkinen IP-osoite tai pilven sisäverkkoreitti ohittaa tailnetin. Sulje julkiset portit ja tarpeettomat tavalliset verkkoreitit.

6. Testataan vain se, minkä pitää toimia

Yksi onnistunut HTTPS-yhteys ei todista, ettei agentti pääse tietokantaan tai SSH-palvelimelle. Negatiiviset testit ovat vähintään yhtä tärkeitä kuin positiiviset.

7. Flow-lokeja pidetään täydellisenä uhkien tunnistusjärjestelmänä

Flow-lokit näyttävät yhteysmetadataa, eivät sovelluksen sisältöä tai täydellistä kuvaa kaikista estetyistä yrityksistä. Yhdistä verkko-, sovellus-, työkalu-, agentti- ja egress-lokit.

8. Agentti saa muuttaa omaa verkkoidentiteettiään

Agentilla ei pidä olla Tailscalen ylläpito-oikeutta, oikeutta myöntää itselleen tageja tai oikeutta muuttaa Grants-politiikkaa. Kontrollit eivät saa olla niiden rajaaman agentin hallinnassa.

9. Kehitys- ja tuotantoagentti käyttävät samaa identiteettiä

Kehitysympäristössä vaarantunut agentti voi saada tuotannon yhteyspolut. Erota identiteetit ja Grants-säännöt ympäristöittäin.

10. Auth keyn peruuttamista luullaan valmiiksi kill switchiksi

Liittymisavaimen peruuttaminen ei poista jo rekisteröidyn laitteen pääsyä. Testaa solmun poistaminen, Grants-muutos ja sovellustunnusten peruutus yhtenä kokonaisuutena.

Valinnainen jatkokehitys: vakaa palveluidentiteetti

Tuotantoympäristössä työkalu-APIsta tai LLM-yhdyskäytävästä voi olla useita rinnakkaisia instansseja. Tailscale Services mahdollistaa vakaan palveluidentiteetin erottamisen yksittäisistä palvelimista.

{
  "src": [
    "tag:ai-agent-invoice-prod"
  ],
  "dst": [
    "svc:ai-tool-gateway"
  ],
  "ip": [
    "tcp:443"
  ]
}

Agentti käyttää vakaata palvelunimeä, ja palvelu voidaan toteuttaa usealla tagilla tunnistetulla ja hyväksytyllä isännällä. Tämä helpottaa instanssien vaihtamista ja korkean käytettävyyden rakentamista ilman, että agentin politiikka sidotaan yhteen palvelimeen. Tailscale Services tukee tällä hetkellä TCP-palveluita, joten protokolla-, asiakasversio- ja isäntien hyväksyntävaatimukset pitää tarkistaa ennen mallin käyttöönottoa. [19]

Milloin agentin verkkoalue on tuotantovalmis?

Agentin verkkoalue ei ole tuotantovalmis vain siksi, että Tailscale on asennettu. Uuden tailnetin alkuperäinen oletuspolitiikka voi sallia laitteiden välisen liikenteen laajasti. Vähimmän oikeuden Grants-politiikka, tagien omistajuus ja politiikkatestit pitää suunnitella erikseen. [3] [23]

Tuotantovalmiudesta pitäisi pystyä osoittamaan vähintään seuraavat asiat:

  • Agentilla on oma tarkoitussidonnainen työkuormaidentiteetti.
  • Kehitys-, testi- ja tuotantoympäristöt on erotettu.
  • Tagien myöntämisoikeudet on rajattu.
  • Agentilla on vain nimetyt kohteet, protokollat ja portit.
  • Agentilla ei ole suoraa tietokanta- tai ylläpitoyhteyttä.
  • Luku-, hyväksyntä- ja kirjoituspolut on erotettu.
  • Sovellusvaltuutus toimii verkkopolitiikan lisäksi.
  • Julkiset ja paikallisen verkon ohitusreitit on suljettu.
  • Internet-egress on rajattu erillisellä kontrollilla.
  • Politiikassa on sekä hyväksyviä että estäviä testejä.
  • Testit kattavat koko politiikan additiiviset vaikutukset.
  • Todelliset end-to-end-yhteydet on testattu.
  • Verkko-, agentti-, työkalu- ja sovelluslokit voidaan yhdistää.
  • Pysäytys ja tunnusten peruutus on testattu.
  • Muutokselle on dokumentoitu palautustapa.
  • Agentin pääsypolulla on nimetty omistaja.

Turvallinen verkkoalue on vahingon raja

AI-agentin turvallisuutta ei voida rakentaa sen oletuksen varaan, että malli ymmärtää aina käyttäjän tarkoituksen, tunnistaa kaikki haitalliset ohjeet ja valitsee kaikissa tilanteissa turvallisen toiminnon.

Verkkokerroksessa voidaan kuitenkin toteuttaa deterministinen raja:

Vaikka agentti erehtyy, se ei pääse tietokantaan. Vaikka prompt injection ohjaa agenttia, se ei pääse ylläpitopalvelimelle. Vaikka suoritusympäristö vaarantuu, sillä ei ole suoraa ERP-tunnusta. Vaikka agentti yrittää lähettää tietoa ulos, sillä ei ole hallitsematonta internet-reittiä.

Tailscale toteuttaa tässä arkkitehtuurissa työkuorman identiteetin, salatun yhteyskerroksen ja tarkasti rajatun verkkosaavutettavuuden. Sovellus, API gateway, hyväksyntäpalvelu, palomuuri ja valvonta toteuttavat muut kerrokset.

Tailscale ei korvaa sovelluksen autentikointia, datan käyttöoikeuksia, haavoittuvuuksien hallintaa, EDR-järjestelmää, SIEM-ratkaisua tai poikkeamiin reagointia. Asiakas vastaa myös laitteiden päivityksistä, identiteetinhallinnasta, tagien ja ryhmien hallinnasta sekä tarkoituksenmukaisesta pääsypolitiikasta. [3]

Hyvä ensimmäinen toteutus on tarkoituksella pieni:

Yksi agentti Yksi työkuormaidentiteetti Kaksi sallittua yhteyspolkua Kuusi estettyä yhteyspolkua Yksi tapahtumaketju Yksi testattu pysäytysmekanismi

Defense First tunnistaa asiakkaan todellisen pääsypolun, mallintaa tavoitetilan, toteuttaa sen Tailscale Grants -politiikalla ja tuottaa sekä sallittujen että estettyjen yhteyksien testit, dokumentaation ja palautussuunnitelman. [20]

Yksi agentti. Tarkasti nimetyt yhteydet. Todennettu rajaus.

Rajataan ensimmäisen AI-agentin verkkoalue.

Varaa 30 minuutin Tailscale-kartoitus

Keskeiset lähteet

  1. Defense First: AI-agentin turvallinen käyttöönotto yrityksessä – 12 turvakontrollia.
  2. Tailscale: Grants.
  3. Defense First: Tailscale-opas yrityksille.
  4. OWASP GenAI Security Project: OWASP Top 10 for Agentic Applications 2026.
  5. Tailscale: Secure AI agent connectivity.
  6. Tailscale: Tags.
  7. Tailscale: Policy file ja politiikkatestit.
  8. Tailscale: Access controls and ACLs.
  9. Tailscale: Tailscale Serve.
  10. Tailscale: App Connectors.
  11. Tailscale: Exit nodes.
  12. Tailscale: Ephemeral nodes.
  13. Tailscale: Workload Identity Federation.
  14. Tailscale: tsnet.Server.
  15. Tailscale: Configuration audit logging.
  16. Tailscale: Network flow logs.
  17. Tailscale: Log streaming.
  18. Tailscale: Auth keys.
  19. Tailscale: Tailscale Services.
  20. Defense First: Tailscale-asiantuntija Suomessa.
  21. Tailscale: Control and data planes.
  22. Australian Cyber Security Centre ja kansainväliset kumppanit: Careful Adoption of Agentic AI Services.
  23. Tailscale: Device visibility principles.
  24. Tailscale: Aperture configuration reference.