Javascript 如何在浏览器中使用AWS SDK模拟单个IAM用户
我想在浏览器中使用AWS SDK for JavaScript创建一个客户端(无服务器)应用程序。该工具的所有预期用户都有单独的IAM用户,并可以访问AWS Web控制台 我希望所有API调用都在单个IAM用户的上下文中执行,因此它们受每个用户的个人权限的约束,这样我就可以看到谁在CloudTrail中做了什么 由于任何一种浏览器本地存储都不应使用持久凭据进行信任,因此我不能简单地让用户输入一次他的秘密访问密钥并保存它 但是,我想我可以在每个会话开始时请求用户的访问密钥id和秘密访问密钥,然后用它调用STSJavascript 如何在浏览器中使用AWS SDK模拟单个IAM用户,javascript,aws-sdk,amazon-iam,Javascript,Aws Sdk,Amazon Iam,我想在浏览器中使用AWS SDK for JavaScript创建一个客户端(无服务器)应用程序。该工具的所有预期用户都有单独的IAM用户,并可以访问AWS Web控制台 我希望所有API调用都在单个IAM用户的上下文中执行,因此它们受每个用户的个人权限的约束,这样我就可以看到谁在CloudTrail中做了什么 由于任何一种浏览器本地存储都不应使用持久凭据进行信任,因此我不能简单地让用户输入一次他的秘密访问密钥并保存它 但是,我想我可以在每个会话开始时请求用户的访问密钥id和秘密访问密钥,然后用
GetSessionToken
,只将生成的临时安全凭据存储在会话存储中,并将其用于所有后续SDK使用
当然,如果用户能够使用IAM用户和密码登录,而不是使用长而神秘的访问密钥(想想移动设备…),那会更好
IAM用户是否有任何类型的联合登录选项(将他们重定向到AWS IAM登录页面),或使用用户名和密码调用STS API的方法?理想情况下,您需要的是通过IAM用户/密码组合进行登录。就我所知,没有标准的方法来做这件事 在其中一个例子中,我使用HTTP客户端模拟了在线登录。如果你能用它来获得会话令牌,那对你来说就行了。但它不支持MFA,并且依赖于AWS身份验证实现的内部,该实现可能会在没有警告的情况下更改