控制命令輸出 AWS CLI - AWS Command Line Interface

本文件僅適用於第 1 AWS CLI 版。如需與版本 2 的相關文件 AWS CLI,請參閱第 2 版使用者指南

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

控制命令輸出 AWS CLI

本節介紹控制 AWS Command Line Interface (AWS CLI) 輸出的不同方法。在終端機中自訂 AWS CLI 輸出可以提高可讀性、簡化指令碼自動化,並讓您更輕鬆地瀏覽大型資料集。

AWS CLI 支援多種輸出格式 json,包括textyamltable。有些服務具有服務器端分頁的數據,。

最後, AWS CLI 具有伺服器端和用戶端篩選,您可以個別或一起使用來篩選 AWS CLI 輸出。

靈敏輸出

的某些操作可 AWS CLI 能會返回可能被認為是敏感的信息,包括來自環境變量的信息。在某些情況下,這些資訊的暴露可能代表安全風險;例如,這些資訊可能包含在持續整合和持續部署 (CI/CD) 記錄中。因此,當您將此類輸出包含為日誌的一部分時,請務必查看,並在不需要時抑制輸出。

如需有關保護機密資料的其他資訊,請參閱AWS CLI 中的資料保護

請考慮下列最佳作法:

  • 考慮以程式設計方式從密碼存放區擷取您的密碼,例如 AWS Secrets Manager.

  • 檢閱組建記錄的內容,以確保它們不包含敏感資訊。考慮管道/dev/null或捕獲輸出作為 bash 或 PowerShell 變量等方法來抑制命令輸出。

    以下是將輸出重定向(但不是錯誤)的 bash 示例:/dev/null

    $ aws s3 ls > /dev/null

    有關抑制終端機輸出的詳細信息,請參閱您使用的終端機的用戶文檔。

  • 考慮對日誌的訪問,並根據您的使用案例適當地設置訪問範圍。

服務器端與客戶端輸出選

AWS CLI 具有伺服器端和用戶端篩選,您可以個別或一起使用來篩選 AWS CLI 輸出。系統會先處理伺服器端篩選,並傳回用戶端篩選的輸出。服務 API 支援伺服器端篩選。用戶端使用--query參數支援用 AWS CLI 戶端篩選。

伺服器端輸出選項是 AWS 服務 API 直接支援的功能。任何篩選或分頁輸出的資料都不會傳送至用戶端,因此可加快 HTTP 回應時間並改善較大資料集的頻寬。

用戶端輸出選項是由 AWS CLI. 所有數據都被發送到客戶端,然後過 AWS CLI 濾器或頁面顯示的內容。用戶端作業不會節省較大資料集的速度或頻寬。

當伺服器端和用戶端選項一起使用時,伺服器端作業會先完成,然後傳送至用戶端進行用戶端作業。這使用了服務器端選項的潛在速度和帶寬節省,同時使用其他 AWS CLI 功能來獲得所需的輸出。