שימוש בשרת MCP מרוחק של IAM

במאמר הזה נסביר איך להשתמש בשרת Model Context Protocol‏ (MCP) מרוחק של ניהול הזהויות והרשאות הגישה (IAM) כדי להתחבר לאפליקציות מבוססות-AI, כולל Gemini CLI, ‏ ChatGPT, ‏ Claude ואפליקציות מותאמות אישית שאתם מפתחים. שרת ה-MCP המרוחק של IAM מאפשר לכם לבדוק ולנהל תפקידים בהתאמה אישית והגדרות של מדיניות דחייה במשאבים שלכם. שרת ה-MCP המרוחק של ניהול הזהויות והרשאות הגישה (IAM) מופעל כשמפעילים את Identity and Access Management API.

Model Context Protocol‏ (MCP) הוא תקן שקובע איך מודלים גדולים של שפה (LLM) ואפליקציות או סוכני AI מתחברים למקורות נתונים חיצוניים. שרתי MCP מאפשרים לכם להשתמש בכלים, במשאבים ובהנחיות שלהם כדי לבצע פעולות ולקבל נתונים מעודכנים משירות ה-Backend שלהם.

מה ההבדל בין שרתי MCP מקומיים לבין שרתי MCP מרחוק?

שרתי MCP מקומיים
בדרך כלל פועלים במחשב המקומי ומשתמשים בזרמי הקלט והפלט הרגילים (stdio) לתקשורת בין שירותים באותו מכשיר.
שרתי MCP מרוחקים
פועל בתשתית של השירות ומציע נקודת קצה של HTTP לאפליקציות AI לצורך תקשורת בין לקוח ה-MCP של ה-AI לבין שרת ה-MCP. מידע נוסף על ארכיטקטורת MCP זמין במאמר ארכיטקטורת MCP.

‫Google ושרתי MCP מרוחקים Google Cloud

לשרתי MCP של Google Google Cloud ושרתי MCP מרוחקים יש את התכונות והיתרונות הבאים:

  • גילוי פשוט ומרכזי
  • נקודות קצה (endpoints) מנוהלות של HTTP ברמה הגלובלית או האזורית
  • הרשאות פרטניות
  • אבטחת הנחיות ותשובות אופציונלית באמצעות הגנה מוגברת על המודל
  • רישום מרכזי ביומן הביקורת

מידע על שרתי MCP אחרים ועל אמצעי אבטחה ובקרה שזמינים לשרתי Google Cloud MCP מופיע במאמר סקירה כללית על שרתי Google Cloud MCP.

לפני שמתחילים

  1. נכנסים לחשבון Google Cloud . אם אתם משתמשים חדשים ב- Google Cloud, צרו חשבון כדי שתוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.

  4. Enable the Identity and Access Management API.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.

  7. Enable the Identity and Access Management API.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the API

התפקידים הנדרשים

כדי לקבל את ההרשאות שדרושות לשימוש בשרת MCP של ניהול זהויות והרשאות גישה, אתם צריכים לבקש מהאדמין לתת לכם את תפקידי ה-IAM הבאים:

להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.

התפקידים המוגדרים מראש כוללים את ההרשאות שנדרשות לשימוש בשרת MCP של ניהול זהויות והרשאות גישה. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:

ההרשאות הנדרשות

כדי להשתמש בשרת MCP של ניהול הזהויות והרשאות הגישה, נדרשות ההרשאות הבאות:

  • ביצוע קריאות לכלי MCP: mcp.tools.call
  • ניהול תפקידים בהתאמה אישית:
    • iam.roles.create
    • iam.roles.delete
    • iam.roles.get
    • iam.roles.list
    • iam.roles.undelete
    • iam.roles.update
  • ניהול של כללי מדיניות דחייה:
    • iam.denypolicies.create
    • iam.denypolicies.delete
    • iam.denypolicies.get
    • iam.denypolicies.list
    • iam.denypolicies.update

יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.

אימות והרשאה

