Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在浏览器中使用AWS SDK模拟单个IAM用户_Javascript_Aws Sdk_Amazon Iam - Fatal编程技术网

Javascript 如何在浏览器中使用AWS SDK模拟单个IAM用户

Javascript 如何在浏览器中使用AWS SDK模拟单个IAM用户,javascript,aws-sdk,amazon-iam,Javascript,Aws Sdk,Amazon Iam,我想在浏览器中使用AWS SDK for JavaScript创建一个客户端(无服务器)应用程序。该工具的所有预期用户都有单独的IAM用户,并可以访问AWS Web控制台 我希望所有API调用都在单个IAM用户的上下文中执行,因此它们受每个用户的个人权限的约束,这样我就可以看到谁在CloudTrail中做了什么 由于任何一种浏览器本地存储都不应使用持久凭据进行信任,因此我不能简单地让用户输入一次他的秘密访问密钥并保存它 但是,我想我可以在每个会话开始时请求用户的访问密钥id和秘密访问密钥,然后用

我想在浏览器中使用AWS SDK for JavaScript创建一个客户端(无服务器)应用程序。该工具的所有预期用户都有单独的IAM用户,并可以访问AWS Web控制台

我希望所有API调用都在单个IAM用户的上下文中执行,因此它们受每个用户的个人权限的约束,这样我就可以看到谁在CloudTrail中做了什么

由于任何一种浏览器本地存储都不应使用持久凭据进行信任,因此我不能简单地让用户输入一次他的秘密访问密钥并保存它

但是,我想我可以在每个会话开始时请求用户的访问密钥id和秘密访问密钥,然后用它调用STS
GetSessionToken
,只将生成的临时安全凭据存储在会话存储中,并将其用于所有后续SDK使用

当然,如果用户能够使用IAM用户和密码登录,而不是使用长而神秘的访问密钥(想想移动设备…),那会更好


IAM用户是否有任何类型的联合登录选项(将他们重定向到AWS IAM登录页面),或使用用户名和密码调用STS API的方法?

理想情况下,您需要的是通过IAM用户/密码组合进行登录。就我所知,没有标准的方法来做这件事

在其中一个例子中,我使用HTTP客户端模拟了在线登录。如果你能用它来获得会话令牌,那对你来说就行了。但它不支持MFA,并且依赖于AWS身份验证实现的内部,该实现可能会在没有警告的情况下更改