问题标签 [assume-role]

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.

0 投票
1 回答
621 浏览

amazon-iam - AWSSecretsManager GetSecretValueRequest 在秘密读取期间未使用正确的 IAM 角色

我有 Fargate 的 ECS 服务,它有两个容器

我有 IAM 角色 arn:aws:iam::468589876897:role/app/my-test-app,这个角色被添加到我的 ecs task_role 和 execution_role

我也有一个路径 /myapp/secret/key_1-zbv0eq 的秘密,它具有如下权限

我有下面的代码来阅读我的秘密经理

当我运行此代码时,出现以下错误,

我不确定如何使用此角色arn:aws:sts::468589876897:assumed-role/my-test-app/41810bc3cf2b4c99ad87f641810bc3cf而不是arn:aws:iam::468589876897:role/app/my-test-app

我在 AWS 控制台上仔细检查过,ECS 任务具有 task_iam_role,并且容器定义中的执行角色显示为 arn:aws:iam::468589876897:role/app/my-test-app

可能缺少什么?

0 投票
0 回答
86 浏览

amazon-web-services - aws Iam assumeRole 和 Get Temp 凭证使用 boto3 不会在 get_service_graph 中返回服务

现在我这样做:

我得到的回应是不正确的,它是

看到响应中的Services值是一个空列表[],那就是问题所在。如果我使用帐户永久 access_key_id 和 secret_key_id 而不是 tmp_credentials (id,id,sessionToken) 直接访问 xray,我会在服务列表中获得多个服务。我遵循的参考资料是:

https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/xray.html#XRay.Client.get_service_graph

https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html

此外,还使用 ​​awsXrayFullAccess 策略和多个其他策略在目标 AWS 账户中正确配置了角色。

0 投票
0 回答
173 浏览

amazon-iam - 尝试调用 AssumeRoleWithSAML 时 base64 SAMLResponse 无效

我正在尝试为 Jupyterhub 和 Keycloak 实现 SAML 身份验证。我将 Jupyterhub 配置为使用 SAMLAuthenticator,它工作正常。用户使用 SAMLRequest 重定向到 Keycloak 登录屏幕,进行登录,然后使用 SAMLResponse 重定向回来。

我使用 Keycloak SAML 元数据添加了一个 IAM 身份提供者,还创建了一个信任该身份提供者的角色。

当我使用此工具对其进行测试时,SAMLResponse 看起来还不错。

当我尝试打电话时,assume_role_with_saml我不断收到此错误:

An error occurred (InvalidIdentityToken) when calling the AssumeRoleWithSAML operation: Invalid base64 SAMLResponse (Service: AWSOpenIdDiscoveryService; Status Code: 400; Error Code: AuthSamlInvalidSamlResponseException

SAML 请求:

SAML 响应:

相信:

元数据:

0 投票
1 回答
404 浏览

amazon-web-services - AWS STS 在 docker 容器中承担角色“无法找到凭证”

我正在尝试使用 aws sts 获取 aws 凭据。下面的代码在 Pycharm 中运行良好,但是当我在 docker 容器中运行它时,我得到“无法找到凭据”。

0 投票
1 回答
494 浏览

amazon-web-services - AWS Lambda、STS - 担任 DynamoDB 的角色

我正在使用 AWS Lambda(Python) 和 DynamoDB。我想让我的 DynamoDB 连接采用细粒度访问策略。我按照本文档作为指南

我遇到的问题是假设策略,它使用 STS 并提到 RoleArn

我不明白这RoleArn是从哪里来的。我试过使用 lambda 的角色,但后来我遇到了错误:

我应该寻找什么角色?以及如何让我的 lambda 假设它,因为我不确定您是否可以在它的 JSON 中自我引用策略。

任何帮助是极大的赞赏。

编辑

我确实发现这行得通,但从我的角度来看,AWS 委托人过于宽容。我不确定主要领域会发生什么

0 投票
1 回答
482 浏览

java - 尝试从 AWS Lambda 担任角色时“配置文件不能为空”

如果我的问题是基本的,请原谅我,但我是 AWS 新手。我正在使用 Java 创建一个 lambda 函数,该函数可以从另一个 AWS 账户承担角色。我已经在另一个账户上创建了角色,在这个账户上创建了角色来承担该角色,并将该角色附加到我的 lambda 函数。(我已经使用用 Javascript 编写的 Lambda 函数测试了这些角色,并且它可以正常工作,因此应该正确设置它们)。

在我的 lambda 函数的代码中,我试图承担这个角色,以便我可以从另一个帐户访问一些服务。但是,我得到“配置文件不能为空”,如错误消息中所示,我不确定这意味着什么。

错误信息:

谁能帮我这个?提前致谢!

0 投票
1 回答
209 浏览

amazon-web-services - Can you use AWS MGN (Application Migration) without an explicitly created access key and secret key?

I have a situation where I need to migrate an on-prem environment to AWS. The tool of choice is AWS MGN (Application Migration). I am following AWS's documentation on loading and using the agent on the source application:

https://docs.aws.amazon.com/mgn/latest/ug/windows-agent.html

The documentation clearly states the need for an access key and secret key. Our environment is set up with a root account with limited users and the team accesses the AWS environment in other accounts (e.g. dev/test/prod/etc.) via SSO. The MGN service also creates four roles:

  • AWSApplicationMigrationConversionServerRole
  • AWSApplicationMigrationMGHRole
  • AWSApplicationMigrationReplicationServerRole
  • AWSServiceRoleForApplicationMigrationService

I know you can use 'aws sts assume role' to glean off the keys needed, e.g.:

These roles are create by AWS and I can't edit them to try and give my SSO user access (I can't 'aws sts assume role' these from the CLI), so assuming these roles directly is not possible. I also cannot create a role that uses AWS-managed policies.

