MCP-aðgangslykill má ekki fara áfram — skiptu honum við þjónustumörkin

|Höfundur: Ritstjórn QUASA|5 mín. lestur
MCP-aðgangslykill má ekki fara áfram — skiptu honum við þjónustumörkin

MCP-þjónn þarf að sannreyna að innkominn OAuth-aðgangslykill sé ætlaður honum áður en hann keyrir verndað verkfæri. Heimildarforskrift MCP krefst þess að þjónninn staðfesti viðtakanda lykilsins og taki ekki við eða framsendi lykla sem ætlaðir eru öðrum auðlindum. Þurfi verkfærið að kalla á undirliggjandi API á þjónninn að fá sérstakan lykil fyrir það kall.

Traustmörkin eru tvö: fyrst metur MCP-þjónninn innkomna lykilinn og heimild til að kalla verkfærið; síðan fær hann lykil sem undirliggjandi API getur tekið við. Upphaflegi lykillinn má fara til auðkenningarþjónsins sem hluti af lyklaskiptum, en hann á ekki að fylgja API-beiðninni. Bresti sannprófun eða lyklaskipti stöðvast beiðnin áður en API er kallað.

Bindu innkomna lykilinn við MCP-þjóninn

Skilgreindu MCP-þjóninn sem verndaða auðlind með stöðugu auðkenni. MCP-biðlarinn á að senda resource-færibreytuna bæði í heimildarbeiðni og beiðni um aðgangslykil, með kanónískri URI þess MCP-þjóns sem hann ætlar að nota. Viðtakandinn á þessu stigi er MCP-þjónninn, jafnvel þótt verkfæri hans kunni síðar að sækja gögn úr öðru API. Biðlarinn sendir færibreytuna líka þótt auðkenningarþjónninn styðji hana ekki.

Við móttöku verndaðrar beiðni sannreynir MCP-þjónninn lykilinn samkvæmt því sniði og þeirri staðfestingarleið sem auðkenningarþjónninn notar. Hann þarf meðal annars að hafna útrunnum eða ógildum lykli og staðfesta að lykillinn hafi verið gefinn út fyrir hann sjálfan. Gildur lykill fyrir annað API uppfyllir ekki það skilyrði. Séu fleiri en einn MCP-þjónn á sama hýsilheiti þarf auðlindaauðkennið að greina þá að þegar slóðin er nauðsynleg til þess; sameiginlegt hýsilheiti eitt nægir þá ekki sem viðtakandaregla.

Fáðu nýjan lykil fyrir næsta þjónustukall

Flæðið: MCP-biðlari → lykill fyrir MCP-þjón → MCP-þjónn sannreynir lykil og verkfæraheimild → auðkenningarþjónn framkvæmir lyklaskipti → MCP-þjónn fær nýjan lykil fyrir API → undirliggjandi API sannreynir nýja lykilinn. Þetta sýnir hvar innkomni lykillinn er notaður og hvar nýr viðtakandi tekur við.

Styðji auðkenningarþjónninn OAuth-lyklaskipti getur MCP-þjónninn sent innkomna lykilinn þangað sem subject_token. Í RFC 8693 um lyklaskipti er einnig skilgreint hvernig biðlari tilgreinir gerð innkomna lykilsins, fyrirhugaðan viðtakanda með resource eða audience og þær heimildir sem óskað er eftir með scope. Þessi skiptibeiðni er send auðkenningarþjóninum; aðeins lykillinn sem fæst í svari er notaður gagnvart undirliggjandi API.

Skráðu MCP-þjóninn sem biðlara þar sem hann biður um API-lykil og skilgreindu hvaða viðtakendur og heimildir hann má óska eftir. Auðkenningarþjónninn getur hafnað skiptum ef beiðnin samræmist ekki stefnu hans, til dæmis ef hann má ekki gefa út lykil fyrir tilgreint API. Lyklaskipti fella heldur ekki sjálfkrafa innkomna lykilinn úr gildi. Styðji auðkenningarþjónninn ekki þetta flæði þarf sérstaka samþykkta leið til að fá API-heimild; þá má ekki nota innkomna MCP-lykilinn sem varaleið.

