Controllo dell’output dei comandi nella AWS CLI - AWS Command Line Interface

Controllo dell’output dei comandi nella AWS CLI

In questa sezione vengono descritti i diversi modi per controllare l’output dall’AWS Command Line Interface (AWS CLI). La personalizzazione dell’output della AWS CLI nel terminale può migliorare la leggibilità, semplificare l’automazione degli script e facilitare la navigazione tra set di dati più grandi.

La AWS CLI supporta diversi formati di output, tra cui json, text, yaml, e table. Alcuni servizi prevedono la paginazione lato server per i relativi dati e la AWS CLI fornisce funzionalità lato client proprie per opzioni di paginazione aggiuntive.

Infine, la AWS CLI dispone di filtri sia lato server che lato client utilizzabili singolarmente o insieme per filtrare l’output della AWS CLI.

Output sensibili

Alcune operazioni della AWS CLI potrebbero restituire informazioni potenzialmente riservate, incluse le informazioni provenienti da variabili di ambiente. L’esposizione di queste informazioni potrebbe rappresentare un rischio per la sicurezza in determinati scenari; ad esempio, le informazioni potrebbero essere incluse nei log di integrazione e implementazione continua (CI/CD). È quindi importante verificare quando includere tali output nei log e sopprimerli quando non sono necessari.

Per ulteriori informazioni sulla protezione dei dati sensibili, consulta Protezione dei dati in AWS CLI.

Prendi in considerazione le seguenti best practice:

  • Prendi in considerazione la possibilità di recuperare a livello di codice i tuoi segreti da un archivio di segreti, ad esempio Gestione dei segreti AWS.

  • Effettua una revisione dei contenuti dei log di compilazione per assicurarti che non contengano informazioni riservate. Prendi in considerazione approcci come il piping in /dev/null o l’acquisizione dell’output come variabile bash o PowerShell per sopprimere gli output dei comandi.

    Quello che segue è un esempio di bash per reindirizzare l’output, ma non gli errori, a /dev/null:

    $ aws s3 ls > /dev/null

    Per informazioni specifiche sulla soppressione dell’output per il terminale, consulta la documentazione per l’utente del terminale che utilizzi.

  • Prendi in considerazione l’accesso ai tuoi log e definisci l’accesso in modo appropriato per il tuo caso d’uso.

Opzioni di output lato server o lato client

La AWS CLI dispone di filtri sia lato server che lato client utilizzabili singolarmente o insieme per filtrare l’output della AWS CLI. Il filtraggio lato server viene elaborato per primo e restituisce l’output per il filtraggio lato client. Il filtraggio lato server è supportato dall’API del servizio. Il filtraggio lato client è supportato dal client della con AWS CLI il parametro --query.

Le opzioni di output lato server sono funzionalità supportate direttamente dall’API Servizio AWS. Tutti i dati filtrati o paginati non vengono inviati al client, eventualmente accelerando i tempi di risposta HTTP e migliorando la larghezza di banda per set di dati più grandi.

Le opzioni di output lato client sono funzionalità create da AWS CLI. Tutti i dati vengono inviati al client, quindi la AWS CLI filtra o suddivide in pagine il contenuto visualizzato. Le operazioni lato client non consentono di risparmiare sulla velocità o sulla larghezza di banda per set di dati più grandi.

Quando le opzioni lato server e lato client vengono utilizzate insieme, le operazioni lato server vengono prima completate e poi inviate al client per le operazioni lato client. In questo modo si sfruttano i potenziali risparmi di velocità e larghezza di banda delle opzioni lato server, utilizzando al contempo le funzionalità aggiuntive della AWS CLI per ottenere l’output desiderato.