שרת ה-MCP המרוחק של ניהול הזהויות והרשאות הגישה משתמש בפרוטוקול OAuth 2.0 עם ניהול זהויות והרשאות גישה (IAM) לאימות ולמתן הרשאות. כל Google Cloud הזהויות נתמכות לצורך אימות לשרתי MCP.

שרת ה-MCP של ניהול הזהויות והרשאות הגישה לא תומך במפתחות API.

אנחנו ממליצים ליצור זהות נפרדת לסוכנים שמשתמשים בכלים של MCP, כדי שתוכלו לשלוט בגישה למשאבים ולעקוב אחריה. מידע נוסף על אימות זמין במאמר אימות לשרתי MCP.

היקפי הרשאות OAuth של MCP לניהול זהויות והרשאות גישה

ב-OAuth 2.0 משתמשים בהיקפי הרשאות ובפרטי כניסה כדי לקבוע אם לגורם מאומת יש הרשאה לבצע פעולה ספציפית במשאב. מידע נוסף על היקפי OAuth 2.0 ב-Google זמין במאמר שימוש ב-OAuth 2.0 לגישה ל-Google APIs.

לכלי MCP יש את היקפי ההרשאות הבאים של OAuth בניהול הזהויות והרשאות הגישה (IAM):

היקף URI ל-CLI של gcloud תיאור
https://www.googleapis.com/auth/cloud-platform קריאה, עריכה, הגדרה ומחיקה של הנתונים שלך ב- Google Cloud , וקריאת כתובת האימייל של החשבון שלך ב-Google.
https://www.googleapis.com/auth/iam ההרשאה מאפשרת צפייה במדיניות של IAM וניהול שלה. IAM הוא השירות שקובע למי יש גישה למשאבים ספציפיים ב- Google Cloud .

יכול להיות שיידרשו היקפי הרשאות נוספים במשאבים שאליהם ניגשים במהלך הפעלת כלי. רשימת ההיקפים שנדרשים לניהול זהויות והרשאות גישה מופיעה במאמר Identity and Access Management API.

הגדרת לקוח MCP לשימוש בשרת MCP של ניהול הזהויות והרשאות הגישה

אפליקציות וסוכנים מבוססי-AI, כמו Claude או Antigravity, יכולים ליצור מופע של לקוח MCP שמתחבר לשרת MCP יחיד. לאפליקציית AI יכולים להיות כמה לקוחות שמתחברים לשרתי MCP שונים. אם האפליקציה שלכם לא מופיעה בהנחיות הספציפיות ללקוח, תוכלו להשתמש במידע הבא כדי להתחבר מרוב האפליקציות.

באפליקציית ה-AI, מחפשים דרך להוסיף או להתחבר לשרת MCP מרוחק. לשרת ה-MCP של ניהול הזהויות והרשאות הגישה, מזינים את הפרטים הבאים לפי הצורך:

  • שם השרת: שרת MCP לניהול זהויות והרשאות גישה
  • כתובת URL של השרת או נקודת קצה: https://iam.googleapis.com/mcp
  • Transport: HTTP
  • פרטי אימות: בהתאם לשיטת האימות שבה רוצים להשתמש, אפשר להזין את Google Cloud פרטי הכניסה, את מזהה הלקוח וסוד הלקוח של OAuth, או את הזהות ופרטי הכניסה של סוכן. מידע נוסף על אימות זמין במאמר אימות לשרתי MCP.
  • היקף הרשאות OAuth: כדי לגשת לשרת ה-MCP של Identity and Access Management, צריך להשתמש בהיקפי הרשאות OAuth 2.0https://www.googleapis.com/auth/cloud-platform או https://www.googleapis.com/auth/iam.

‫URI של הפניה אוטומטית

באפליקציות מבוססות-אינטרנט ובחלק מהאפליקציות למחשב, צריך להוסיף לרשימת ההיתרים URI להפניה אוטומטית כשיוצרים מזהה לקוח וסוד לאימות. שרת ההרשאות משתמש בכתובות ה-URI להפניה אוטומטית כדי לשלוח טוקנים לאפליקציה שלכם. במסמכי האפליקציה צריך לציין את ה-URI להפניה אוטומטית שבו צריך להשתמש. אין תמיכה בכתובות URI מותאמות אישית להפניה אוטומטית.