Þrengdu heimildir eftir aðgerð verkfærisins

Heimild til að kalla MCP-verkfæri og heimild til að framkvæma aðgerð í undirliggjandi API eru aðskildar ákvarðanir. Tengdu hvert verndað verkfæri við þær heimildir sem það þarf í MCP-þjóninum og við þær API-heimildir sem raunverulegt kall krefst. Öryggisgreining CoSAI ráðleggur lyklaskipti í stað framsendingar á OAuth-lykli notanda og að skrifheimildir séu felldar brott þegar lesaðgangur nægir.

Í skýrt skilyrtu dæmi gæti verkfærið „sækja reikning“ þurft lesheimild að reikningum en „breyta reikningi“ sérstaka skrifheimild. MCP-þjónninn metur fyrst hvort innkomni lykillinn heimili viðkomandi verkfæri og biður síðan aðeins um API-heimildir aðgerðarinnar. Nafn verkfærisins eitt veitir þó enga heimild hjá API: sú þjónusta þarf sjálf að sannreyna viðtakanda nýja lykilsins og framfylgja aðgangsreglum sínum.

Ekki gera ráð fyrir að beiðni um þrengri scope tryggi ein og sér þrengri lykil. Útgáfan ræðst af stefnu auðkenningarþjónsins og því sem hann skilar. Ef svar eða aðgengileg lýsigögn sýna að nauðsynleg API-heimild vantar á MCP-þjónninn að stöðva kallið; API-þjónustan verður jafnframt að hafna lykli sem er ekki ætlaður henni eða dugar ekki fyrir aðgerðinni.

Stöðvaðu beiðni við þau mörk sem bregðast

Vanti lykil, sé hann útrunninn eða ógildur, eða sé hann ekki ætlaður MCP-þjóninum, á beiðnin að fá HTTP 401 áður en verkfæri keyrir. Sé lykillinn gildur en heimildir hans duga ekki fyrir umbeðna aðgerð á HTTP 403 við. Við skort á heimild getur svarið tilgreint þá lágmarksheimild sem þarf, svo biðlarinn geti óskað eftir viðeigandi heimild án þess að aðgerðin sé framkvæmd.

Hafni auðkenningarþjónninn lyklaskiptum eða skili engum nothæfum API-lykli stöðvar MCP-þjónninn kallið til API. Sama á við ef niðurstaðan er fyrir rangan viðtakanda eða nauðsynleg heimild fæst ekki. Skráðu hvaða mörk brugðust svo unnt sé að rekja bilunina, en geymdu ekki aðgangslyklana sjálfa í beiðnaskrám. Endurtekin tilraun með innkomna lykilinn gagnvart API myndi fara fram hjá mörkunum sem lyklaskiptunum er ætlað að varðveita.

Gátlisti fyrir þjónusturnar þrjár

  • Auðkenningarþjónn: Gefur út lykil sem er ætlaður skilgreindum MCP-þjóni. Heimilar skráðum MCP-þjóni aðeins samþykkt lyklaskipti fyrir tiltekið undirliggjandi API og getur þrengt heimildir útgefna lykilsins.
  • MCP-þjónn: Sannreynir innkomna lykilinn og viðtakanda hans við verndaða beiðni. Metur heimild fyrir tiltekið verkfæri, óskar eftir sérstökum API-lykli og stöðvar kallið ef lykillinn eða heimildin dugar ekki.
  • Undirliggjandi API: Tekur við lykli sem er gefinn út fyrir það sjálft og metur heimild fyrir raunverulegri aðgerð, óháð því hvað MCP-þjónninn nefnir verkfærið.

Prófaðu mörkin með útrunnum lykli, gildum lykli fyrir annað API og gildum lykli án heimildar fyrir valið verkfæri. Prófaðu líka að lyklaskiptum sé hafnað. Hvert tilvik á að stöðvast þar sem viðkomandi ákvörðun er tekin, áður en næsta þjónusta fær óheimila beiðni.

Lestu einnig:

Deila:

Gerstu áskrifandi að fréttabréfinu okkar

Fáðu nýjustu fréttir af Web3, gervigreind og rafmyntum beint í pósthólfið.

0