问题标签 [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.
amazon-web-services - STS API 返回的 AWS_SESSION_TOKEN 的功能是什么?
aws sts assume-role
返回三个字段作为颁发的临时安全凭证。
- AWS_ACCESS_KEY_ID
- AWS_SECRET_ACCESS_KEY
- AWS_SESSION_TOKEN
前两个与用户的Access Key格式相同,但第三个字段AWS_SESSION_TOKEN是临时凭证的特殊字段。
我有两个问题:
- 如果AWS_SESSION_TOKEN是为了表示/编码临时有效性,为什么我们仍然需要前两个字段(因为到期后,我们仍然需要获取另一个AWS_SESSION_TOKEN)?
- 如果我的客户两次调用 STS API,在从 返回的两个响应之间
aws sts assume-role
,AWS_ACCESS_KEY_ID 会/可能相同吗?
amazon-web-services - SAML Assumed-Role 用户无权执行操作
我使用 OKTA 作为我们的身份提供者,它允许我指定用户在登录控制台时可以担任哪些角色。
目标:拥有一个允许用户登录控制台并仅管理其访问密钥(列表、创建、更新、删除)的角色。
此策略应允许当前用户管理他们自己的密钥,但在尝试执行除列出访问密钥之外的任何操作时出现此错误
User: arn:aws:sts::[ACCOUNT-NUMBER]:assumed-role/AccessKeyManagement/[Logged In Username] is not authorized to perform: iam:CreateAccessKey on resource: user [Logged In Username]
授予如果我将资源更改为"*"
它将起作用,但用户可以更改其他帐户访问密钥。
角色信任关系(以防万一)
我不知道我需要做什么来允许当前用户权限的“假定角色”修改访问密钥。
amazon-web-services - Azure AD API 用于基于命令行的 SAML2 SSO(用于 AWS 联合登录)
我正在尝试编写一个命令行程序(Go 中的 CLI),它的工作方式应该与此类似:
- 用户将她的 Azure AD 用户名/密码凭据提交到 CLI。
- CLI 使用凭据对 Azure 进行身份验证,Azure 会为最终用户(例如 MFA)返回一个令牌或另一个质询。
- 如果返回另一个质询,CLI 将等待来自用户的输入(例如,MFA 代码)并将输入提交给 Azure AD MFA 输入。如果成功,Azure AD 会返回一个令牌。
- CLI 将返回的令牌和 SAML2 请求提交到 Azure AD SAML 端点,并从 Azure AD 返回 SAML2 响应。
- 然后,CLI 将 SAML2 响应提交到 AWS SAML 终端节点并取回 AWS IAM 临时凭证。
谢谢,
约西 C.
amazon-web-services - AWS:Amazon Cognito 与 STS 和 SAML
在有关 Cognito 的官方 AWS文档中,在一个用例的大纲中指出:
1.在第一步中,您的应用用户通过用户池登录并在成功验证后接收用户池令牌。
2.接下来,您的应用程序通过身份池将用户池令牌交换为 AWS 凭证。
3.最后,您的应用程序用户可以使用这些 AWS 凭证访问其他 AWS 服务,例如 Amazon S3 或 DynamoDB。
通过令牌分配“AWS 凭证”的目标不是通过STS实现吗?
Cognito 和 STS 在授予非 AWS 用户访问 AWS 服务(例如 S3 或 EC2)的范围方面究竟有什么区别?
相同的文档来源还指出,Cognito 也适用于 AWS 和第三方身份提供商(例如社交 - 例如 Facebook - 或 AD 公司)之间的身份联合。
这不也是通过 SAML 联合实现的(即让 AWS 和 IdP 首先建立基于 SAML 的信任关系吗?)
amazon-web-services - AWS CLI 身份验证方法、AWS 密钥或 AssumeRoleWithSAML?
目前,我们计划将 AWS CLI 用于各种用例。作为 I&AM 架构师,我想使用我们现有的 Active Directory 凭证,而不是创建新的 IAM 用户和密钥。
我们也有 ADFS,并且基于针对 AWS CLI 的 ADFS 集成给出的示例,我能够创建 PowerShell、Python 和 Java 示例脚本来使用 AD 凭证并使用 AWS STS 创建临时凭证。它工作正常。但是,要让我们的开发团队了解使用基于 SAML 的身份验证而不是 AWS CLI 中的永久密钥的好处,我面临着挑战。
各位架构师和开发人员,我想听听您是如何在您的组织中实施 AWS CLI 身份验证的。
amazon-web-services - 如何从詹金斯管道设置全局环境变量
我想问一下是否有一种快捷方式来设置由aws sts assume-role
一个詹金斯管道生成的全局环境变量。我的目标是让这些生成的值(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN)
可重用于一个詹金斯管道上的 3 个阶段步骤。目前我在我的舞台上有这个设置,虽然我觉得它太乱了,我想知道你是否可以建议我一个更好的方法来设置全局变量。我当前的管道如下所示:
}
我真的很想在每个阶段放置这个以使格式更干净
amazon-web-services - How to get AWS STS using Federated User?
I'm trying to get temporary STS credentials through a federated user via a corporate account. Corporate policy doesn't allow the use of IAM users and authentication is done through AD.
Using the AWS Cli, I am trying this, but receive an error
AWS Config:
Stacktrace:
An error occurred (InvalidClientTokenId) when calling the AssumeRole operation: The security token included in the request is invalid. 2019-01-29 09:15:54,986 - MainThread - awscli.clidriver - DEBUG - Exiting with rc 255
An error occurred (InvalidClientTokenId) when calling the AssumeRole operation: The security token included in the request is invalid.}
python - AWS 自定义联合代理:调用联合端点错误 400 python
我正在尝试创建一个 URL,使联合用户能够按照 [官方文档][1] 访问 AWS 管理控制台。我将 Cognito 与 [enhanced authflow][2] 一起使用,以便使用用户名和密码对用户进行身份验证。这是代码:
对于下一步(承担角色并调用联合端点),我没有使用上面链接的官方文档中的示例,因为它使用的是 boto 而不是 boto3。这是代码:
结果是
我错了什么?
[编辑] session_string 中没有错误(sessioId 而不是 sessionId)
现在响应是 400 BAD REQUEST
python - Bash 与 Python 中视觉上相似字符串的 SHA256 不同
我正在尝试根据https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-header-based-auth.html中STS
GetCallerIdentity
的文档构建一个 AWS Signature v4 Auth 标头来调用 API重击。
现在,我在 Python 中使用了相同的过程,在仔细研究了我在 Python 和 Bash 中的脚本和输出之后,我发现在 Bash 中为字符串计算的 SHA256 与在 Python 中计算的不同。
字符串在我的文本编辑器中看起来是一样的——一个字符一个字符。
但由于 SHA256 不同,我假设这很大程度上是字符串编码的问题。
Python 脚本使用 UTF8,即使我尝试printf "%s" "${string}" | iconv -t utf-8 | openssl dgst -sha256
在 Bash 脚本中执行,哈希值仍然不同。
如何在计算 SHA256 总和之前将 bash 字符串/变量转换为 UTF8。
swift - AWS cognito 快速将令牌交换为凭证
我尝试通过此 aws Doc https://docs.aws.amazon.com/en_us/cognito/latest/developerguide/amazon-cognito-integrating-user-pools-with-登录后使用身份池访问 aws 服务 身份池.html
但是在将用户池与身份池部分集成时,我无法在 swift 代码中添加令牌
在 javascript 和 android 中都有 credentialsProvider.logins 。
我收到这样的消息:
或者我需要通过这个文档调用 aws sts api? https://docs.aws.amazon.com/en_us/IAM/latest/UserGuide/id_credentials_temp_request.html
感谢帮助。