阿里云CLI(Alibaba Cloud Command Line Interface)是基于OpenAPI构建的通用命令行工具,您可以通过阿里云CLI实现自动化管理和维护密钥管理服务。本文以调用ListKmsInstances接口查询KMS实例列表为例,为您介绍使用阿里云CLI调用密钥管理服务的操作步骤。
前置概念
阅读本文前,若您还不了解阿里云CLI,请参见什么是阿里云 CLI。
安装阿里云CLI
使用阿里云CLI前,您需要先安装阿里云CLI。阿里云CLI为用户提供了Windows、Linux和macOS三种操作系统下的安装服务,请根据您使用设备的操作系统选择对应的安装服务。
-
Windows:安装CLI(Windows)。
-
Linux:安装/更新 CLI。
-
macOS:安装CLI(macOS)。
您也可使用阿里云提供的云命令行Cloud Shell调试阿里云CLI命令。关于云命令行的更多信息,请参见什么是云命令行。
配置阿里云CLI
使用阿里云CLI之前,您需要在阿里云CLI中配置身份凭证、地域ID等信息。阿里云CLI支持多种身份凭证,详情请参见配置与管理身份凭证。本文操作以AK类型凭证为例,具体操作步骤如下:
-
创建一个RAM用户,并创建AccessKey,以便后续配置身份凭证使用。具体操作,请参见创建RAM用户及创建AccessKey。
-
为RAM用户授权。本文示例需授予RAM用户只读访问密钥管理服务的权限
AliyunKMSReadOnlyAccess,授权操作请参见管理RAM用户的权限。 -
获取可用的地域ID,以便后续配置身份凭证使用。阿里云CLI将使用您指定的地域发起API调用,密钥管理服务的可用地域请参见服务接入地址。
说明使用阿里云CLI过程中您可使用
--region选项指定地域发起命令调用,该选项在使用时将忽略默认身份凭证配置及环境变量设置中的地域信息。详情请参见命令行选项。 -
使用RAM用户的AccessKey配置AK类型凭证,配置文件命名为
AkProfile。具体操作,请参见配置与管理身份凭证。
生成CLI命令示例
-
单击ListKmsInstances调试地址,访问OpenAPI门户。
-
在参数配置中输入请求参数,单击CLI示例页签,查看生成的CLI示例。
-
复制CLI示例或在云命令行中快速执行:
生成的 CLI 示例命令为 aliyun kms ListKmsInstances --region cn-hangzhou,输入参数包括 PageNumber 和 PageSize。
调用API
示例一:获取阿里云CLI中支持调用的密钥管理服务OpenAPI列表
以下代码示例将为您展示如何使用--help选项获取支持阿里云CLI调用密钥管理服务OpenAPI列表。您也可在API概览中查看支持调用的API。
-
执行命令。
aliyun kms --help -
输出结果。
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实例列表。
-
执行命令。
aliyun kms ListKmsInstances --region cn-hangzhou --PageNumber 1 --PageSize 10 -
输出结果。
{ "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后返回错误,您需要根据返回的错误码提示检查传入的请求参数及其取值是否正确。
您也可以记录下调用返回的RequestID或SDK报错信息,通过阿里云OpenAPI诊断平台进行自助诊断。