הנחיות ספציפיות לאפליקציות לגבי הגדרה וחיבור לשרת MCP מפורטות במאמר הנחיות ספציפיות ללקוחות.

הנחיות כלליות נוספות זמינות במקורות המידע הבאים:

כלים זמינים

כדי לראות פרטים על כלי MCP זמינים והתיאורים שלהם בשרת MCP של ניהול זהויות והרשאות גישה, אפשר לעיין בהפניה ל-MCP של ניהול זהויות והרשאות גישה.

כלים ליצירת רשימות

אפשר להשתמש בכלי לבדיקת MCP כדי לראות רשימה של כלים, או לשלוח בקשת HTTP‏ tools/list ישירות לשרת MCP מרוחק של Identity and Access Management. בשיטה tools/list לא נדרש אימות.

POST /mcp HTTP/1.1
Host: iam.googleapis.com
Content-Type: application/json

{
  "jsonrpc": "2.0",
  "method": "tools/list",
}

תרחישים לדוגמה

שרת ה-MCP המרוחק של IAM מאפשר לכם לנהל את הגדרות הגישה של IAM במשאבים שלכם. זה כולל ביצוע משימות כמו רישום, יצירה, עדכון, מחיקה ושחזור של תפקידים, מדיניות IAM והקישורים שלהם.

אלה כמה תרחישים לדוגמה לשימוש בשרת MCP של ניהול זהויות והרשאות גישה:

תרחיש שימוש דוגמאות לפרומפטים
הצגת רשימה של המטא-נתונים של תפקידי IAM בהתאמה אישית בפרויקט, חיפוש בהם ואחזור שלהם. "המתמחה החדש שלנו ב-DevOps צריך לראות את הקטגוריות של Cloud Storage ולהפעיל מחדש מכונות של Google Kubernetes Engine בפרויקט ההכנה. תוכל לבדוק אם יש בפרויקט הזה תפקיד מוגדר מראש או תפקיד בהתאמה אישית שמתאים לדרישות האלה, או שנצטרך ליצור תפקיד חדש בהתאמה אישית?"
יצירה, עדכון, מחיקה או שחזור של תפקידי IAM בהתאמה אישית בפרויקט. "אנחנו צריכים ליצור תפקיד חדש לצוות הביקורת שלנו בפרויקט security-audit. התפקיד הזה צריך להיקרא LogViewerAndBucketReader והוא צריך לכלול את ההרשאות הבאות: logging.logEntries.list,‏ logging.privateLogEntries.list ו-storage.buckets.list. בנוסף, צריך למחוק את התפקיד בהתאמה אישית OldAuditRole שהוצא משימוש בפרויקט".
הצגה ואחזור של כללי מדיניות דחייה מפורשים בפרויקט. "אני רוצה לבדוק את התיקייה secure-data-folders. צריך לציין את כל כללי המדיניות של דחייה שמצורפים ישירות לתיקייה הזו. תציג לי את הפרטים של כל מדיניות, במיוחד כללים שדוחים גישה לנתונים או הרשאות ליצירת משאבים".
ליצור, לעדכן או למחוק כללי מדיניות דחייה בפרויקט. "יש זליגת נתונים פוטנציאלית בפרויקט confidential-data. יוצרים מדיניות חדשה של דחיית בקשות כדי לדחות את כל ההרשאות של חשבון השירות suspicious-sa@confidential-data.iam.gserviceaccount.com בכל מערכי הנתונים של BigQuery ובכל קטגוריות הנתונים של Cloud Storage בפרויקט הזה. באותו פרויקט, מוחקים את המדיניות example_deny".

הגדרות אבטחה ובטיחות אופציונליות

