本文为您介绍使用OpenAPI查询指定密钥的密钥详情的完整示例。
查看OpenAPI文档
通过阅读API概览得知,查询指定密钥的密钥详情的OpenAPI为DescribeKey。请您根据文档,了解调用该接口需要准备的数据和权限。
创建RAM用户并授权
身份
您可以使用阿里云账号(主账号)、RAM用户、RAM角色调用该接口,有关各种身份的差异,请参见身份、凭据、授权。本示例中,我们使用RAM用户进行接口调用。
登录RAM访问控制,创建一个仅允许API调用的RAM用户,并记录AccessKey信息。具体操作,请参见创建RAM用户。
授权
访问RAM用户列表,单击目标RAM用户操作列的添加权限。
在权限策略区块中,搜索并选择AliyunKMSFullAccess策略。
说明KMS的系统权限策略如下:
AliyunKMSCryptoAdminAccess:本策略定义了在KMS中管理加密密钥的权限。
AliyunKMSCryptoUserAccess:本策略定义了使用KMS的密钥进行密码运算的权限。
AliyunKMSFullAccess:本策略定义了管理密钥管理服务(KMS)的权限。
AliyunKMSReadOnlyAccess:本策略定义了只读访问密钥管理服务(KMS)的权限。
AliyunKMSSecretAdminAccess:本策略定义了在KMS中管理凭据的权限。
AliyunKMSSecretUserAccess:本策略定义了获取KMS中的凭据的权限。
关于如何创建自定义权限,请参见密钥管理服务自定义权限策略参考。
单击确认新增授权,完成授权操作。
凭证
在创建RAM用户时会默认生成一个AccessKey,可直接使用。您也可以进入到对应的RAM用户详情页面,在认证管理页签,单击创建AccessKey,创建一个新的AccessKey。具体操作,请参见创建AccessKey。
调用OpenAPI
本文以Python语言为例,为您介绍OpenAPI的调用方法。
准备Python环境
下载并安装Python。
Python 3的下载地址,请参见Python 3。
查看Python版本。
Linux和macOS系统
打开终端,输入
python --version
。Windows系统
在Python的安装路径下,双击python.exe。
打开命令提示符页面。
通过键盘快捷键Win+R打开运行对话框,输入命令python,单击确定。
配置环境变量
为避免将AccessKey硬编码到业务代码中带来的安全风险,本示例采用配置环境变量的方法管理AccessKey。不同操作系统的环境变量配置方法不同,具体操作,请参见在Linux、macOS和Windows系统配置环境变量。
安装依赖
建议您安装最新版本的SDK,最新版本信息,请参见KMS SDK。
pip install alibabacloud_credentials
pip install alibabacloud_kms20160120==xx.xx.xx
pip install alibabacloud_tea_console
下载示例代码
在OpenAPI门户,访问DescribeKey接口的调试地址。
请求参数KeyId输入key-hzz62f1cb66fa42qo****,直接单击发起调用。
先单击SDK示例页签,再单击Python页签。
获取Python语言的SDK示例。
单击下载完整工程,下载示例代码包。
在本地解压示例代码包,并进入alibabacloud_sample目录。
运行代码
执行以下命令:
python sample.py
得到如下输出结果:
{
"KeyMetadata": {
"CreationDate": "2022-08-09T02:50:14Z",
"Description": "",
"KeyId": "key-hzz62f1cb66fa42qo****",
"KeySpec": "Aliyun_AES_256",
"KeyState": "Enabled",
"KeyUsage": "ENCRYPT/DECRYPT",
"PrimaryKeyVersion": "key-hzz62f1cb66fa42qo****-nksr4****",
"DeleteDate": "",
"Creator": "119285303511****",
"Arn": "acs:kms:cn-hangzhou:119285303511****:key/key-hzz62f1cb66fa42qo****",
"Origin": "",
"MaterialExpireTime": "",
"ProtectionLevel": "SOFTWARE",
"LastRotationDate": "2023-08-02T08:36:53Z",
"AutomaticRotation": "Disabled",
"KeyStoreId": "kst-hzz62ee817bvyyr5x****",
"DeletionProtection": "Enabled",
"DKMSInstanceId": "kst-hzz62ee817bvyyr5x****"
},
"RequestId": "7b6c6946-97ca-4e03-a312-28f9e8873c21"
}