问题标签 [aws-sts]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
aws-java-sdk - 从 AWS Security Token Service 获取的令牌显式过期
我可以使用 AWS Java 开发工具包显式过期从 AWS STS 服务获取的会话令牌吗?
amazon-web-services - 在 AWS S3 中上传文件时指定最大文件大小
我正在通过 AWS Security Token Service (AWS STS) 创建临时凭证。并使用这些凭据将文件从 S3 JAVA SDK 上传到 S3。我需要一些方法来限制文件上传的大小。我试图在创建用户时添加策略(s3:content-length-range),但这似乎不起作用。有没有其他方法可以指定用户可以上传的最大文件大小?
java - 使用 AWS 短期凭证 (AWS STS) 将文件上传到 S3 时设置 ACL
我正在使用 AWS STS 联合令牌来获取临时凭证,并带有以下语句。
现在我可以获得临时凭据,但是当我使用以下方式上传文件时PutObjectRequest
:
但这是默认的PRIVATE ACL。问题是如何设置PUBLIC ACL?
因为当我使用下面的代码时,
上传失败。
如果在上述获取联合令牌的语句中,我添加如下 ACL
上传仍然失败。
那么在使用短期凭证时如何设置公共 ACL?
我已将以下策略提供给将生成 STS 的 IAM 用户。
amazon-web-services - 使用 AWS STS 时会向哪个 AWS 账户收费?
我希望使用 AWS STS 从另一个团队拥有的另一个 AWS 账户访问资源。
例如,AWS 账户 A 试图访问 AWS 账户 B。
但是,在阅读了大量 AWS 文档后,我无法确定哪个账户会为跨账户 API 调用计费?
javascript - 获取临时 AWS 凭证的推荐方法?AWS.config 还是 STS?
我正在使用需要临时 AWS 凭证才能访问 AWS 服务的第三方开发工具包。我将此 SDK 用作在 EC2 上运行的应用程序的一部分。我的应用程序中的所有 SDK 都需要访问同一个角色,该角色附加到我的 EC2 实例。下面,我列出了我找到的两个用于获取临时凭证的选项。这些选项中的哪一个是为我的第三方 SDK 获取临时凭证的推荐方式?
AWS.config
安全令牌服务 (STS)
java - Lambda 超时中的 AWS Java 开发工具包 STS
我想通过 Lambda 中的 AWS Security Token Service 获取临时凭证,但它总是超时AWSSecurityTokenServiceClientBuilder.standard().build()
。
有人帮助我吗?
源代码:
错误信息:
amazon-web-services - 从 Windows 应用程序调用 AWS KMS 服务有什么想法吗?
我正在开发一个 Windows 应用程序,对于使用 AWS KMS 服务的加密,我能够加密数据,但在这里我传递了 AccessKey 和 SecretKeyId。有什么方法可以消除代码中键的硬编码。我尝试过使用 STS:AssumeRole,但为此我们也需要密钥。
amazon-web-services - Cognito 用户无法 sts:AssumeRoleWithWebIdentity
我有一个简单的用例来使用 AWS Cognito 对用户进行身份验证,并假设一个角色能够做一些有用的事情(在我的例子中从 S3 读取)。显然我错过了一些非常明显的东西。
我正在使用带有 cognito 身份验证的纯 Web http 客户端(因此 Cognito 可以联合其他身份提供者)并且后端仅接收 id_token。
我可以使用 获取会话凭据getCredentialsForIdentity
,显然此凭据已从 Cognito 身份池定义的角色分配了权限(在我的情况下为 Cognito_demoidpoolAuth_Role)
我的想法是创建联合网络身份可以承担的另一个角色。
所以我为 Web Identity 创建了一个新角色,访问数据的角色具有以下策略的信任关系:
以下代码应承担从存储桶中读取所需的角色
在引擎盖下这个对象调用assumeRoleWithWebIdentity,我得到以下异常:
使用 id_token 直接调用 STS assumeRoleWithWebIdentity 以相同的结果结束,因此显然我设置了错误的策略或试图以错误的方式做事。
amazon-web-services - AWS 临时安全凭证中的会话令牌有多机密?
我想使用临时安全凭证生成预签名的 S3 URL(我的程序在 EC2 主机上运行,该主机具有附加了我想要的策略的 IAM 角色)。
我在文档上看到了如何创建签名请求,我应该提供会话令牌作为预签名 URL 的一部分。这样暴露给公众安全吗?
关于如何使用临时凭证的文档说“AWS 使用会话令牌来验证临时安全凭证”,但是有人可以使用临时安全凭证中的访问密钥和会话令牌(两者都在预签名中可见URL) 做任何恶意的事情?
简而言之,我的问题是:AWS 临时安全凭证中的会话令牌有多机密?自己暴露有危险吗?如果我用相关的访问密钥显示它怎么办?
提前致谢!我一直对此摸不着头脑,因为 STS 文档并不清楚这个会话令牌的秘密程度,而且我绝对希望在安全方面做正确的事情。
amazon-web-services - 使用从 AssumeRoleWithSAML 接收的现有令牌刷新 AWS STS 令牌
我有一个用例,我需要为每个经过身份验证的用户提供临时 AWS STS 令牌(使用公司 IDP 进行身份验证)。这些令牌将用于在 AWS S3 中推送一些数据。通过在 IDP 响应中使用 SAML 断言并与 AWS 作为 SP(IDP 发起的登录)集成,我能够获得此流程,类似于此处显示的。
但由于 STS 允许令牌有效期最长为 1 小时,我想在到期前刷新这些令牌,这样我就不必提示用户再次提供凭据(糟糕的用户体验)。此外,由于这些是公司登录凭据,我无法将它们存储在应用程序中。
我正在查看 AWS IAM 信任策略,一种方法是将“AssumeRole”条目添加到现有 SAML 信任策略中,如下所示(策略中的第二个条目)
因此,当 testuser 第一次使用 AssumeRoleWithSAML API/CLI 登录时,他将获得临时凭证。接下来,他可以将“AssumeRole”API/CLI 与这些凭据一起使用,这样他就可以在不需要 IDP 凭据的情况下继续刷新令牌。
可以看出,这仅适用于 ARN 为“arn:aws:sts::xxxxxxxxxxxx:assumed-role/testapp/testuser”的 STS 用户,用于刷新令牌,因为他/她可以担任该角色。但我需要一种通用方式,对于任何登录用户,他都可以生成 STS 令牌。
一种方法是在委托人的信任策略中使用通配符,但看起来它不受支持。因此,每次令牌过期时,我都会坚持使用凭据。有没有办法解决这个问题?
谢谢,罗汉。