如何在阿里云ECS上使用API​​签名保护CloudMonitor API调用的安全

时间:2018-11-07 15:56:21

标签: alibaba-cloud-ecs

阿里云ECS中的CloudMonitor API属于RPC类型,通过发送HTTP请求可以称为CloudMonitor API。

我正在调用 QueryMetricList 以使用此命令查询ECS实例的监视数据。

http://metrics.cn-hangzhou.aliyuncs.com/?Action=QueryMetricList
&EndTime=2017-05-17+11%3A30%3A27
&StartTime=2017-05-17+11%3A20%3A27
&Period=60
&Dimensions=%7B%22instanceId%22%3A%22i-abcdefgh123456%22%7D
&Timestamp=2017-03-22T09%3A30%3A57Z
&Project=acs_ecs_dashboard
&Metric=cpu_idle

如何通过API签名对每个API请求进行身份验证。

我对此表示感谢。

1 个答案:

答案 0 :(得分:0)

要通过API签名验证API请求,您需要访问ID 访问密钥机密

让我将访问ID 访问密钥秘密分别视为密钥

添加签名之前的请求:

http://metrics.cn-hangzhou.aliyuncs.com/?Action=QueryMetricList
&EndTime=2017-05-17+11%3A30%3A27
&StartTime=2017-05-17+11%3A20%3A27
&Period=60
&Dimensions=%7B%22instanceId%22%3A%22i-abcdefgh123456%22%7D
&Timestamp=2017-03-22T09%3A30%3A57Z
&Project=acs_ecs_dashboard
&AccessKeyId=Key
&SignatureMethod=HMAC-SHA1
&Metric=cpu_idle

AccessKey机密为value,用于HMAC计算的密钥为value&。然后计算出签名值。

将签名值添加到上述API请求中。

例如,让我考虑signature = "sdsdfasdfa",那么请求将是:

http://metrics.cn-hangzhou.aliyuncs.com/?Action=QueryMetricList
&EndTime=2017-05-17+11%3A30%3A27
&StartTime=2017-05-17+11%3A20%3A27
&Period=60
&Dimensions=%7B%22instanceId%22%3A%22i-abcdefgh123456%22%7D
&Timestamp=2017-03-22T09%3A30%3A57Z
&Project=acs_ecs_dashboard
&AccessKeyId=Key
&SignatureMethod=HMAC-SHA1
&Signature="sdsdfasdfa"
&Metric=cpu_idle