I am not really sure if what I want to do is possible, or if there is a simple solution that I'm just not seeing.

EDIT: I was actually successful in creating a test role with the following policies on the account that I wanted to migrate into:

  • AdministratorAccess (AWS managed policy)
  • AWSApplicationMigrationAgentPolicy (AWS managed policy)
  • AWSApplicationMigrationFullAccess (AWS managed policy)
  • AWSApplicationMigrationMGHAccess (AWS managed policy)
  • AWSApplicationMigrationReadOnlyAccess (AWS managed policy)
  • AWSApplicationMigrationEC2Access (AWS managed policy)
  • AWSApplicationMigrationConversionServerPolicy (AWS managed policy)
  • AWSApplicationMigrationReplicationServerPolicy (AWS managed policy)

I then ran assume-role to get the access key and secret key :

I tried to run the agent again as Administrator using those vaules when prompted:

As you can see, it errored out. I put in a ticket to AWS to see if my approach is even currently feasible. When they respond, I will update.

0 投票
0 回答
55 浏览

amazon-web-services - Databricks:无需挂载即可访问 s3 存储桶数据的方法

我是 AWS 的新手。我正在寻找是否有任何方法可以在不安装的情况下从数据块通信或连接到 s3 存储桶。如果它是由 AssumeRole 完成的。它是如何完成的。请张贴你的方式,我在这方面苦苦挣扎。

非常感谢

0 投票
0 回答
32 浏览

amazon-web-services - 使用角色时 AWS cdk 检索帐号

我有以下内容~/.aws/config并尝试运行ENV=dev cdk synth --profile test --all

然后在 CDK 中,我的代码尝试确定配置文件的帐号。读取环境变量CDK_DEFAULT_ACCOUNT。可悲的是,这是回归001xx,而不是200xx

它似乎只检测到 IAM 用户,并没有使用假定的角色进入兔子洞。如何在 CDK 中检索最终角色的目标帐号?

0 投票
0 回答
74 浏览

amazon-web-services - Apache Beam 和会话凭证中的 Sqs.IO

我想使用来自 Apache Beam 管道的短期凭证访问 AWS SQS。

在 AWS IAM 中,我创建了一个具有以下信任关系的角色:

有了这个角色,我就可以从我的本地机器访问 SQS。我使用 AWS BasicSessionCredentials 如下:

我将凭证对象添加到管道选项中:

最后我总是遇到以下错误:

原因:org.apache.beam.sdk.util.UserCodeException:com.amazonaws.services.sqs.model.AmazonSQSException:请求中包含的安全令牌无效。(服务:AmazonSQS;状态代码:403;错误代码:InvalidClientTokenId;请求 ID:501e9869-ea58-5e80-9ec1-c1exxxx;代理:null

我假设 AWSStaticCredentialsProvider 不知道 AWS_SECRET_TOKEN。这就是我设置 STSAssumeRoleSessionCredentialsProvider 的原因,它应该与临时凭证一起使用

这是相关的管道代码

即使我使用了上述在本地也可以使用的提供程序,我也得到了上面显示的 sam 异常。所以,我想知道如何使用临时凭据设置 SqsIO。