CLI集成示例

本文以调用云安全中心DescribeCloudCenterInstances接口,查询用户资产信息为例,为您介绍使用阿里云CLI调用云安全中心的操作步骤。

前置概念

  • 阿里云CLI(Alibaba Cloud Command Line Interface)是基于OpenAPI构建的通用命令行工具,您可以通过阿里云CLI实现自动化管理和维护云安全中心(Security Center)。更多信息,请参见什么是阿里云CLI

  • 暂不支持使用阿里云CLI调用云安全中心(威胁分析)与云安全中心(响应编排)。若您需要产品提供相关支持,可提交工单反馈。

步骤一:安装阿里云CLI

使用阿里云CLI前,您需要先安装阿里云CLI。阿里云CLI为用户提供了Windows、Linux和macOS三种操作系统下的安装服务,请根据您使用设备的操作系统选择对应的安装服务。

您也可在云命令行(Cloud Shell)中调试阿里云CLI命令。云命令行中预装了阿里云CLI,且会定期更新软件版本。更多信息,请参见什么是云命令行

步骤二:配置阿里云CLI

重要

阿里云账号(主账号)拥有所有产品OpenAPI的管理和访问权限,风险很高。强烈建议您创建RAM用户(子账号),并依据最小化权限原则授予权限,使用RAM用户身份访问OpenAPI。云安全中心支持的权限策略,请参见云安全中心系统权限策略参考云安全中心自定义权限策略参考

使用阿里云CLI之前,您需要在阿里云CLI中配置身份凭证、地域ID等信息。阿里云CLI支持多种身份凭证,详情请参见身份凭证类型。阿里云CLI支持使用RAM用户的AccessKey信息配置AK类型身份凭证,具体操作步骤如下:

  1. 创建一个RAM用户,并创建AccessKey,以便后续配置身份凭证使用。具体操作,请参见创建RAM用户创建AccessKey

  2. 为RAM用户授权。本文示例需授予RAM用户只读访问云安全中心的权限AliyunYundunSASReadOnlyAccess。具体操作,请参见为RAM用户授权

  3. 获取可用的地域ID,以便后续配置身份凭证使用。阿里云CLI将使用您指定的地域发起OpenAPI调用,云安全中心的可用地域请参见服务接入点

    说明

    使用阿里云CLI过程中您可使用--region选项指定地域发起命令调用,该选项在使用时将忽略默认身份凭证配置及环境变量设置中的地域信息。详情请参见API命令可用选项

  4. 使用RAM用户的AccessKey配置AK类型凭证,配置文件命名为AkProfile。具体操作,请参见配置示例

步骤三:生成CLI命令示例

  1. 在OpenAPI门户中,访问DescribeCloudCenterInstances调试地址

    image

  2. 参数配置中输入请求参数,单击CLI示例页签,查看生成的CLI示例。

  3. 复制CLI示例或在云命令行中快速执行:

    • 单击运行命令image按钮,可唤出云命令行并快速完成命令调试。

    • 单击复制按钮image,将CLI示例复制到剪贴板中,可粘贴至本地Shell工具中运行或编写命令行脚本。

    说明

    复制CLI示例到本地Shell工具中进行调试时请注意参数格式。关于阿里云CLI命令参数使用格式的详细信息,请参见参数格式说明

    OpenAPI门户生成示例中会默认添加--region选项,复制命令到本地调用时阿里云CLI将忽略默认身份凭证配置及环境变量设置中的地域信息,优先使用指定的地域调用命令,您可根据需要对该选项进行删除或保留。

步骤四:调用云安全中心OpenAPI

示例一:获取支持阿里云CLI调用的云安全中心OpenAPI列表

以下示例将为您展示如何使用--help选项获取支持阿里云CLI调用的云安全中心OpenAPI列表。更多信息,请参见API概览

  1. 执行命令。

    aliyun sas --help
  2. 输出结果。

    image

示例二:查询用户资产信息

