Gli agenti Agent Development Kit (ADK) interagiscono con servizi esterni al di fuori di Google Cloud. Sia le identità agent sia Identity and Access Management (IAM) ti consentono di autenticarti con i servizi Google Cloud. Tuttavia, non possono dimostrare la propria identità a piattaforme esterne che non supportano la federazione delle identità di Google.
Gli agenti ADK richiedono l'accesso a varie credenziali per interagire con entità esterne come servizi MCP, strumenti ADK e API. Ecco alcuni esempi comuni:
- Chiavi API per piattaforme di elaborazione dei pagamenti
- Combinazioni di nome utente e password per database on-premise legacy
- Chiavi private per le connessioni mutual TLS (mTLS)
SecretManagerClient all'interno del pacchetto google.adk.integrations.secret_manager.secret_client. Questo modulo fornisce un'interfaccia standard
per consentire agli agenti di recuperare i secret da Secret Manager in fase di runtime.
Questo documento spiega come gestire i secret per i servizi esterni in ADK utilizzando Secret Manager.
Vantaggi dell'utilizzo di Secret Manager con ADK
La gestione manuale dei secret può introdurre rischi per la sicurezza e aumentare il lavoro manuale degli sviluppatori. Secret Manager può aiutarti a risolvere questi problemi nei seguenti modi:
- Se incorpori i secret nel codice dell'agente, crei un rischio per la sicurezza significativo. Questa pratica può portare a un accesso non autorizzato ai sistemi di produzione. L'utilizzo di Secret Manager rimuove i dati sensibili dal codice sorgente. In questo modo, la tua applicazione sarà più sicura.
- Se incorpori secret statici tramite variabili di ambiente, la rotazione delle credenziali diventa complicata. Per applicare gli aggiornamenti, devi riavviare i container di deployment. Secret Manager recupera le credenziali in modo dinamico in fase di runtime, il che consente di eseguire aggiornamenti senza tempi di inattività del sistema.
- Se scrivi codice
SecretManagerServiceClientboilerplate personalizzato per ogni strumento, aumenti il lavoro degli sviluppatori e il rischio di errori. L'integrazione standardizzata dell'ADK fornisce un approccio pulito e riutilizzabile per recuperare le credenziali.
Prima di iniziare
Prima di integrare Secret Manager con ADK, completa i seguenti passaggi:
- Configura un agente utilizzando ADK. Questa funzionalità richiede ADK versione 1.29 o successive per Python.
- Concedi il ruolo IAM
Secret Manager Secret Accessorall'identità dell'agente. Questo ruolo consente all'agente di recuperare i secret in fase di runtime. - Crea un secret e aggiungi una versione del secret, ad esempio una chiave API, in Secret Manager.
Come un agente ADK recupera i secret in fase di runtime
Il modulo secret_client.SecretManagerClient recupera le credenziali
nella logica del codice dell'agente Python in fase di runtime. La logica di orchestrazione dell'agente
invia prompt al modello linguistico di grandi dimensioni (LLM) per decidere quale strumento eseguire,
ma il sistema non invia il secret all'LLM.
L'agente esegue i seguenti passaggi durante la fase di runtime:
- Prima che un agente ADK richiami uno strumento di terze parti, inizializza il modulo
SecretManagerCliente chiama la funzioneget_secret(). - L'agente ADK utilizza l'identità dell'agente per autenticarsi con Secret Manager.
- Il modulo
SecretManagerClientrestituisce il secret in testo non crittografato all'agente ADK. - L'agente ADK utilizza il secret per effettuare una chiamata autenticata allo strumento di terze parti.
Recuperare i secret all'interno di un agente ADK in fase di runtime
Il seguente esempio di codice mostra come utilizzare il modulo SecretManagerClient per recuperare in modo sicuro un secret all'interno di un agente ADK. L'agente recupera il secret internamente per evitare di esporre credenziali sensibili alla finestra contestuale o alla cronologia delle conversazioni dell'LLM.
Python
Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo Python e installare l'SDK Python di Secret Manager. Su Compute Engine o GKE, devi autenticarti con l'ambito cloud-platform.
Passaggi successivi
- Esplora l'Agent Development Kit.