阿里雲CLI(Alibaba Cloud Command Line Interface)是基於OpenAPI構建的通用命令列工具,您可以通過阿里雲CLI實現自動化管理和維護Cloud Firewall。本文以調用DescribeNatFirewallList介面查詢NAT邊界防火牆的詳細資料為例,為您介紹使用阿里雲CLI調用Cloud Firewall的操作步驟。
前置概念
閱讀本文前,若您還不瞭解阿里雲CLI,請參見什麼是阿里雲CLI。
安裝阿里雲CLI
使用阿里雲CLI前,您需要先安裝阿里雲CLI。阿里雲CLI為使用者提供了Windows、Linux和macOS三種作業系統下的安裝服務,請根據您使用裝置的作業系統選擇對應的安裝服務。
Windows:在Windows上安裝阿里雲CLI。
Linux:在Linux上安裝阿里雲CLI。
macOS:在macOS上安裝阿里雲CLI。
您也可使用阿里雲提供的雲命令列Cloud Shell調試阿里雲CLI命令。關於雲命令列的更多資訊,請參見什麼是雲命令列。
配置阿里雲CLI
阿里雲主帳號擁有所有產品OpenAPI的管理和存取權限,風險很高。強烈建議您建立RAM身份,並依據最小化許可權原則授予許可權,使用RAM身份訪問OpenAPI。
使用阿里雲CLI之前,您需要在阿里雲CLI中配置身份憑證、地區ID等資訊。阿里雲CLI支援多種身份憑證,詳情請參見身份憑證類型。本文操作以AK類型憑證為例,具體操作步驟如下:
建立一個RAM使用者,並建立AccessKey,以便後續配置身份憑證使用。具體操作,請參見建立RAM使用者及建立AccessKey。
為RAM使用者授權。本文樣本需授予RAM使用者唯讀訪問Cloud Firewall的許可權
AliyunYundunCloudFirewallReadOnlyAccess。具體操作,請參見為RAM使用者授權。擷取可用的地區ID,以便後續配置身份憑證使用。阿里雲CLI將使用您指定的地區發起OpenAPI調用。Cloud Firewall的可用地區詳情,請參見服務存取點。
說明使用阿里雲CLI過程中您可使用
--region選項指定地區發起命令調用,該選項在使用時將忽略預設身份憑證配置及環境變數設定中的地區資訊。詳情請參見OpenAPI命令可用選項。使用RAM使用者的AccessKey配置AK類型憑證,設定檔命名為
AkProfile。具體操作,請參見配置樣本。
產生CLI命令樣本
在OpenAPI門戶中,訪問DescribeNatFirewallList調試地址。
在參數配置中輸入請求參數,單擊CLI樣本頁簽,查看產生的CLI樣本。
複製CLI樣本或在雲命令列中快速執行:

調用Cloud FirewallOpenAPI
樣本一:擷取阿里雲CLI中支援調用的Cloud FirewallOpenAPI列表
以下程式碼範例將為您展示如何使用--help選項擷取支援阿里雲CLI調用Cloud FirewallOpenAPI列表。您也可在API概覽中查看支援調用的API。
執行命令。
aliyun cloudfw --help輸出結果。

樣本二:查詢NAT邊界防火牆的詳細資料
以下程式碼範例將為您展示如何使用阿里雲CLI調用Cloud Firewall中的DescribeNatFirewallList命令,查詢NAT邊界防火牆的詳細資料。
執行命令。
aliyun cloudfw DescribeNatFirewallList \ --region cn-hangzhou \ --Lang zh \ --PageNo 1 \ --PageSize 10 \ --ProxyId 'proxy-nat97a******' \ --RegionNo 'cn-hangzhou'輸出結果。
{ "TotalCount": 10, "RequestId": "15FCCC52-1E23-57AE-B5EF-3E00A3******", "NatFirewallList": [ { "MemberUid": 0, "AliUid": 0, "ProxyId": "proxy-nat97a******", "ProxyName": "nat-防火牆測試", "ProxyStatus": "normal", "RegionId": "cn-hangzhou", "NatGatewayId": "ngw-uf6tnblxip4qcxg******", "NatGatewayName": "NAT Gateway測試", "VpcId": "vpc-2ze26ya******", "VpcName": "vpc-測試執行個體", "ErrorDetail": "防火牆建立失敗", "StrictMode": 0, "NatRouteEntryList": [ { "RouteTableId": "vtb-bp18o0gb******", "NextHopId": "ngw-2ze0s284r9atg5******", "NextHopType": "NatGateway", "DestinationCidr": "0.0.0.0/0" } ] } ] }說明如果調用Cloud FirewallOpenAPI後返回錯誤,您需要根據返回的錯誤碼提示檢查傳入的請求參數及其取值是否正確。
您也可以記錄下調用返回的RequestID或SDK報錯資訊,通過阿里雲OpenAPI診斷平台進行自助診斷。