השימוש ב-MCP כרוך בסיכוני אבטחה חדשים ובשיקולים חדשים, בגלל המגוון הרחב של הפעולות שאפשר לבצע באמצעות כלי ה-MCP. כדי למזער את הסיכונים האלה ולנהל אותם,Google Cloud מציע הגדרות ברירת מחדל ומדיניות שניתנת להתאמה אישית כדי לשלוט בשימוש בכלי MCP בארגון או בפרויקט שלכם ב- Google Cloud.

מידע נוסף על אבטחה וניהול של MCP זמין במאמר בנושא אבטחה ובטיחות של AI.

שימוש בהגנה מוגברת על המודל

Model Armor הואGoogle Cloud שירות שנועד לשפר את האבטחה והבטיחות של אפליקציות ה-AI שלכם. הכלי פועל על ידי סינון יזום של הנחיות ותשובות של מודלים גדולים של שפה (LLM), הגנה מפני סיכונים שונים ותמיכה בשיטות עבודה אחראיות של AI. בין אם אתם פורסים AI בסביבת הענן שלכם או אצל ספקי שירותי ענן חיצוניים, הגנה מוגברת על המודל יכול לעזור לכם למנוע קלט זדוני, לאמת את בטיחות התוכן, להגן על מידע אישי רגיש, לשמור על תאימות ולאכוף את מדיניות הבטיחות והאבטחה של ה-AI באופן עקבי בסביבת ה-AI המגוונת שלכם.

כשמפעילים את Model Armor עם הפעלת רישום ביומן, המערכת רושמת ביומן את כל מטען הנתונים. הפעולה הזו עלולה לחשוף מידע רגיש ביומני הרישום.

ניתוב בקשות של MCP אל Model Armor

‫Model Armor זמין באזורים מסוימים. כש-Model Armor מופעל ואתם משתמשים בשרת MCP בתחום שיפוט ש-Model Armor לא תומך בו, יכול להיות שהתנהגות הניתוב של השיחה תהיה שונה עבור שרתי MCP שונים, ושהיא תפגע בתאימות של נתוני השימוש והנתונים במעבר לדרישות של שמירת נתונים. מידע נוסף על ההתנהגות של שרתי MCP בודדים זמין במאמר בנושא הגנה מוגברת על המודל: מוצרים נתמכים.

הפעלת הגנה מוגברת על המודל

כדי להשתמש בהגנה מוגברת על המודל, צריך להפעיל קודם את ממשקי ה-API של הגנה מוגברת על המודל.

