यह Workstation तकनीकी ब्रीफ़ एजेंटिक AI सुरक्षा और प्रमाणीकरण को कवर करता है: MCP (Model Context Protocol) के माध्यम से टूल कॉल करने वाले एंटरप्राइज़ एजेंटों को OAuth 2.1 से सुरक्षित करना, उच्च-जोखिम MCP एंडपॉइंट को VPN / प्राइवेट नेटवर्किंग के पीछे रखना, और HashiCorp Vault से टूल क्रेडेंशियल प्रबंधित करना — डायनामिक सीक्रेट्स, लीज़, ऑटो-रोटेशन और तत्काल रिवोक। यह Claude, OpenAI और Cursor के लिए उद्योग-संगत सेटअप की अनुशंसा करता है।
- समस्या: स्थिर लंबे समय वाले टूल कीज़ + सार्वजनिक MCP = क्रेडेंशियल स्प्रॉल और लेटरल मूवमेंट।
- प्रमाणीकरण: रिमोट MCP = OAuth 2.1 रिसोर्स सर्वर + RFC 9728 PRM + RFC 8707 ऑडियंस; PKCE अनिवार्य।
- एंटरप्राइज़: कॉर्पोरेट IdP के माध्यम से MCP Enterprise-Managed Authorization (EMA / ID-JAG) को प्राथमिकता दें।
- नेटवर्क: आंतरिक MCP और Vault VPN/प्राइवेट लिंक पर; प्रति टूल एग्रेस अलाउलिस्ट।
- सीक्रेट्स: Vault डायनामिक सीक्रेट्स + लीज़ TTL; स्थिर भूमिकाओं का ऑटो-रोटेट; सेशन समाप्त पर रिवोक।
- विभाजन: LLM प्रदाता API कीज़ != MCP एक्सेस टोकन != बैकएंड टूल सीक्रेट्स।
स्रोत: MCP Authorization, Vault लीज़, Vault AI एजेंट वैलिडेटेड पैटर्न, Claude कनेक्टर प्रमाणीकरण। प्रोडक्शन रोलआउट से पहले वर्तमान वेंडर दस्तावेज़ सत्यापित करें।
1. एंटरप्राइज़ एजेंटों के लिए थ्रेट मॉडल
एक एजेंट एक विशेषाधिकार प्राप्त ऑटोमेशन प्रिंसिपल है। सामान्य विफलता मोड:
- सीक्रेट स्प्रॉल — MCP JSON में API कीज़, git में कमिट किया गया
.env, या प्रॉम्प्ट में पेस्ट। - टोकन प्रतिस्थापन — सर्वर A के लिए जारी एक्सेस टोकन सर्वर B द्वारा स्वीकार (ऑडियंस बाइंडिंग अनुपस्थित)।
- अत्यधिक-स्कोप्ड टूल — एक MCP उसी सेशन से प्रोड DB लिख सकता है और फ़ायरवॉल खोल सकता है।
- अनऑडिटेड OBO — एजेंट मानव पहचान से क्रियाएँ लिंक किए बिना कार्य करता है।
- सार्वजनिक MCP — आंतरिक टूल VPN या प्राइवेट लिंक के बिना इंटरनेट से पहुँच योग्य।
नियंत्रणों को पहचान (कौन), अधिकार (कौन से टूल), सीक्रेट्स (किन क्रेडेंशियल से), और नेटवर्क (कहाँ से) कवर करना चाहिए।
2. MCP प्रमाणीकरण: उद्योग मानक
HTTP-आधारित रिमोट MCP के लिए, विनिर्देश OAuth 2.1 के साथ संरेखित है:
- MCP सर्वर = OAuth रिसोर्स सर्वर; क्लाइंट
Authorization: Bearerभेजते हैं। - PKCE अनिवार्य है; implicit grant निषिद्ध है।
- सर्वर को MUST Protected Resource Metadata (RFC 9728) प्रकाशित करना चाहिए ताकि क्लाइंट ऑथराइज़ेशन सर्वर खोज सकें।
- Resource Indicators (RFC 8707) का उपयोग करें ताकि टोकन उस MCP सर्वर से ऑडियंस-बाउंड हों।
- AS क्षमताओं के लिए Authorization Server Metadata (RFC 8414) और/या OIDC डिस्कवरी।
- Dynamic Client Registration (RFC 7591) अनुशंसित है जहाँ क्लाइंट को मैन्युअल क्लाइंट ID के बिना ऑनबोर्ड करना हो।
# Protected Resource Metadata (conceptual)
{
"resource": "https://mcp.internal.example/mcp",
"authorization_servers": ["https://auth.example.com"],
"scopes_supported": ["mcp:tools", "mcp:resources"]
}
STDIO / लोकल MCP अलग है: Vault Agent द्वारा इंजेक्ट किए गए एनवायरनमेंट क्रेडेंशियल प्राथमिकता दें — हर डेस्कटॉप टूल पर ब्राउज़र OAuth न थोपें। रिमोट/सार्वजनिक MCP को OAuth 2.1 लागू करना चाहिए।
2.1 Enterprise-Managed Authorization (ज़ीरो-टच)
MCP Enterprise-Managed Authorization एक्सटेंशन कॉर्पोरेट IdP (Okta, Entra ID आदि) को SSO पर अनुमोदित MCP सर्वरों तक पहुँच देने देता है, ID-JAG (Identity Assertion JWT Authorization Grant) का उपयोग करके, प्रति-सर्वर सहमति थकान से बचाता है। संगठन-व्यापी Claude / IDE / एजेंट फ़्लीट के लिए EMA अपनाएँ।
3. VPN और प्राइवेट MCP एकीकरण
OAuth क्लाइंट को प्रमाणित करता है; यह नेटवर्क आइसोलेशन का विकल्प नहीं है।
- आंतरिक MCP सर्वर और Vault को प्राइवेट CIDR पर होस्ट करें (VPN, PrivateLink, Tailscale/WireGuard मेश, या सर्विस मेश mTLS)।
- MCP लिसनर को प्राइवेट इंटरफ़ेस से बाँधें; सार्वजनिक 443 ब्लॉक करें जब तक उत्पाद जानबूझकर इंटरनेट-फेसिंग न हो।
- एजेंट रनटाइम से एग्रेस अलाउलिस्ट लागू करें: केवल अनुमोदित API/MCP होस्ट।
- प्लेन विभाजित करें: Cursor के लिए कॉर्प VPN पर डेवलपर लैपटॉप; VPC में सर्वर-साइड एजेंट, अनुमोदित SaaS को छोड़कर बिना इंटरनेट MCP।
पैटर्न: पहुँच के लिए VPN + अधिकार के लिए OAuth + सीक्रेट्स के लिए Vault।
4. एजेंट सीक्रेट्स के लिए HashiCorp Vault
स्थिर लंबे समय वाले टूल कीज़ एजेंट ब्लास्ट रेडियस के साथ असंगत हैं। Vault प्रदान करता है:
4.1 डायनामिक सीक्रेट्स + लीज़
हर डायनामिक सीक्रेट एक lease_id और TTL लौटाता है। उपभोक्ता को नवीनीकरण करना चाहिए (यदि अनुमति हो) या समाप्ति से पहले प्रतिस्थापन अनुरोध करना चाहिए। जब लीज़ समाप्त होती है, Vault प्रदाता पर क्रेडेंशियल रिवोक कर सकता है। यह चेक-इन बाध्य करता है, ऑडिट लॉग सुधारता है, और एक्सपोज़र विंडो घटाता है।
4.2 ऑटो-रोटेशन
स्थिर भूमिकाओं के लिए (जैसे rotation_period वाला डेटाबेस पासवर्ड), Vault शेड्यूल पर रोटेट करता है। Vault Agent टेम्प्लेट जीवन के अंत के निकट पुनः फ़ेच करते हैं (डिफ़ॉल्ट lease_renewal_threshold ~TTL का 0.9) और क्रेडेंशियल बदलने पर चाइल्ड प्रोसेस रीस्टार्ट कर सकते हैं।
4.3 एजेंटों के लिए अनुशंसित TTL
| जोखिम वर्ग | उदाहरण | TTL मार्गदर्शन |
|---|---|---|
| क्रिटिकल राइट | प्रोड DB म्यूटेट, IAM एडमिन | 5-15 मिनट; टूल समाप्त पर रिवोक |
| रीड / स्टेजिंग | रीड रेप्लिका, टिकट API | 30-60 मिनट |
| LLM प्रदाता कुंजी | OpenAI / Anthropic ऑर्ग कुंजी | Vault-प्रबंधित; शेड्यूल पर रोटेट; कभी MCP JSON में नहीं |
4.4 Vault + उपयोगकर्ता एट्रिब्यूशन (वैलिडेटेड पैटर्न)
HashiCorp का वैलिडेटेड पैटर्न: उपयोगकर्ता प्रमाणित होता है; एजेंट को ऑन-बिहाफ़-ऑफ़ (OBO) टोकन मिलता है; टूल JWT से Vault से प्रमाणित होते हैं; Vault क्लेम को पॉलिसी से मैप करता है और स्कोप्ड डायनामिक सीक्रेट्स जारी करता है। ऑडिट ट्रेल सीक्रेट जारी करने को साझा रोबोट अकाउंट नहीं, बल्कि मनुष्य से जोड़ते हैं।
Vault Enterprise Agent Registry और OAuth रिसोर्स सर्वर प्रोफ़ाइल जोड़ता है ताकि नामांकित एजेंट अलग Vault लॉगिन चरण के बिना OAuth JWT प्रस्तुत करें — डेलिगेशन / OBO के लिए एजेंट-विशिष्ट बाधाओं के साथ।
# Conceptual agent tool hook (do not ship secrets to the model)
vault_token = login_jwt(obo_token) # Vault auth
secret = vault.read("database/creds/agent-ro")
lease_id, ttl = secret["lease_id"], secret["lease_duration"]
try:
run_tool(db_url=secret["data"]) # use within TTL
finally:
vault.lease.revoke(lease_id) # or let TTL expire
5. वेंडर के अनुसार अनुशंसित सेटअप
5.1 Claude (Anthropic)
- रिमोट MCP कनेक्टर के लिए OAuth प्राथमिकता दें; PRM की ओर इशारा करते हुए
WWW-Authenticateके साथ 401 लौटाएँ ताकि क्लाइंट ऑथ खोज सकें। - कनेक्टर URL क्वेरी स्ट्रिंग में टोकन/API कीज़ कभी न रखें (लॉग, कैश; MCP टोकन नियमों से निषिद्ध)।
- Claude Code: सुरक्षित टोकन स्टोर और रिफ़्रेश के साथ लोकल OAuth; प्लगइन टोकन नहीं पढ़ सकते।
- होस्टेड Claude: सहमति देने वाले उपयोगकर्ताओं के लिए Anthropic-प्रबंधित क्लाइंट क्रेडेंशियल; फिर भी टूल सीक्रेट्स अपने MCP के पीछे Vault में रखें।
- एंटरप्राइज़: ज़ीरो-टच सर्वर पहुँच के लिए IdP को MCP EMA से संरेखित करें।
5.2 OpenAI (एजेंट / टूल)
- मॉडल API कीज़ को टूल क्रेडेंशियल से अलग रखें; अलग रोटेशन और ब्लास्ट रेडियस।
- एजेंट रनटाइम VPC में चलाएँ; प्राइवेट नेटवर्किंग पर प्राइवेट MCP कॉल करें।
- टूल में उपयोगकर्ता-एट्रिब्यूटेड टोकन पास करें; JWT से Vault प्रमाणित करें; प्रति इनवोकेशन डायनामिक सीक्रेट्स मिंट करें।
- अनुपालन के लिए हर टूल कॉल को उपयोगकर्ता + एजेंट + lease_id के साथ लॉग करें।
5.3 Cursor
- MCP सर्वर कॉन्फ़िग: केवल एनवायरनमेंट वेरिएबल संदर्भित करें —
mcp.jsonमें सीक्रेट हार्डकोड न करें। - STDIO सर्वर: Vault Agent (टेम्प्लेट या env) के अंतर्गत चलाएँ ताकि डेवलपर पासवर्ड कॉपी किए बिना लीज़ रोटेट हों।
- रिमोट MCP: जब सर्वर समर्थन करे तो OAuth; अन्यथा कॉर्प VPN + Vault से शॉर्ट-लिव्ड बियरर।
- टीम नीति: अनुमोदित MCP सर्वर अलाउलिस्ट करें; प्रोड कोडबेस पर अविश्वसनीय कम्युनिटी MCP ब्लॉक करें।
- इग्नोर नियमों से
.env/ सीक्रेट फ़ाइलें कॉन्टेक्स्ट से बाहर रखें; प्रोजेक्ट नियम: चैट में सीक्रेट पेस्ट करना मना।
6. संदर्भ नियंत्रण मैट्रिक्स
| परत | नियंत्रण | एंटी-पैटर्न |
|---|---|---|
| पहचान | SSO IdP + EMA / OAuth PKCE | साझा रोबोट पासवर्ड |
| MCP | PRM + ऑडियंस-बाउंड टोकन | URL में टोकन; कोई एक्सपायरी नहीं |
| नेटवर्क | VPN / PrivateLink + एग्रेस ACL | प्रोड टूल के लिए सार्वजनिक MCP |
| सीक्रेट्स | Vault लीज़ + रोटेट + रिवोक | mcp.json में साल-भर की कीज़ |
| ऑप्स | IdP+MCP+Vault ऑडिट; मानव गेट | अनगेटेड प्रोड डिप्लॉय / भुगतान |
7. कार्यान्वयन चेकलिस्ट
- हर MCP सर्वर का इन्वेंटरी करें और सार्वजनिक बनाम प्राइवेट वर्गीकृत करें।
- सभी रिमोट MCP पर OAuth 2.1 + PRM लागू करें; कॉर्पोरेट IdP के साथ EMA सक्षम करें।
- MCP + Vault को VPN/प्राइवेट नेटवर्किंग के पीछे ले जाएँ; दस्तावेज़ करें कि Cursor/Claude नेटवर्क कैसे जॉइन करते हैं।
- स्थिर टूल कीज़ को Vault डायनामिक सीक्रेट्स से बदलें; जोखिम वर्ग के अनुसार TTL सेट करें।
- Vault Agent (या SDK रिन्यू/रिवोक) को एजेंट रनटाइम से जोड़ें; सेशन समाप्त पर लीज़ रिवोक करें।
- LLM प्रदाता कीज़ अलग रखें; उन्हें Vault में स्टोर और रोटेट करें — कभी प्रॉम्प्ट या MCP कॉन्फ़िग में नहीं।
- पैसे, पहचान परिवर्तन और प्रोडक्शन डिप्लॉय के लिए मानव अनुमोदन गेट जोड़ें।
- परीक्षण: समाप्त लीज़ फेल-क्लोज़्ड; गलत-ऑडियंस टोकन अस्वीकृत; सार्वजनिक पथ ब्लॉक।
Workstation द्वारा प्रकाशित — एंटरप्राइज़ ऑटोमेशन, मल्टी-एजेंट प्लेटफ़ॉर्म, और Kubernetes पर सुरक्षित डिलीवरी।
