Managed Airflow (Gen 3) | Managed Airflow (Gen 2) | Managed Airflow (Legacy Gen 1)
Questo documento descrive come utilizzare il server Model Context Protocol (MCP) remoto di Managed Service for Apache Airflow per connettersi a Managed Service for Apache Airflow da applicazioni AI come Gemini CLI, ChatGPT, Claude o in applicazioni AI che stai sviluppando. Il server MCP di Managed Airflow ti consente di gestire gli ambienti Managed Airflow e ottenere dettagli sulle esecuzioni dei DAG e sulle attività Airflow.
Il Model Context Protocol (MCP) standardizza il modo in cui i modelli linguistici di grandi dimensioni (LLM) e le applicazioni o gli agenti AI si connettono a origini dati esterne. I server MCP ti consentono di utilizzare i loro strumenti, risorse e prompt per eseguire azioni e ottenere dati aggiornati dal loro servizio di backend.
Qual è la differenza tra i server MCP locali e remoti?
- Server MCP locali
- In genere vengono eseguiti sulla macchina locale e utilizzano i flussi di input e output standard (stdio) per la comunicazione tra i servizi sullo stesso dispositivo.
- Server MCP remoti
- Viene eseguito sull'infrastruttura del servizio e offre un endpoint HTTP alle applicazioni di AI per la comunicazione tra il client AI MCP e il server MCP. Per maggiori informazioni sull'architettura MCP, consulta la sezione Architettura MCP.
Google e Google Cloud server MCP remoti
Google e i Google Cloud server MCP remoti hanno le seguenti funzionalità e vantaggi:- Rilevamento semplificato e centralizzato
- Endpoint HTTP globali o regionali gestiti
- Autorizzazione granulare
- Sicurezza facoltativa di prompt e risposte con la protezione Model Armor
- Audit log centralizzato
Per informazioni su altri server MCP e sui controlli di sicurezza e governance disponibili per i server MCP di Google Cloud, consulta la panoramica dei server MCP di Google Cloud.
Prima di iniziare
- Accedi al tuo account Google Cloud . Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti senza costi per l'esecuzione, il test e il deployment dei workload.
-
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 Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
Installa Google Cloud CLI.
-
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
Per inizializzare gcloud CLI, esegui questo comando:
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 Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
Installa Google Cloud CLI.
-
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
Per inizializzare gcloud CLI, esegui questo comando:
gcloud init
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per attivare il server MCP di Managed Service for Apache Airflow, chiedi all'amministratore di concederti i seguenti ruoli IAM sul progetto in cui vuoi attivare il server MCP di Managed Service for Apache Airflow:
- Amministratore Service Usage (
roles/serviceusage.serviceUsageAdmin) -
Effettua chiamate allo strumento MCP:
MCP Tool User (
roles/mcp.toolUser)
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.
Autenticazione e autorizzazione
Il server MCP remoto di Managed Service for Apache Airflow utilizza il protocollo OAuth 2.0 con Identity and Access Management (IAM) per l'autenticazione e l'autorizzazione. Tutte le Google Cloud identità sono supportate per l'autenticazione ai server MCP.Ti consigliamo di creare un'identità separata per gli agenti che utilizzano gli strumenti MCP in modo che l'accesso alle risorse possa essere controllato e monitorato. Per saperne di più sull'autenticazione, consulta Autenticarsi sui server MCP.
Ambiti OAuth MCP di Managed Service for Apache Airflow
OAuth 2.0 utilizza ambiti e credenziali per determinare se un principal autenticato è autorizzato a eseguire un'azione specifica su una risorsa. Per saperne di più sugli ambiti OAuth 2.0 in Google, leggi Utilizzare OAuth 2.0 per accedere alle API di Google.
Managed Service for Apache Airflow ha i seguenti ambiti OAuth dello strumento MCP:
| URI dell'ambito per gcloud CLI | Descrizione |
|---|---|
https://www.googleapis.com/auth/cloudcomposer.readonly |
Consente solo l'accesso in lettura ai dati. |
https://www.googleapis.com/auth/cloudcomposer |
Consente l'accesso per leggere e modificare i dati. |
Configurare un client MCP per utilizzare il server MCP Managed Service for Apache Airflow
Le applicazioni e gli agenti AI, come Claude o Gemini CLI, possono creare un client MCP che si connette a un singolo server MCP. Un'applicazione AI può avere più client che si connettono a server MCP diversi. Per connettersi a un server MCP remoto, il client MCP deve conoscere l'URL del server MCP remoto.
Nella tua applicazione AI, cerca un modo per connetterti a un server MCP remoto. Ti viene chiesto di inserire i dettagli del server, ad esempio il nome e l'URL.
Per il server MCP di Managed Service for Apache Airflow, inserisci quanto segue in base alle tue esigenze:
- Nome server: server MCP di Managed Service for Apache Airflow
- Endpoint: composer.{region}.rep.googleapis.com/mcp
- Trasporto: HTTP
- Dettagli di autenticazione: a seconda di come vuoi autenticarti, puoi inserire le tue Google Cloud credenziali, l'ID client e il client secret OAuth oppure un'identità e le credenziali dell'agente. Per saperne di più sull'autenticazione, consulta Autenticarsi sui server MCP.
- Ambito OAuth: l'ambito OAuth 2.0 che vuoi utilizzare quando ti connetti al server MCP di Managed Service for Apache Airflow.
Per indicazioni specifiche per l'host sulla configurazione e la connessione al server MCP, vedi quanto segue:
Per indicazioni più generali, consulta le seguenti risorse:
Strumenti disponibili
Gli strumenti MCP di sola lettura hanno
l'attributo MCP mcp.tool.isReadOnly impostato su true. Potresti voler consentire
solo strumenti di sola lettura in determinati ambienti tramite le norme dell'organizzazione.
Per visualizzare i dettagli degli strumenti MCP disponibili e le relative descrizioni per il server MCP di Managed Service for Apache Airflow, consulta il riferimento MCP di Managed Service for Apache Airflow.
Strumenti per le liste
Utilizza lo strumento di ispezione MCP per elencare gli strumenti o invia una
richiesta HTTP tools/list direttamente al server MCP remoto di Managed Service for Apache Airflow. Il metodo tools/list non richiede l'autenticazione.
POST /mcp HTTP/1.1
Host: composer.{region}.rep.googleapis.com/mcp
Content-Type: application/json
{
"jsonrpc": "2.0",
"method": "tools/list",
}
Esempi di casi d'uso
Di seguito sono riportati esempi di casi d'uso per il server MCP di Managed Service for Apache Airflow:
Descrivere lo stato dell'ambiente
In questo caso d'uso di esempio, poni domande sugli ambienti del tuo progetto.
Trova tutti gli ambienti Managed Airflow in us-central1 che al momento non sono
in esecuzione. Se uno di questi si trova nello stato di errore, indicami
l'ora dell'ultimo aggiornamento di questo ambiente e la configurazione
dei relativi carichi di lavoro.
Workflow: la descrizione degli ambienti Managed Airflow potrebbe essere simile alla seguente.
- Visualizza l'elenco degli ambienti: l'agente utilizza
list_environmentsper ottenere l'elenco degli ambienti nella regione specificata, insieme alle informazioni sull'ora dell'ultimo aggiornamento.
Crea un nuovo ambiente Managed Airflow con pacchetti PyPI personalizzati
In questo caso d'uso di esempio, crei un nuovo ambiente Managed Airflow e poi installi pacchetti PyPI personalizzati.
Prompt di esempio:
Crea un nuovo ambiente Managed Airflow (Gen 3) con Airflow 2 nel mio progetto. Quindi
installa il pacchetto nltk[machine_learning].
Utilizza
example-account@example-project.iam.gserviceaccount.com
account di servizio per l'ambiente.
Workflow: la creazione di un nuovo ambiente Managed Airflow e l'installazione di pacchetti PyPI personalizzati potrebbero essere simili a quanto segue.
Crea un ambiente: l'agente utilizza
create_environmentper creare un nuovo ambiente con i parametri di configurazione forniti. L'agente chiede informazioni su parametri di configurazione aggiuntivi, come l'elenco degli indirizzi IP che possono accedere alla UI di Airflow.Install packages: l'agente chiama
manage_pypi_packagesper installare il pacchetto PyPI specificato.
Risoluzione dei problemi relativi a esecuzioni di DAG e attività non riuscite
Controlla l'ambiente Managed Airflow example-environment-name in
us-central1. L'esempio example_dag non funziona e voglio sapere perché e in quale
attività in particolare. Inoltre, indicami eventuali altri DAG che hanno generato errori in questo
ambiente nelle ultime 24 ore.
Workflow: la risoluzione dei problemi relativi alle esecuzioni di DAG non riuscite potrebbe avere il seguente aspetto.
Recupera esecuzioni di DAG non riuscite: l'agente utilizza
find_last_failed_dag_runsper ottenere l'elenco delle esecuzioni di DAG non riuscite per il DAGexample_dagnell'ambiente specificato. L'agente utilizza lo stesso strumento per ottenere l'elenco di tutte le esecuzioni DAG non riuscite.Ispeziona l'esecuzione del DAG non riuscita: l'agente chiama
list_failed_task_instancesper ottenere l'elenco delle istanze di attività dell'esecuzione del DAG che si trovano nello stato non riuscito.Analizza i log delle attività non riuscite: l'agente utilizza
get_task_instanceper ottenere i dettagli dell'istanza dell'attività non riuscita, inclusi i dati necessari per recuperare i log.Ispezione del codice sorgente del DAG: l'agente utilizza
get_dag_source_codeper analizzare il codice sorgente dell'attività non riuscita per individuare errori.
Configurazioni di sicurezza facoltative
MCP introduce nuovi rischi e considerazioni sulla sicurezza a causa dell'ampia varietà di azioni che puoi eseguire con gli strumenti MCP. Per ridurre al minimo e gestire questi rischi, Google Cloud offre impostazioni predefinite e policy personalizzabili per controllare l'utilizzo degli strumenti MCP nella tua organizzazione o nel tuo progetto Google Cloud.
Per saperne di più sulla sicurezza e sulla governance di MCP, consulta Sicurezza e protezione dell'AI.
Utilizzare Model Armor
Model Armor è un servizioGoogle Cloud progettato per migliorare la sicurezza delle tue applicazioni di AI. Funziona controllando in modo proattivo i prompt e le risposte degli LLM, proteggendo da vari rischi e supportando pratiche di AI responsabile. Che tu stia implementando l'AI nel tuo ambiente cloud o su provider cloud esterni, Model Armor può aiutarti a prevenire input dannosi, verificare la sicurezza dei contenuti, proteggere i dati sensibili, mantenere la conformità e applicare le tue norme di sicurezza dell'AI in modo coerente nel tuo panorama AI diversificato.
Quando Model Armor è abilitato con il logging abilitato, Model Armor registra l'intero payload. Ciò potrebbe esporre informazioni sensibili nei log.
Abilita Model Armor
Prima di poter utilizzare Model Armor, devi abilitare le API Model Armor.
Console
Abilita l'API Model Armor.
Ruoli richiesti per abilitare le API
Per abilitare le API, devi disporre del ruolo IAM Amministratore utilizzo dei servizi (
roles/serviceusage.serviceUsageAdmin), che include l'autorizzazioneserviceusage.services.enable. Scopri come concedere i ruoli.Seleziona il progetto in cui vuoi attivare Model Armor.
gcloud
Prima di iniziare, segui questi passaggi utilizzando Google Cloud CLI con l'API Model Armor:
Nella console Google Cloud , attiva Cloud Shell.
Nella parte inferiore della console Google Cloud viene avviata una sessione di Cloud Shell e viene visualizzato un prompt della riga di comando. Cloud Shell è un ambiente shell con Google Cloud CLI già installata e con valori già impostati per il progetto corrente. L'inizializzazione della sessione può richiedere alcuni secondi.
-
Esegui questo comando per impostare l'endpoint API per il servizio Model Armor.
gcloud config set api_endpoint_overrides/modelarmor "https://modelarmor.LOCATION.rep.googleapis.com/"
Sostituisci
LOCATIONcon la regione in cui vuoi utilizzare Model Armor.
Configurare la protezione per i server MCP remoti di Google e Google Cloud
Per proteggere le chiamate e le risposte degli strumenti MCP, puoi utilizzare le impostazioni di base di Model Armor. Un'impostazione di base definisce i filtri di sicurezza minimi che vengono applicati a tutto il progetto. Questa configurazione applica un insieme coerente di filtri a tutte le chiamate e le risposte degli strumenti MCP all'interno del progetto.
Configura un'impostazione di base di Model Armor con la sanificazione MCP attivata. Per saperne di più, consulta Configurare le impostazioni di base di Model Armor.
Vedi il seguente comando di esempio:
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"}]'
Sostituisci PROJECT_ID con l'ID progetto Google Cloud .
Tieni presente le seguenti impostazioni:
INSPECT_AND_BLOCK: il tipo di applicazione che ispeziona i contenuti per il server MCP di Google e blocca i prompt e le risposte che corrispondono ai filtri.ENABLED: l'impostazione che attiva un filtro o l'applicazione.MEDIUM_AND_ABOVE: il livello di confidenza per le impostazioni del filtro AI responsabile - Pericoloso. Puoi modificare questa impostazione, anche se valori più bassi potrebbero generare più falsi positivi. Per saperne di più, consulta Livelli di confidenza di Model Armor.
Disabilitare l'analisi del traffico MCP con Model Armor
Per impedire a Model Armor di analizzare automaticamente il traffico da e verso i server Google MCP in base alle impostazioni di base del progetto, esegui questo comando:
gcloud model-armor floorsettings update \
--full-uri='projects/PROJECT_ID/locations/global/floorSetting' \
--remove-integrated-services=GOOGLE_MCP_SERVER
Sostituisci PROJECT_ID con l'ID progetto Google Cloud . Model Armor non applica automaticamente le regole definite nelle impostazioni di base di questo progetto a nessun traffico del server Google MCP.
Le impostazioni di base e la configurazione generale di Model Armor possono influire su più di un semplice MCP. Poiché Model Armor si integra con servizi come Vertex AI, qualsiasi modifica apportata alle impostazioni di base può influire sulla scansione del traffico e sui comportamenti di sicurezza in tutti i servizi integrati, non solo in MCP.
Controllare l'utilizzo di MCP con i criteri di negazione IAM
I criteri di negazione IAM (Identity and Access Management) ti aiutano a proteggere Google Cloud i server MCP remoti. Configura questi criteri per bloccare l'accesso indesiderato agli strumenti MCP.
Ad esempio, puoi negare o consentire l'accesso in base a:
- Il preside
- Proprietà dello strumento come sola lettura
- L'ID client OAuth dell'applicazione
Per saperne di più, consulta Controllare l'utilizzo di MCP con Identity and Access Management.
Passaggi successivi
- Leggi la documentazione di riferimento di Managed Service for Apache Airflow MCP.
- Scopri di più sui server MCP di Google Cloud.