View a markdown version of this page

Configura una sandbox - AWS DevOps Agente

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Configura una sandbox

Sandbox è una funzionalità di anteprima che offre a AWS DevOps Agent un ambiente Linux sicuro e isolato in cui può scrivere ed eseguire codice durante le indagini. Alcuni problemi sono più veloci e affidabili da risolvere con il codice che con il solo ragionamento. Con Sandbox, l'agente integra il ragionamento con il calcolo, ad esempio per analizzare un file di log di grandi dimensioni, calcolare le statistiche in base a una serie di metriche o analizzare e correlare i dati provenienti da più fonti durante un'indagine.

Ogni sandbox è effimera e destinata a una singola indagine, quindi il codice eseguito dall'agente rimane isolato dalle altre risorse. Sei tu a controllare l'accesso alla rete in uscita dell'ambiente e i pacchetti preinstallati. Per impostazione predefinita, la sandbox limita l'accesso alla rete in uscita: finché non si aggiunge una voce all'elenco delle reti consentite, questa può raggiungere solo gli endpoint del servizio. AWS

Nota

Sandbox è disponibile in anteprima ed è soggetto a modifiche.

Durante l'anteprima, Sandbox è disponibile solo nelle seguenti regioni: AWS

  • Stati Uniti orientali (Virginia settentrionale) us-east-1

  • Stati Uniti occidentali (Oregon) us-west-2

  • Asia Pacifico (Tokyo) ap-northeast-1

  • Europa (Irlanda) eu-west-1

Per ulteriori informazioni, consulta Disponibilità delle funzionalità tramite Regione.

Come funziona Sandbox

Quando Sandbox è configurato per un Agent Space, AWS DevOps Agent esegue automaticamente il provisioning di un nuovo ambiente Linux mentre lavora a un'indagine. In questo ambiente, l'agente può eseguire comandi di shell e leggere e scrivere file, quindi rileggere i risultati nella sua analisi. L'ambiente dura solo per la durata di tale indagine e non esistono due indagini che ne condividano una.

L'ambiente include AWS profili preconfigurati per AWS gli account connessi all'Agent Space. L'agente può utilizzare questi profili per effettuare chiamate AWS CLI e boto3 (AWS SDK per Python) a tali account, con le stesse autorizzazioni di cui già dispone l'agente. Ciò consente all'agente di interrogare e correlare le AWS risorse in modo programmatico con il codice durante un'indagine.

L'agente può anche effettuare richieste HTTP dalla sandbox, utilizzando strumenti a riga di comando o Python e Node.js librerie, a qualsiasi host e percorso consentiti dalla politica di rete.

Due impostazioni controllano ciò che l'ambiente può fare:

  • Politica di rete: una lista esplicita degli host, dei metodi HTTP e dei percorsi che l'ambiente può raggiungere. Una lista consentita vuota nega tutte le richieste in uscita ad eccezione degli endpoint di servizio. AWS

  • Pacchetti: i npm pacchetti pip e preinstallati nell'ambiente. Il codice dell'agente può importarli senza recuperarli in fase di esecuzione.

Nota

Durante l'anteprima, l'agente utilizza Sandbox solo durante le indagini. Il supporto per chat, agenti personalizzati e altre funzionalità degli DevOps agenti sarà presto disponibile.

Isolamento dell'ambiente sandbox

AWS DevOps L'agente esegue ogni sandbox in una microVM Lambda isolata. Ogni microVM è destinata a una singola indagine e viene scartata al termine dell'indagine. Quando l'agente effettua chiamate AWS CLI o SDK dalla sandbox, instrada tali chiamate tramite un proxy. Tale proxy limita le chiamate alle operazioni di sola lettura, quindi il codice sandbox non può modificare o eliminare le risorse. AWS

Competenze nella sandbox

Con Sandbox abilitato, l'agente legge l'utente DevOps Competenze degli agenti dal file system della sandbox anziché da un file system virtuale. Questo cambia il modo in cui l'agente lavora con le competenze in due modi:

  • Cerca e leggi con strumenti da riga di comando: l'agente può utilizzare strumenti standard da riga di comando per cercare tra le tue competenze e leggere i file, invece di caricarli tramite un filesystem virtuale. Questo lo aiuta a trovare e applicare le competenze giuste per l'attività.

  • Esegui codice in bundle: l'agente può eseguire e adattare il codice in bundle con un'abilità. Senza Sandbox, una skill può includere solo file non eseguibili come istruzioni Markdown, riferimenti e file di dati. Con Sandbox, una skill può includere codice eseguibile che l'agente può eseguire nell'ambiente.

Prima di iniziare

Sandbox non è configurato per impostazione predefinita, quindi finché non si attiva l'opzione, l'agente non può eseguire codice. L'immagine seguente mostra la sezione Sandbox prima di configurarla.

La sezione Sandbox mostra «Sandbox non è configurato» con pacchetti pip vuoti, pacchetti npm e campi di voci Allowlist.

Prima di configurare Sandbox, determina quanto segue:

  • Gli host, i metodi HTTP e i percorsi che il codice dell'agente deve raggiungere, se presenti. Finché non si aggiunge una voce nella lista consentita, la sandbox può raggiungere solo gli endpoint AWS del servizio.

  • I npm pacchetti pip e i pacchetti che desideri siano preinstallati nell'ambiente.

