当前位置: 首页 > 知识库问答 >
问题:

python boto3错误:未授权对资源执行假定角色

邹阳
2023-03-14

我正在尝试将文件从一个账户(源账户)中的 S3 存储桶移动到另一个账户(目标账户)中的 S3 存储桶,我正在使用 sagemaker 笔记本,因此我有一个 sagemaker 角色。我在我的团队帐户中也有一个角色,它具有完全的s3访问权限和完全的管理员访问权限,并且在信任关系中,我为目标帐户角色arn和sagemaker角色arn提供了一个角色。目标帐户在其信任策略中还具有我的团队角色 arn 和贤者角色 arn。

我正在尝试承担我的团队角色,然后我将承担复制文件的目标角色。

    import boto3
    sts_client = boto3.client('sts')
assumed_teamrole_object = sts_client.assume_role(DurationSeconds=1800,
                                                 RoleArn='myteamrole',
                                                 RoleSessionName='test1')
    assumed_destrole_object = sts_client.assume_role(DurationSeconds=1800,
                                                 ExternalId='externalid provided by destination account',
                                                 RoleArn='destination account role',
                                                 RoleSessionName='test2')

前三行执行得很好。当我试图承担目标角色时,我得到了错误

调用AssumeRole操作时发生错误(AccessDened):User: arn: aws: sts::角色/Amazon SageMaker-ExecutionRole-/SageMaker未被授权执行:sts: AssumeRole on Resource: arn: aws: iam::destination角色

我是否缺少了什么,我做错了什么。请帮帮我。我没有任何用户,只有角色。

谢谢!

共有1个答案

慕鹏
2023-03-14

错误消息指示您缺少 sts:假设角色权限。您的评论表明情况确实如此,因为您目前只有 S3 权限。

要纠正这一点,您可以将内联策略添加到Amazon SageMaker-ExecutionRole角色,形式为:

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

您可以进一步将< code >资源限制为仅< code > arn:AWS:iam::destination role 。但是对于测试,您可以尝试使用< code>*作为< code >资源。

 类似资料:
  • 我有一个 AWS 账户,在该账户中,我代入一个名为 A() 的角色,我从该角色通过 Web 控制台创建了另一个名为 B() 的角色,并将管理员策略附加到该角色 这是cli配置 我从 创建 当我试图得到角色细节时 我收到以下错误 调用假设角色操作时发生错误 (访问消除): 用户: arn:aws:iam::

  • 我找不到问题,因为私有API网关的资源策略如下所示: 我错过了什么?

  • 问题内容: 我从Nexus存储库中检出了代码。我更改了帐户密码,并在文件中正确设置了密码。在执行时,我收到错误消息,说明它尝试从该存储库下载文件。 任何想法如何解决此错误?我在Maven 3.04中使用Windows 7 问题答案: 这里的问题是所使用的密码出现错字错误,由于密码中使用了字符/字母,因此很难识别。

  • 我花了一些时间试图找出什么是错误的,但由于我无法找到,我决定在这里问。 我正在运行MongoDB(Windows 64位2008 R2)3.2版。3在Windows 8上,路径为: C:\MongoDB\bin用于安装 数据文件夹的C:\data\db 我已经从官方文档中安装了以下视频和教程。 第一个问题可能是客户端(mongo.exe)和服务器(mongod.exe)之间的连接,因为我不知道这是

  • 我试图通过Java Apachebeam MongoDbIO连接器连接到MongoDB,得到一个“未授权”错误。 同样的连接细节也适用于Python并能够检索数据。 “org.apache.beam.sdk.io.mongodbo.mongodbio$boundedmongodbsource.$closeresource(Mongodbio.java:407)位于org.apache.beam.s

  • 我在使用PHP api实际版本的示例时遇到了一个问题,并且使用了examples文件夹的“service-account.PHP”文件。 null null 以下是错误堆栈: null null