Salta ai contenuti

Credenziali di accesso

Guida salva le credenziali di accesso, come chiavi API, token, password e stringhe di connessione, crittografandoli con Windows DPAPI. Le credenziali di accesso sono vincolate al tuo account utente Windows: solo il tuo utente può decrittarli.

Apri il pannello Credenziali di accesso (Secrets) per aggiungere, visualizzare ed eliminare credenziali di accesso. Ogni credenziale di accesso ha:

  • Nome (Name) — identificatore usato per fare riferimento alla credenziale di accesso, per esempio API_TOKEN o my-postgres
  • Valore (Value) — contenuto crittografato, mostrato mascherato nell’interfaccia
  • Descrizione (Description) — note facoltative su cosa rappresenta la credenziale di accesso

La barra degli strumenti offre Aggiungi credenziale di accesso (Add Secret) per credenziali di accesso generiche chiave-valore, più pulsanti dedicati per Aggiungi connessione S3 (Add S3 Connection), Aggiungi MongoDB (Add MongoDB), Aggiungi PostgreSQL (Add PostgreSQL) e Aggiungi Elasticsearch (Add Elasticsearch), che aprono finestre di dialogo dedicate con i campi corretti.

Pannello Credenziali di accesso con quelle esistenti e dialogo Aggiungi connessione S3 con campi per endpoint, chiave di accesso, chiave segreta e regione

Le finestre di dialogo dedicate per le credenziali di accesso mantengono strutturati i campi di connessione e salvano le credenziali risultanti crittografate direttamente nello spazio di archiviazione sicuro di Windows.

Leggi il valore decrittato di una credenziale di accesso con g.secrets.getSecret():

async function main() {
const token = await g.secrets.getSecret("API_TOKEN");
const response = await g.http.makeHttpRequest({
url: "https://api.example.com/data",
headers: { "Authorization": "Bearer " + token }
});
}

Il pannello Credenziali di accesso (Secrets) ha dialoghi dedicati per aggiungere connessioni database. Ogni dialogo raccoglie i campi giusti per il servizio, senza costringerti ad assemblare manualmente stringhe di connessione.

PulsanteCampi del dialogoUsato da
Aggiungi connessione S3 (Add S3 Connection)Nome, endpoint, chiave di accesso, chiave segreta, regione, token di sessioneg.s3.*
Aggiungi MongoDB (Add MongoDB)Nome, stringa di connessioneg.mongodb.*
Aggiungi PostgreSQL (Add PostgreSQL)Nome, stringa di connessioneg.postgres.*
Aggiungi Elasticsearch (Add Elasticsearch)Nome, URL, modalità di autenticazione (chiave API, basic, nessuna), credenzialig.elasticsearch.*

Dialogo Aggiungi connessione MongoDB con campi nome, stringa di connessione e descrizione

Le credenziali di accesso ai database vengono referenziati per nome dagli script, così le credenziali non devono essere incorporate nel codice.

Una volta salvato la credenziale di accesso, fai riferimento al suo nome negli script:

// La credenziale di accesso "my-mongo" contiene la stringa di connessione MongoDB
const docs = await g.mongodb.find("my-mongo", "scraping", "products", {
price: { $lt: 20 }
});

Vedi Integrazioni database per guide complete di configurazione ed esempi.

Uso delle credenziali di accesso negli strumenti personalizzati

Sezione intitolata “Uso delle credenziali di accesso negli strumenti personalizzati”

Gli strumenti personalizzati supportano segnaposto {{SECRET_NAME}} nel campo headers. Il segnaposto viene risolto al momento dell’esecuzione: l’agente IA non vede mai i valori delle intestazioni.

{
"tools": [
{
"name": "fetch-data",
"description": "Scarica dati dall'API",
"script": "scripts/fetch.js",
"headers": {
"Authorization": "Bearer {{API_TOKEN}}",
"X-Api-Key": "{{API_KEY}}"
}
}
]
}

Le credenziali di accesso sono progettate per essere inaccessibili agli agenti IA collegati tramite MCP.

I valori delle credenziali di accesso non vengono mai esposti tramite MCP

Sezione intitolata “I valori delle credenziali di accesso non vengono mai esposti tramite MCP”

Lo strumento MCP SecretsList restituisce solo nomi e descrizioni, mai valori decrittati. Non esiste uno strumento MCP per leggere i valori delle credenziali di accesso.

Gli script di origine MCP non possono leggere credenziali di accesso

Sezione intitolata “Gli script di origine MCP non possono leggere credenziali di accesso”

Quando un agente IA esegue uno script tramite MCP, le chiamate g.secrets.getSecret() di quello script vengono bloccate e generano un errore. Questo impedisce la catena di esfiltrazione:

  1. L’IA chiede a Guida di eseguire uno script
  2. Lo script legge una credenziale di accesso con g.secrets.getSecret()
  3. Lo script scrive il valore in g.store
  4. L’IA legge il valore da g.store

Il passaggio 2 viene bloccato: g.secrets.getSecret() controlla l’origine dello script e rifiuta richieste di origine MCP.

Questo vale anche per le integrazioni database: g.s3.*, g.mongodb.*, g.postgres.* e g.elasticsearch.* sono tutti bloccati per gli script di origine MCP, perché risolvono internamente credenziali di accesso.

Anche i processi di lavoro delle code avviati da MCP sono bloccati: i processi di lavoro ereditano l’origine del loro avviatore.

  • Strumento MCP SecretsList — elencare i nomi delle credenziali di accesso, non i valori
  • Usare credenziali di accesso indirettamente tramite segnaposto headers negli strumenti personalizzati; lo script non vede mai il valore risolto