Configura Sandbox per un Agent Space

  1. Accedere alla console di AWS gestione e aprire la console dell' AWS DevOps agente.

  2. Seleziona il tuo spazio agente e scegli la scheda Funzionalità.

  3. Nella sezione Sandbox, scegli Configura.

  4. Configura una politica di rete e i pacchetti preinstallati come descritto nelle sezioni seguenti.

  5. Salva la tua configurazione.

Dopo aver configurato Sandbox, la sezione Sandbox mostra i npm pacchetti preinstallati pip e il numero di voci consentite. Per rimuovere la configurazione in un secondo momento, consulta Remove Sandbox. #remove-sandbox

Configurare la politica di rete

La sandbox limita le richieste in uscita a una lista consentita esplicita. Una lista consentita vuota nega tutte le richieste in uscita ad eccezione degli endpoint di servizio. AWS Per consentire all'ambiente di raggiungere qualsiasi altro host, aggiungete una relativa voce nella lista consentita.

Scegli Aggiungi voce, quindi configura quanto segue per la voce della lista consentita:

  • Modello host: l'host a cui si applica la voce. La corrispondenza parziale delle etichette non è supportata. Utilizza uno dei seguenti moduli:

    • **— Tutti gli host.

    • *.example.com— Un livello di sottodominio.

    • **.example.com— Qualsiasi profondità di sottodominio.

    • example.com— Un host esatto.

  • Metodi HTTP: i metodi HTTP consentiti per questo host. Scegli uno o più metodi, ad esempio GET eOPTIONS, dall'elenco a discesa.

  • Schemi di percorso: i percorsi consentiti per questo host. Scegli Aggiungi percorso per aggiungere uno o più pattern:

    • *corrisponde a un segmento, ad esempio/repos/*/pulls.

    • È consentita una corrispondenza parziale, ad esempio/users/aws-*/.

    • /**consente tutti i sottopercorsi.

    • I parametri di interrogazione vengono ignorati.

L'immagine seguente mostra una voce completa della lista consentita.

Voce nella lista consentita con il pattern host *.github.com, i metodi GET e OPTIONS e il pattern di percorso /**.

Scegli Aggiungi voce per ogni host aggiuntivo che il codice dell'agente deve raggiungere. Per rimuovere una voce, scegli Rimuovi.

Configura i pacchetti preinstallati

Nella sezione Pacchetti, specifica i npm pacchetti pip e i pacchetti da preinstallare nell'ambiente sandbox. Il codice dell'agente può quindi importare direttamente questi pacchetti e l'ambiente non ha bisogno dell'accesso in uscita a un registro dei pacchetti per utilizzarli. L'immagine seguente mostra la sezione Pacchetti con i pacchetti di esempio configurati.

Sezione Pacchetti con richieste di pacchetti pip e axios dei pacchetti pandas e npm, ciascuno con un pulsante Rimuovi.
  • pacchetti pip: scegli Aggiungi pacchetto e inserisci un nome di pacchetto, ad esempio requests opandas, per ogni pacchetto Python da preinstallare.

  • pacchetti npm: scegli Aggiungi pacchetto e inserisci un nome di pacchetto, ad esempioaxios, per ogni Node.js pacchetto da preinstallare.

Per rimuovere un pacchetto, scegli Rimuovi accanto ad esso.

Rimuovi Sandbox

Per disattivarlo, rimuovi la configurazione Sandbox: seleziona il tuo Agent Space, vai alla scheda Funzionalità e, nella sezione Sandbox, scegli Rimuovi. Dopo aver rimosso la configurazione, l'agente non effettua più il provisioning degli ambienti sandbox per nuove indagini.

Limiti di configurazione sandbox

I seguenti limiti si applicano a ciascuna configurazione Sandbox durante l'anteprima.

Limite Valore
pacchetti pip 50
pacchetti npm 50
voci della lista consentita di rete 100
Schemi di percorso per voce della lista consentita 50
Metodi HTTP per voce nella lista consentita Almeno 1

Considerazioni relative alla sicurezza

AWS DevOps L'agente isola ogni indagine nel proprio ambiente sandbox, in modo che il codice e i dati di un'indagine non vengano mai condivisi con un'altra. AWS DevOps L'agente ispeziona e filtra tutto il traffico in uscita dalla sandbox in modo che solo le richieste sicure e consentite raggiungano le loro destinazioni. Consente le richieste agli endpoint AWS di servizio e agli host che corrispondono alla lista consentita di rete e nega tutte le altre richieste.

L'agente genera ed esegue il codice nella sandbox. Quando lo configuri, tieni presente quanto segue:

  • Mantieni la lista consentita minima. Con una lista consentita vuota, la sandbox raggiunge solo gli endpoint del AWS servizio. Aggiungi le voci della lista consentita solo per gli host, i metodi e i percorsi specifici di cui l'agente ha bisogno.

  • Amplia le voci della lista consentita in modo ristretto. Utilizza modelli host esatti e modelli di percorso specifici anziché caratteri jolly /** generici come ** e concedi solo i metodi HTTP richiesti.

  • Pre-install pacchetti invece dei registri consentiti. Quando si preinstallano i pacchetti necessari all'agente, si evita di concedere l'accesso in uscita a un registro dei pacchetti in fase di esecuzione.

Per ulteriori informazioni sul modello di sicurezza dell' AWS DevOps agente, vedere. AWS DevOps Sicurezza degli agenti