java - 使用假设角色同时访问属于不同帐户的两个 dynamodb 表不起作用

标签 java amazon-web-services amazon-dynamodb amazon-iam

我有一个在 ECS 中运行的 Java 应用程序,我想从帐户 1 中的表(source_table)读取数据并将其写入帐户 2 中的表(destination_table)。我创建了两个具有不同凭证提供程序的 dynamodb 客户端 - 对于 source_table 客户端,我使用带有帐户 1 中角色的 arn 的 STSAssumeRoleSessionCredentialsProvider ;对于目标客户端,我使用 DefaultAWSCredentialsProviderChain

假设角色位有效,我可以使用源客户端进行读取,但使用目标客户端不起作用 - 当尝试写入目标表时,它仍然尝试使用假设的角色凭据,并因未经授权的错误而失败(假设-角色无权执行Put Item)。

我尝试在目标客户端上使用EC2ContainerCredentialsProviderWrapper,但出现同样的错误。

这应该有效吗?或者凭证是否在幕后共享,导致不可能像这样同时运行两个不同的 AWSCredentialProvider

我注意到this答案使用静态凭据并且显然有效,所以我不知道为什么这不起作用。

最佳答案

我在 AWS 支持人员的帮助下解决了这个问题。这是我在帐户 2 中的角色上的 IAM 配置出现的问题。我被错误消息误导了,该错误消息显示“假设的角色无权执行 Put Item”,而实际上我的原始帐户 2 角色本身无法执行此操作.

关于java - 使用假设角色同时访问属于不同帐户的两个 dynamodb 表不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56608819/

相关文章:

java - 通过 jni 将相同的 Android surfaceview 传递给 C++ 代码会导致不同的值

python - 通过Python确定JDK安装目录

amazon-web-services - 有没有办法将cloudformation模板模块化?

amazon-web-services - 如何使用 Amazon SNS 发送 HTML 邮件?

amazon-web-services - 我的主页不会通过 HTTPS 端口

amazon-web-services - 关于使用 Dynamodb 降低成本的建议

java - Maven - 无法解决 google-vision beta 和 aws-sdk 子组件之间的依赖冲突

ruby - 使用 ItemsCollection#query 进行分页?

java - 如何防止 ctrl+c 杀死 Java 中生成的进程

java - 图像过度缩放