如何链接AWS IAM AssumeRole API调用?

有一些我不能控制的AWS账户。 我已经让帐户所有者将IAMangular色TrustingSecurityAuditor部署到他们的帐户中,这些帐户授予在我的AWS帐户TrustedSecurityAuditor中将TrustingSecurityAuditorangular色承担到不同IAMangular色的权利。 ( 关于委托访问的文档 )

这很好,并允许我和我的安全团队为公司的其他帐户持有人提供安全审计服务。 为此,我们创build一个具有TrustedSecurityAuditor IAMangular色的ec2实例,我们的代码通过对每个帐户的AssumeRoleangular色执行AssumeRole来从每个使用STS的帐户请求临时凭证。

现在,我想创build一个额外的服务,运行在我帐户中的另一个ec2实例上,不仅可以承担这些“信任”帐户的angular色,还可以在我的帐户中执行其他操作,例如访问我的帐户的DynamoDB以存储信息。

如果我将TrustedSecurityAuditorangular色应用于实例,则我不具有所需的本地权限(如DynamoDB访问)。

我不能将多个IAMangular色应用到实例(除非我错了)。

当我试图创build一个新的angular色, MyNewService与DynamoDB访问,可以AssumeRoleTrustedSecurityAuditorangular色,希望然后使用这些STS凭据做外部帐户中的AssumeRoleangular色的第二个AssumeRole我遇到此问题:

我能够从MyNewServiceangular色的AssumeRoleTrustedSecurityAuditorangular色,但是当我执行AssumeRoleangular色的第二个AssumeRole ,AWS返回错误

User: arn:aws:sts::123456789012:assumed-role/TrustedSecurityAuditor/MyNewService is not authorized to perform: sts:AssumeRole on resource: arn:aws:iam::123456789012:role/TrustingSecurityAuditor

这是因为尝试AssumeRole的“用户”是

arn:aws:sts::123456789012:assumed-role/TrustedSecurityAuditor/MyNewService

arn:aws:sts::123456789012:assumed-role/TrustedSecurityAuditor

这意味着你不能链接你的AssumeRole因为一个调用来自的ARN,当它来自一个假定的angular色不是假定的angular色,而是假设的angular色名称angular色名称卡住的结尾。

我不愿意使用的一个解决scheme是我可以添加我需要的权限,例如将DynamoDB用于TrustedSecurityAuditorangular色的function。 我不愿意的原因是我只需要MyNewService实例上的这个权限,而不是我的原始实例,它只进行安全审计,不需要访问DynamoDB。

任何build议如何完成我在找什么?