Amazon web services 如何使用AccountB'从AccountA访问DynamoDB表;用户的CLI凭据?

Amazon web services 如何使用AccountB'从AccountA访问DynamoDB表;用户的CLI凭据?,amazon-web-services,amazon-dynamodb,amazon-iam,Amazon Web Services,Amazon Dynamodb,Amazon Iam,我已在Dynamodb中创建了一个表,并在IAM中创建了一个设置角色,附加了以下策略: { "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "dynamodb:*", "Resource": "arn:aws:dynamodb:ap-south-1:**AccountAID**:table/employee" }] } 我已在角色中添加了受信任

我已在Dynamodb中创建了一个表,并在IAM中创建了一个设置角色,附加了以下策略:

{
  "Version": "2012-10-17",
  "Statement": [{
        "Effect": "Allow",
        "Action": "dynamodb:*",
        "Resource": "arn:aws:dynamodb:ap-south-1:**AccountAID**:table/employee"
  }]
}
我已在角色中添加了受信任的实体AccountB ID。然后,我还在AccountB中创建了访问AccountA中创建的dynamodb表的策略,策略如下:

{
    "Version": "2012-10-17",
    "Statement": [{
            "Effect": "Allow",
            "Action": "*",
            "Resource": "arn:aws:iam::**AccountAID**:role/DynamodbCrossAccountAccessRole"
    }]
}
我已经配置了AccountA用户和AccountB用户的配置文件,使用AccountA的配置文件用户的凭据,我可以列出dynamodb的表,但在尝试使用AccountB的配置文件用户获取时,我总是返回空表列表

Krunal MacBook Air:.aws Krunal$aws dynamodb列表表--配置文件Krunal
{
“表格名称”:[
“雇员”
]
}
Krunal MacBook Air:.aws Krunal$aws dynamodb列表表--配置文件Krunal2
{
“表名”:[]
}

有人能帮我解决这个问题吗?为什么我不能用AccountB的个人资料访问dynamodb? 策略分别附加到帐户用户。

基于评论

通过担任AccountB的角色,问题得以解决。显示如何执行此操作的有用链接包括:


根据评论和提供的文档,我可以访问AccountB的资源。我已在我的配置文件的凭据文件中配置生成的API密钥、密钥和令牌,并且它正在按预期工作。

在帐户A中,您需要具有可由实体(用户或角色)承担的
角色在帐户B中。可假设角色允许访问帐户A中的表。从您的描述来看,您在帐户A中似乎没有可假设角色,并且您实际上在帐户B中承担了角色。谢谢@Marcin我可以看到,在我的帐户A `{“版本”:“2012-10-17”,“声明”:[{“效果”:“允许”,“主体”:{“AWS”:“arn:AWS:iam::AccountBID:root”},“操作”:“sts:AssumeRole”,“条件”:{}]}“是的,所以信任政策似乎还可以。现在在AccountB中,你必须使用STS
AssumeRole
从AccountA中实际承担角色,才能使用DdB。谢谢@Marcin我经历了这一点,做了这一点,谢谢你much@Marcin是的,它按预期工作,这对我配置AssumeRole凭据以访问AccountA的资源有很大帮助再次感谢你