AWS:如何检查凭证是否正确?(AWS: How to check that credentials

2019-09-29 07:27发布

下面的函数(在Javascript)应该接受ACCESSKEY和秘密密钥,并检查他们是否是正确的:

function checkKeys(accessKey, secretKey) {
    var cred = new AWS.Credentials(accessKey, secretKey, null);
    cred.get(function(err) {
        if (err) {
            console.log("ERROR!")
        } else {
            console.log("Keys are OK")
        }
    })
}

我期望get()方法的不正确的凭据的情况下返回一个错误。 我不知道为什么,但不要紧,我给什么凭据,我从来没有得到一个错误,并且控制台始终打印“按键都OK”。

Answer 1:

你只是存储凭据在本地对象,然后检索它们。 你需要为了验证凭据是否有效触发实际AWS API调用。



Answer 2:

你不能真正检查凭据“正确的”。 想想用户角色。 用户可以被授权做一个API调用,而不是其他。 你唯一可以做的事情一般是确保ID +键对你是有效的AWS凭据STS.getCallerIdentity()请参阅SDK文档的详细信息)。 请注意,它会返回调用者的详细信息,即使该调用者有任何服务没有访问权限,因此需要将结果与一粒盐。



文章来源: AWS: How to check that credentials are correct?