如何验证亚马逊访问密钥和秘密密钥是否正确?

问题描述 投票:0回答:2

我编写了一个函数,通过创建 ec2 连接对象来验证 AWS 密钥

import boto.ec2
try:
    ec2Conn = boto.ec2.connect_to_region(region, aws_access_key_id=access_key, aws_secret_access_key=secret_key)
    return ec2Conn
except boto.exception.EC2ResponseError as e:
    print e

但即使密钥错误,它仍然会创建 ec2 连接对象。

因此我通过获取区域来验证访问密钥和秘密密钥,

region = ec2Conn.get_all_regions()

除了获取区域之外,还有其他方法或途径来验证访问密钥和秘密密钥吗?

python amazon-web-services boto
2个回答
11
投票

验证 AWS 凭证的唯一方法是实际使用它们来签署请求并查看其是否有效。您是对的,简单地创建连接对象不会告诉您任何信息,因为它不执行请求。因此,您必须选择一些应该始终有效、不会返回大量数据并且不会在服务器端创建任何资源的请求。我认为

get_all_regions()
的请求是一个不错的选择。


0
投票

get_all_regions()
有效,但就像@Paradigm在评论中建议的那样。 GetCallerIdentity 是正确的调用。

参考:

https://docs.aws.amazon.com/STS/latest/APIReference/API_GetCallerIdentity.html https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/STS.html

© www.soinside.com 2019 - 2024. All rights reserved.