我需要什么角色/权限才能使用 boto3 和 python 承担儿童帐户的角色?



因此,正如标题中所述,我需要使用 boto3 和 python 承担我的一个子帐户的角色。我正在从主账户发出请求,并且与IAM用户一起,因为我读到根账户无法承担角色,只能担任用户。因此,用户已创建,具有管理员权限,我还创建了一个自定义策略,这是JSON:

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "sts:*",
"Resource": "*"
}
]
}

但我不断得到:

botocore.exceptions.ClientError: 调用 AssumeRole 操作时发生错误 (AccessDenied): 访问被拒绝

顺便说一句,这是我的代码:

sts = boto3.client('sts')
response = sts.assume_role(
RoleArn='arn:aws:organizations::123456789:account/Master',
RoleSessionName='currentSession'
)

是的,我在本地设置了凭据和配置。

在"儿童"帐户中,您将需要:

  • 您希望代入的IAM 角色
  • 角色上的信任关系,允许其他账户使用它
  • 授予对您希望角色使用的资源的访问权限的策略

在"家长"帐号中,您将需要:

至少
  • 对子账户中的 IAM 角色具有sts:AssumeRole权限的 IAM 用户

顺便说一下,"子"或"主"帐户的概念是不必要的。这只是一个帐户调用另一个帐户中的角色AssumeRole

根据您收到的错误消息,您用于调用AssumeRole的 IAM 用户没有必要的权限。因此,程序使用的 IAM 用户没有您显示的策略,或者它尝试在其他账户中代入的 IAM 角色没有允许来自"子"账户的请求的信任关系。

请参阅:创建角色以向 IAM 用户委派权限 - AWS 身份和访问管理

相关内容

  • 没有找到相关文章

最新更新