Managed Airflow (דור 3) | Managed Airflow (דור 2) | Managed Airflow (דור 1 מדור קודם)
במאמר הזה מוסבר איך להשתמש בשרת Model Context Protocol (MCP) מרוחק של Managed Service for Apache Airflow כדי להתחבר אל Managed Service for Apache Airflow מאפליקציות AI כמו Gemini CLI, ChatGPT, Claude או באפליקציות AI שאתם מפתחים. שרת ה-MCP של Managed Airflow מאפשר לכם לנהל סביבות של Managed Airflow ולקבל פרטים על הפעלות של DAG ומשימות של Airflow.
Model Context Protocol (MCP) הוא תקן שקובע איך מודלים גדולים של שפה (LLM) ואפליקציות או סוכני AI מתחברים למקורות נתונים חיצוניים. שרתי MCP מאפשרים לכם להשתמש בכלים, במשאבים ובהנחיות שלהם כדי לבצע פעולות ולקבל נתונים מעודכנים משירות הקצה העורפי שלהם.
מה ההבדל בין שרתי MCP מקומיים לבין שרתי MCP מרחוק?
- שרתי MCP מקומיים
- בדרך כלל פועלים במחשב המקומי ומשתמשים בזרמי הקלט והפלט הרגילים (stdio) לתקשורת בין שירותים באותו מכשיר.
- שרתי MCP מרוחקים
- פועל בתשתית של השירות ומציע נקודת קצה של HTTP לאפליקציות AI לצורך תקשורת בין לקוח ה-MCP של ה-AI לבין שרת ה-MCP. מידע נוסף על ארכיטקטורת ה-MCP זמין במאמר ארכיטקטורת ה-MCP.
Google ושרתי MCP מרוחקים Google Cloud
לשרתי MCP של Google ושרתי MCP מרוחקים יש את התכונות והיתרונות הבאים: Google Cloud- גילוי פשוט ומרכזי
- נקודות קצה (endpoints) מנוהלות של HTTP ברמה הגלובלית או האזורית
- הרשאות פרטניות
- אבטחת הנחיות ותשובות אופציונלית באמצעות הגנה מוגברת על המודל
- רישום מרכזי ביומן הביקורת
מידע על שרתי MCP אחרים ועל אמצעי אבטחה ובקרה שזמינים לשרתי MCP של Google Cloud מופיע במאמר סקירה כללית על שרתי MCP של Google Cloud.
לפני שמתחילים
- נכנסים לחשבון Google Cloud . אם אתם משתמשים חדשים ב- Google Cloud, צרו חשבון כדי שתוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
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.
Enable the Managed Airflow API.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. 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.-
התקינו את ה-CLI של Google Cloud.
-
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
כדי לאתחל את ה-CLI של gcloud, הריצו את הפקודה הבאה:
gcloud init -
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
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.
Enable the Managed Airflow API.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. 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.-
התקינו את ה-CLI של Google Cloud.
-
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
כדי לאתחל את ה-CLI של gcloud, הריצו את הפקודה הבאה:
gcloud init
התפקידים הנדרשים
כדי לקבל את ההרשאות שדרושות להפעלת שרת MCP של Managed Service for Apache Airflow, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים בפרויקט שבו רוצים להפעיל את שרת ה-MCP של Managed Service for Apache Airflow:
- אדמין Service Usage (
roles/serviceusage.serviceUsageAdmin) -
ביצוע קריאות לכלי MCP:
משתמש בכלי MCP (
roles/mcp.toolUser)
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
אימות והרשאה
שרת ה-MCP המרוחק של Managed Service for Apache Airflow משתמש בפרוטוקול OAuth 2.0 עם ניהול זהויות והרשאות גישה (IAM) לאימות ולהרשאה. כל Google Cloud הזהויות נתמכות לצורך אימות לשרתי MCP.אנחנו ממליצים ליצור זהות נפרדת לסוכנים שמשתמשים בכלים של MCP, כדי שתוכלו לשלוט בגישה למשאבים ולעקוב אחריה. מידע נוסף על אימות זמין במאמר אימות לשרתי MCP.
היקפי הרשאות OAuth של MCP ב-Managed Service for Apache Airflow
ב-OAuth 2.0 משתמשים בהיקפי הרשאות ובפרטי כניסה כדי לקבוע אם לגורם מאומת מסוים יש הרשאה לבצע פעולה ספציפית במשאב. מידע נוסף על היקפי OAuth 2.0 ב-Google זמין במאמר שימוש ב-OAuth 2.0 לגישה ל-Google APIs.
ל-Managed Service for Apache Airflow יש את היקפי ההרשאות הבאים של OAuth בכלי MCP:
| URI של היקף ל-CLI של gcloud | תיאור |
|---|---|
https://www.googleapis.com/auth/cloudcomposer.readonly |
היקף ההרשאות הזה מאפשר גישה רק לקריאת נתונים. |
https://www.googleapis.com/auth/cloudcomposer |
היקף ההרשאות הזה מאפשר לקרוא ולשנות נתונים. |
הגדרת לקוח MCP לשימוש בשרת MCP של Managed Service for Apache Airflow
אפליקציות וסוכנים מבוססי-AI, כמו Claude או Antigravity, יכולים ליצור מופע של לקוח MCP שמתחבר לשרת MCP יחיד. לאפליקציית AI יכולים להיות כמה לקוחות שמתחברים לשרתי MCP שונים. אם האפליקציה שלכם לא מופיעה בהנחיות הספציפיות ללקוח, תוכלו להשתמש במידע הבא כדי להתחבר מרוב האפליקציות.
באפליקציית ה-AI, מחפשים דרך להוסיף או להתחבר לשרת MCP מרוחק. בשרת MCP של Managed Service for Apache Airflow, מזינים את הפרטים הבאים לפי הצורך:
- שם השרת: שרת ה-MCP של Managed Service for Apache Airflow
- נקודת קצה: composer.{region}.rep.googleapis.com/mcp
- Transport: HTTP
- פרטי אימות: בהתאם לשיטת האימות שבה רוצים להשתמש, אפשר להזין את Google Cloud פרטי הכניסה, את מזהה הלקוח וסוד הלקוח של OAuth, או את הזהות ופרטי הכניסה של סוכן. מידע נוסף על אימות זמין במאמר אימות לשרתי MCP.
- היקף הרשאות OAuth: היקף ההרשאות של OAuth 2.0 שבו רוצים להשתמש כשמתחברים לשרת ה-MCP של Managed Service for Apache Airflow.
הנחיות ספציפיות לאפליקציות לגבי הגדרה וחיבור לשרת MCP מפורטות במאמר הנחיות ספציפיות ללקוחות.
הנחיות כלליות נוספות זמינות במקורות המידע הבאים:
כלים זמינים
בכלי MCP שהם לקריאה בלבד, מאפיין ה-MCP mcp.tool.isReadOnly מוגדר לערך true. יכול להיות שתרצו לאפשר רק כלים לקריאה בלבד בסביבות מסוימות באמצעות מדיניות הארגון.
כדי לראות פרטים על כלי MCP זמינים והתיאורים שלהם בשרת ה-MCP של Managed Service for Apache Airflow, אפשר לעיין במאמר Managed Service for Apache Airflow MCP reference.
כלים ליצירת רשימות
אפשר להשתמש בכלי הבדיקה של MCP כדי להציג רשימה של כלים, או לשלוח בקשת HTTP tools/list ישירות לשרת MCP המרוחק של Managed Service for Apache Airflow. בשיטה tools/list לא נדרש אימות.
POST /mcp HTTP/1.1
Host: composer.{region}.rep.googleapis.com/mcp
Content-Type: application/json
{
"jsonrpc": "2.0",
"method": "tools/list",
}
תרחישים לדוגמה
הנה כמה תרחישים לדוגמה לשימוש בשרת MCP של Managed Service for Apache Airflow:
תיאור של סטטוס הסביבה
בתרחיש השימוש לדוגמה הזה, אתם שואלים שאלות על סביבות בפרויקט.
Find all Managed Airflow environments in us-central1 that aren't in
the running state at the moment. אם אחת מהן במצב שגיאה, תציין את השעה שבה הסביבה הזו עודכנה לאחרונה ואת הגדרות העומסים של הסביבה.
תהליך העבודה: תיאור של סביבות Managed Airflow יכול להיראות כך.
- הצגת רשימת הסביבות: הסוכן משתמש ב-
list_environmentsכדי לקבל את רשימת הסביבות באזור שצוין, יחד עם מידע על שעת העדכון האחרון.
יצירת סביבת Managed Airflow חדשה עם חבילות PyPI בהתאמה אישית
בתרחיש השימוש לדוגמה הזה, יוצרים סביבת Managed Airflow חדשה ואז מתקינים בה חבילות PyPI בהתאמה אישית.
הנחיה לדוגמה:
Create a new Managed Airflow (Gen 3) environment with Airflow 2 in my project. לאחר מכן, מתקינים את חבילת nltk[machine_learning].
להשתמש ב-example-account@example-project.iam.gserviceaccount.com
חשבון שירות לסביבה.
תהליך העבודה: יכול להיות שייראה כך: יצירת סביבת Managed Airflow חדשה ואז התקנת חבילות PyPI מותאמות אישית בתוכה.
יצירת סביבה: הסוכן משתמש ב-
create_environmentכדי ליצור סביבה חדשה עם פרמטרים של הגדרה שסופקו. הסוכן שואל על פרמטרים נוספים להגדרה, כמו רשימת כתובות ה-IP שמורשות לגשת לממשק המשתמש של Airflow.Install packages: הסוכן קורא ל-
manage_pypi_packagesכדי להתקין את חבילת PyPI שצוינה.
פתרון בעיות של הרצות ומשימות שנכשלו ב-DAG
בודקים את סביבת Managed Airflow example-environment-name ב-us-central1. ה-DAG example_dag נכשל, ואני רוצה לדעת למה ובאיזו משימה ספציפית. תספר לי גם על DAGs אחרים שנכשלו בסביבה הזו ב-24 השעות האחרונות.
תהליך עבודה: פתרון בעיות בהפעלות של DAG שנכשלו עשוי להיראות כך.
Get failed DAG runs: הסוכן משתמש ב-
find_last_failed_dag_runsכדי לקבל את רשימת ההרצות שנכשלו של DAG עבור ה-DAGexample_dagבסביבה שצוינה. הסוכן משתמש באותו כלי כדי לקבל את רשימת כל ההפעלות של DAG שנכשלו.בדיקת ההרצה שנכשלה של ה-DAG: הסוכן קורא ל-
list_failed_task_instancesכדי לקבל את רשימת המופעים של המשימות בהרצת ה-DAG שנמצאים במצב של כשל.ניתוח יומני משימות שנכשלו: הסוכן משתמש ב-
get_task_instanceכדי לקבל את פרטי מופע המשימה שנכשל, כולל הנתונים שנדרשים לאחזור יומנים.בדיקת קוד המקור של ה-DAG: הסוכן משתמש ב-
get_dag_source_codeכדי לנתח את קוד המקור של המשימה שנכשלה ולחפש בו שגיאות.
הגדרות אבטחה ובטיחות אופציונליות
ה-MCP מציג סיכוני אבטחה חדשים ושיקולים חדשים בגלל המגוון הרחב של פעולות שאפשר לבצע באמצעות כלי ה-MCP. כדי למזער את הסיכונים האלה ולנהל אותם,Google Cloud מציע הגדרות ברירת מחדל ומדיניות שניתנת להתאמה אישית כדי לשלוט בשימוש בכלי MCP בארגון או בפרויקט שלכם ב- Google Cloud.
מידע נוסף על אבטחה וניהול של MCP זמין במאמר בנושא אבטחה ובטיחות של AI.
שימוש בהגנה מוגברת על המודל
Model Armor הואGoogle Cloud שירות שנועד לשפר את האבטחה והבטיחות של אפליקציות ה-AI שלכם. הכלי פועל על ידי סינון יזום של הנחיות ותשובות של מודלים גדולים של שפה (LLM), הגנה מפני סיכונים שונים ותמיכה בשיטות עבודה אחראיות של AI. בין אם אתם פורסים AI בסביבת הענן שלכם או אצל ספקי שירותי ענן חיצוניים, הגנה מוגברת על המודל יכול לעזור לכם למנוע קלט זדוני, לאמת את בטיחות התוכן, להגן על מידע אישי רגיש, לשמור על תאימות ולאכוף את מדיניות הבטיחות והאבטחה של ה-AI באופן עקבי בסביבת ה-AI המגוונת שלכם.
כשמפעילים את Model Armor עם הפעלת רישום ביומן, המערכת רושמת ביומן את כל מטען הנתונים. הפעולה הזו עלולה לחשוף מידע רגיש ביומני הרישום.
הפעלת Model Armor
כדי להשתמש ב-Model Armor, צריך להפעיל את ממשקי ה-API של Model Armor.
המסוף
מפעילים את Model Armor API.
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, נדרשת ההרשאה
serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד 'בעלים' (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד 'אדמין בממשק 'שימוש בשירות'' (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידיםבוחרים את הפרויקט שבו רוצים להפעיל את Model Armor.
gcloud
לפני שמתחילים, צריך לבצע את השלבים הבאים באמצעות Google Cloud CLI עם Model Armor API:
במסוף Google Cloud , מפעילים את Cloud Shell.
בחלק התחתון של Google Cloud המסוף יתחיל סשן של Cloud Shell ותופיע הודעה של שורת הפקודה. Cloud Shell היא סביבת מעטפת שבה ה-CLI של Google Cloud מותקן ומוגדרים ערכים לפרויקט הקיים. הסשן יופעל תוך כמה שניות.
-
מריצים את הפקודה הבאה כדי להגדיר את נקודת הקצה של ה-API לשירות Model Armor.
gcloud config set api_endpoint_overrides/modelarmor "https://modelarmor.LOCATION.rep.googleapis.com/"
מחליפים את
LOCATIONבאזור שבו רוצים להשתמש ב-Model Armor.
הגדרת הגנה לשרתי MCP של Google ושרתי MCP מרוחקים Google Cloud
כדי להגן על השיחות והתשובות של כלי ה-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 – מסוכן'. אפשר לשנות את ההגדרה הזו, אבל ערכים נמוכים יותר עלולים להוביל ליותר תוצאות חיוביות כוזבות. מידע נוסף זמין במאמר בנושא רמות הסמך של Model Armor.
השבתת סריקת תעבורת נתונים של 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 . התכונה Model Armor לא מחילה באופן אוטומטי את הכללים שמוגדרים בהגדרות הרצפה של הפרויקט על תעבורה של שרת Google MCP.
ההגדרות של הסף התחתון של Model Armor וההגדרה הכללית יכולות להשפיע על יותר דברים מאשר רק על MCP. Model Armor משולב עם שירותים כמו Vertex AI, ולכן כל שינוי שתבצעו בהגדרות של רמת הרצפה יכול להשפיע על סריקת התנועה ועל התנהגויות הבטיחות בכל השירותים המשולבים, ולא רק ב-MCP.
שליטה בשימוש ב-MCP באמצעות כללי מדיניות דחייה ב-IAM
כללי מדיניות הדחייה של ניהול זהויות והרשאות גישה (IAM) עוזרים לכם לאבטח שרתי MCP מרוחקים. Google Cloud כדאי להגדיר את המדיניות הזו כדי לחסום גישה לא רצויה לכלי MCP.
לדוגמה, אתם יכולים לדחות או לאשר גישה על סמך:
- הקרן
- מאפייני כלי כמו קריאה בלבד
- מזהה הלקוח ב-OAuth של האפליקציה
מידע נוסף זמין במאמר שליטה בשימוש ב-MCP באמצעות ניהול זהויות וגישה.