用于httpie的aws auth v4插件。
httpie-aws-authv4的Python项目详细描述
httpie-aws-authv4
用于HTTPie的aws/amazon signature v4签名过程身份验证插件。
安装
$ pip install --upgrade httpie-aws-authv4
现在您应该在$ http --help
输出中的--auth-type / -A
下看到aws4
。
用法
默认配置文件/环境变量/实例配置文件中的凭据
此身份验证插件在相同的precedence that the AWS CLI tool中查找凭据。
$ http --auth-type aws4 https://asdf123a9sas.execute-api.ap-southeast-2.amazonaws.com/dev/test
在cli上指定凭据
$ http --auth-type aws4 --auth ACCESSKEYXXX:AWSSECRETKEYXXX https://asdf123a9sas.execute-api.ap-southeast-2.amazonaws.com/dev/test
在cli上指定凭据配置文件
通过提供关键字profile
而不是访问密钥,可以指定默认配置文件以外的另一个配置文件。
$ http --auth-type aws4 --auth profile:XXX https://asdf123a9sas.execute-api.ap-southeast-2.amazonaws.com/dev/test
指定端点
如果由于某种原因您没有直接访问aws端点(与api网关相同),则需要在cli上指定aws提供的端点。这用于确定签名过程所需的服务和区域值。
$ http --auth-type aws4 --auth asdf123a9sas.execute-api.ap-southeast-2.amazonaws.com https://api.awesomeservice.net/dev/test
指定凭据和端点
$ http --auth-type aws4 --auth ACCESSKEYXXX:AWSSECRETKEYXXX:asdf123a9sas.execute-api.ap-southeast-2.amazonaws.com https://api.awesomeservice.net/dev/test
指定凭据配置文件和端点
$ http --auth-type aws4 --auth profile:XXX:asdf123a9sas.execute-api.ap-southeast-2.amazonaws.com https://api.awesomeservice.net/dev/test
调用需要额外信息的aws服务
许多aws服务不需要传递除url以外的任何额外信息,例如对 将列出给定aws帐户中所有s3存储桶的s3服务:
http -A aws4 s3.us-east-1.amazonaws.com
但是,一些aws服务需要使用查询字符串参数传递额外的信息。默认情况下,httpie
通过
作为json主体的额外参数。httpie
可以告诉您使用-f
标志(如so:
$ http -f -A aws4 ec2.us-east-1.amazonaws.com Action=DescribeVpcs Version=2015-10-01
其中,action和version参数被传递给ec2服务以调用describevpcsapi。
或者,不使用-f
标志,==
可以用于每个参数,如so:
$ http -A aws4 ec2.us-east-1.amazonaws.com Action==DescribeVpcs Version==2015-10-01
学分
所有繁重的工作(签名过程)都由aws-requests-auth处理