以下示例将为您展示如何使用阿里云CLI调用云安全中心DescribeCloudCenterInstances接口,查询存在风险的云服务器 ECS(Elastic Compute Service)资产信息。

  1. 执行命令。

    aliyun sas DescribeCloudCenterInstances --Criteria '[{"name":"riskStatus","value":"YES"}]' --MachineTypes ecs
  2. 输出结果。

    {
      "Success": true,
      "PageInfo": {
        "Count": 10,
        "CurrentPage": 1,
        "PageSize": 20,
        "TotalCount": 10,
        "NextToken": "B604532DEF982B875E8360A6EFA3B***"
      },
      "RequestId": "7D6FD965-745C-5580-A3E8-83FEC3BE1FE8",
      "Instances": [
        {
          "AlarmStatus": "NO",
          "AssetType": "0",
          "AssetTypeName": "云服务器",
          "AuthVersionName": "免费版",
          "Bind": false,
          "ClientStatus": "online",
          "Cores": 4,
          "CpuInfo": "Intel(R) Xeon(R) Platinum 8269CY CPU @ 2.50GHz",
          "ExposedStatus": 0,
          "Flag": 0,
          "FlagName": "ALIYUN",
          "GroupId": 1355****,
          "GroupTrace": "未分组",
          "HcStatus": "YES",
          "HealthCheckCount": 0,
          "Importance": 1,
          "InstanceId": "i-bp1b84nxki0g2cyg****",
          "InstanceName": "example",
          "InternetIp": "",
          "IntranetIp": "172.16.****",
          "Ip": "172.16.****",
          "IpListString": "172.16.****",
          "Kernel": "5.10.134-16.3.al8.x86_64",
          "LastLoginTimestamp": 1729840886000,
          "MacListString": "00:16:3e:**:**:**",
          "Mem": 16384,
          "Os": "linux",
          "OsName": "Alibaba Cloud Linux 3.2104 LTS 64位",
          "Region": "cn-hangzhou-dg-a01",
          "RegionId": "cn-hangzhou",
          "RegionName": "华东1(杭州)",
          "RiskCount": "{\"account\":0,\"agentlessAll\":0,\"agentlessBaseline\":0,\"agentlessMalicious\":0,\"agentlessSensitiveFile\":0,\"agentlessVulCve\":0,\"agentlessVulSca\":0,\"agentlessVulSys\":0,\"appNum\":0,\"asapVulCount\":0,\"baselineHigh\":0,\"baselineLow\":0,\"baselineMedium\":0,\"baselineNum\":1,\"cmsNum\":0,\"containerAsap\":0,\"containerLater\":0,\"containerNntf\":0,\"containerRemind\":0,\"containerSerious\":0,\"containerSuspicious\":0,\"cveNum\":4,\"emgNum\":0,\"health\":0,\"imageBaselineHigh\":0,\"imageBaselineLow\":0,\"imageBaselineMedium\":0,\"imageBaselineNum\":0,\"imageMaliciousFileRemind\":0,\"imageMaliciousFileSerious\":0,\"imageMaliciousFileSuspicious\":0,\"imageVulAsap\":0,\"imageVulLater\":0,\"imageVulNntf\":0,\"laterVulCount\":1,\"newSuspicious\":0,\"nntfVulCount\":3,\"remindNum\":0,\"scaNum\":0,\"seriousNum\":0,\"suspNum\":0,\"suspicious\":0,\"sysNum\":0,\"trojan\":0,\"uuid\":\"11c50347-4745-4a7a-b8dd-405f276201ff\",\"vul\":4,\"weakPWNum\":0}",
          "RiskStatus": "YES",
          "SafeEventCount": 0,
          "Status": "Running",
          "Uuid": "11c50347-4745-4a7a-b8dd-405f****",
          "Vendor": 0,
          "VendorName": "ALIYUN",
          "VpcInstanceId": "vpc-bp132a80775r3d7kz****",
          "VulCount": 4,
          "VulStatus": "YES"
        }
      ]
    }
    说明

    如果调用云安全中心OpenAPI后返回错误,您需要根据返回的错误码提示检查传入的请求参数及其取值是否正确。

    您也可以记录下调用返回的RequestID或SDK报错信息,通过阿里云OpenAPI诊断平台进行自助诊断。