המסוף

  1. מפעילים את הגנה מוגברת על המודל API.

    תפקידים שנדרשים להפעלת ממשקי API

    כדי להפעיל ממשקי API, נדרשת ההרשאה serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד 'בעלים' (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד 'אדמין בממשק Service Usage' (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידים

    להפעלת ה-API

  2. בוחרים את הפרויקט שבו רוצים להפעיל את הגנה מוגברת על המודל.

gcloud

לפני שמתחילים, מבצעים את השלבים הבאים באמצעות Google Cloud CLI עם Model Armor API:

  1. במסוף Google Cloud , מפעילים את Cloud Shell.

    הפעלת Cloud Shell

    בחלק התחתון של Google Cloud המסוף יתחיל סשן של Cloud Shell ותופיע הודעה של שורת הפקודה. Cloud Shell היא סביבת מעטפת שבה ה-CLI של Google Cloud מותקן ומוגדרים ערכים לפרויקט הקיים. הסשן יופעל תוך כמה שניות.

  2. מריצים את הפקודה הבאה כדי להגדיר את נקודת קצה ל-API לשירות הגנה מוגברת על המודל.

    gcloud config set api_endpoint_overrides/modelarmor "https://modelarmor.LOCATION.rep.googleapis.com/"

    מחליפים את LOCATION באזור שבו רוצים להשתמש בהגנה מוגברת על המודל.

הגדרת הגנה לשרתי MCP של Google ושרתי Google Cloud MCP מרוחקים

כדי להגן על הקריאות והתגובות של כלי ה-MCP, אפשר להשתמש בהגדרות של Model Armor. הגדרת רמת בסיס מגדירה את מסנני האבטחה המינימליים שחלים על הפרויקט. ההגדרה הזו מחילה קבוצה עקבית של מסננים על כל הקריאות והתשובות של כלי MCP בפרויקט.

הגדרת סף תחתון של הגנה מוגברת על המודל עם הפעלת ניקוי נתונים ב-MCP. מידע נוסף זמין במאמר בנושא הגדרת ערכי סף ב-Model Armor.

דוגמה לפקודה:

gcloud model-armor floorsettings update \
--full-uri='projects/PROJECT_ID/locations/global/floorSetting' \
--enable-floor-setting-enforcement=TRUE \
--add-integrated-services=GOOGLE_MCP_SERVER \
--google-mcp-server-enforcement-type=INSPECT_AND_BLOCK \
--enable-google-mcp-server-cloud-logging \
--malicious-uri-filter-settings-enforcement=ENABLED \
--add-rai-settings-filters='[{"confidenceLevel": "MEDIUM_AND_ABOVE", "filterType": "DANGEROUS"}]'

מחליפים את PROJECT_ID במזהה הפרויקט ב- Google Cloud .

שימו לב להגדרות הבאות:

  • INSPECT_AND_BLOCK: סוג האכיפה שבודק את התוכן בשרת MCP של Google וחוסם הנחיות ותשובות שתואמות למסננים.
  • ENABLED: ההגדרה שמפעילה מסנן או אכיפה.
  • MEDIUM_AND_ABOVE: רמת המהימנות של ההגדרות של המסנן 'AI אחראי – מסוכן'. אפשר לשנות את ההגדרה הזו, אבל ערכים נמוכים יותר עלולים להוביל ליותר תוצאות חיוביות כוזבות. מידע נוסף זמין במאמר בנושא רמות הסמך של הגנה מוגברת על המודל.

השבתת סריקת תעבורת נתונים של MCP באמצעות הגנה מוגברת על המודל

כדי להפסיק את הסריקה האוטומטית של התנועה אל השרתים של Google MCP וממנה על ידי Model Armor על סמך הגדרות הרצפה של הפרויקט, מריצים את הפקודה הבאה:

gcloud model-armor floorsettings update \
  --full-uri='projects/PROJECT_ID/locations/global/floorSetting' \
  --remove-integrated-services=GOOGLE_MCP_SERVER

מחליפים את PROJECT_ID במזהה הפרויקט ב- Google Cloud . התכונה הגנה מוגברת על המודל לא מחילה באופן אוטומטי את הכללים שמוגדרים בהגדרות אבטחה מינימליות של הפרויקט הזה על תעבורת נתונים של שרת MCP.

ההגדרות של הסף התחתון של Model Armor וההגדרות הכלליות יכולות להשפיע על יותר דברים מאשר רק על MCP. ‫Model Armor משולב עם שירותים כמו Vertex AI, ולכן כל שינוי שתבצעו בהגדרות של רמת הבסיס יכול להשפיע על סריקת התנועה ועל התנהגויות הבטיחות בכל השירותים המשולבים, ולא רק ב-MCP.

שליטה בשימוש ב-MCP באמצעות מדיניות דחייה של ניהול זהויות והרשאות גישה (IAM)

כללי מדיניות הדחייה ומדיניות ההרשאות של ניהול הזהויות והרשאות הגישה (IAM) עוזרים לכם לאבטח Google Cloud שרתים של Google MCP.

אתם יכולים לשלב כמה קריטריונים כדי ליצור מדיניות אבטחה ומדיניות ניהול בהתאמה אישית, על ידי מתן או דחייה של גישה על סמך הקריטריונים הבאים:

  • החשבון הראשי.
  • מאפייני כלי כמו מאפיין הקריאה בלבד.
  • שם השירות או שם הכלי.
  • מזהה הלקוח ב-OAuth של האפליקציה.

מידע נוסף זמין במאמר שליטה בשימוש ב-MCP באמצעות ניהול זהויות וגישה.

המאמרים הבאים