CLI集成示例

更新时间:
复制为 MD 格式

阿里云CLI(Alibaba Cloud Command Line Interface)是基于OpenAPI构建的通用命令行工具,您可以通过阿里云CLI实现自动化管理和维护密钥管理服务。本文以调用ListKmsInstances接口查询KMS实例列表为例,为您介绍使用阿里云CLI调用密钥管理服务的操作步骤。

前置概念

阅读本文前,若您还不了解阿里云CLI,请参见什么是阿里云 CLI

安装阿里云CLI

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

您也可使用阿里云提供的云命令行Cloud Shell调试阿里云CLI命令。关于云命令行的更多信息,请参见什么是云命令行

配置阿里云CLI

重要

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

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

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

  2. RAM用户授权。本文示例需授予RAM用户只读访问密钥管理服务的权限AliyunKMSReadOnlyAccess,授权操作请参见管理RAM用户的权限

  3. 获取可用的地域ID,以便后续配置身份凭证使用。阿里云CLI将使用您指定的地域发起API调用,密钥管理服务的可用地域请参见服务接入地址

    说明

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

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

生成CLI命令示例

  1. 单击ListKmsInstances调试地址,访问OpenAPI门户。

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

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

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

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

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

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

生成的 CLI 示例命令为 aliyun kms ListKmsInstances --region cn-hangzhou,输入参数包括 PageNumberPageSize

调用API

示例一:获取阿里云CLI中支持调用的密钥管理服务OpenAPI列表

以下代码示例将为您展示如何使用--help选项获取支持阿里云CLI调用密钥管理服务OpenAPI列表。您也可在API概览中查看支持调用的API。

  1. 执行命令。

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

    Product: Kms (密钥管理服务)
    Version: 2016-01-20
    Available Api List:
        AsymmetricDecrypt            调用AsymmetricDecrypt接口使用非对称密钥进行解密。
        AsymmetricEncrypt            调用AsymmetricEncrypt接口使用非对称密钥进行加密。
        AsymmetricSign               调用AsymmetricSign接口使用非对称密钥进行签名。
        AsymmetricVerify             调用AsymmetricVerify接口使用非对称密钥进行验签。
        CancelKeyDeletion            调用CancelKeyDeletion接口撤销密钥删除。
        CertificatePrivateKeyDecrypt 使用X.509数字证书私钥对密文数据进行解密。
        CertificatePrivateKeySign    使用X.509数字证书私钥对消息或消息摘要进行签名。
        CertificatePublicKeyEncrypt  使用X.509数字证书公钥对明文数据进行加密。
        CertificatePublicKeyVerify   使用X.509数字证书公钥对消息签名进行验证。
        ConnectKmsInstance
        CreateAlias                  调用CreateAlias接口为主密钥(CMK)创建一个别名。
        CreateApplicationAccessPoint 创建一个应用接入点。
        CreateCertificate            调用CreateCertificate接口创建证书。
        CreateClientKey
        CreateKey                    调用CreateKey接口创建一个主密钥。
        CreateKeyVersion             调用CreateKeyVersion接口为用户主密钥(CMK)创建密钥版本。

示例二:查询KMS实例列表

以下代码示例将为您展示如何使用阿里云CLI调用密钥管理服务中的ListKmsInstances命令,查询KMS实例列表。

  1. 执行命令。

    aliyun kms ListKmsInstances --region cn-hangzhou --PageNumber 1 --PageSize 10
  2. 输出结果。

    {
      "KmsInstances": {
        "KmsInstance": [
          {
            "KmsInstanceArn": "acs:kms:cn-hangzhou:141339776561****:keystore/kst-hzz66c5811c4c1wpv****",
            "KmsInstanceId": "kst-hzz66c5811c4c1wpv****"
          }
        ]
      },
      "TotalCount": 1,
      "PageNumber": 1,
      "PageSize": 10,
      "RequestId": "8b640712-ab78-47ca-b648-55b665ee51bf"
    }
    说明

    如果调用密钥管理服务OpenAPI后返回错误,您需要根据返回的错误码提示检查传入的请求参数及其取值是否正确。

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