如何在浏览器中使用AWS SDK模拟IAM用户
How to impersonate individual IAM users with AWS SDK in the Browser
我想在浏览器中使用AWS SDK for JavaScript创建一个客户端(无服务器)应用程序。该工具的所有预期用户都有独立的IAM用户,并可以访问AWS Web控制台。
我希望所有API调用都在各个IAM用户的上下文中执行,因此它们受每个用户的单独权限的约束,这样我就可以看到谁在CloudTrail中做了什么。
由于任何类型的浏览器本地存储都不应该被持久凭据信任,我不能简单地让用户输入一次他的秘密访问密钥并保存它
然而,我想我可以在每个会话开始时请求用户的访问密钥id和秘密访问密钥,然后用它调用STS GetSessionToken
,并且只将生成的临时安全凭据存储在会话存储中,并将其用于以下所有SDK使用。
当然,对于用户来说,使用IAM用户和密码登录会更好,而不是使用长而神秘的访问密钥(想想移动设备…)。
IAM用户是否有任何联合登录选项(将他们重定向到AWS IAM登录页面),或使用用户名和密码调用STS API的方法?
理想情况下,您想要的是通过IAM用户/密码组合登录。据我所知(也看到这一点),没有标准的方法来做到这一点。
在我的一个项目中,我使用HTTP客户端模拟了在线登录。如果你能用它获得会话令牌,那对你来说就行了。但它不支持MFA,并且依赖于AWS身份验证实现的内部,该实现可能会在没有警告的情况下发生变化。
相关文章:
- 使用NextToken使用javascript aws-sdk解析下一个结果
- 如何在aws S3 javascript SDK中配置interval和max_attempts
- Installing JavaScript AWS SDK for NativeScript
- 只需要浏览器中aws-sdk中的SQS
- Cognito DynamoDB aws sdk in mobile app
- 如何在浏览器中使用AWS SDK模拟IAM用户
- 如何安全地使用aws-sdk-javascript
- 从服务器向AWS JS SDK发送签名,而不是使用纯文本密钥
- 使用AWS SDK for JavaScript访问AWS S3
- '访问被拒绝'当通过Node SDK在AWS上复制文件时
- JavaScript aws-sdk S3 deleteObject(s) 成功,但实际上并没有删除任何内容
- 无法在Chrome应用程序中加载AWS SDK
- 与网络工作者一起使用AWS SDK
- 使用nodejs-AWS-sdk将生成的pdf上传到AWS S3
- AWS JS SDK, IAM and DynamoDB Issue
- 使用AWS SDK for Node.js将项目放在DynamoDB表上
- 使用浏览器JavaScript SDK检查AWS S3上是否存在文件
- 如何在没有AWS JavaScript SDK的情况下将文件上传到S3
- 是否有可能确定我的应用程序的aws实例使用js/node aws-sdk
- 如何为TypeScript使用AWS sdk定义?