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

AWS cli:未授权执行:sts:资源上的AssumeRole

柯天宇
2023-03-14

我有一个 AWS 账户,在该账户中,我代入一个名为 A(角色-A) 的角色,我从该角色通过 Web 控制台创建了另一个名为 B(role-B) 的角色,并将管理员策略附加到该角色

这是cli配置

[default]
aws_access_key_id = <>
aws_secret_access_key = <>
region = eu-central-1

[role-B]
role_arn = arn:aws:iam::<id>:role/ics-role
mfa_serial = arn:aws:iam::<id>:mfa/<name>
external_id = <name>
source_profile = default

我从角色 A 创建的角色 B

当我试图得到角色细节时

aws --profile role-B sts get-caller-identity

我收到以下错误

调用假设角色操作时发生错误 (访问消除): 用户: arn:aws:iam::

共有2个答案

胡修伟
2023-03-14

我的问题是我在策略json中设置了一个条件。

{
    "Version": "2012-10-17",
    "Statement": [{
        "Effect": "Allow",
        "Principal": {
            "AWS": "arn:aws:iam::000000000:dave"
        },
        "Action": "sts:AssumeRole",
        "Condition": {
           // Condition set here
        }
    }]
}

我删除了条件,它现在没有问题。

{
    "Version": "2012-10-17",
    "Statement": [{
        "Effect": "Allow",
        "Principal": {
            "AWS": "arn:aws:iam::000000000:dave"
        },
        "Action": "sts:AssumeRole"
    }]
}
苏翰学
2023-03-14

您需要检查iam角色的信任关系策略文档,以确认您的用户在其中。

此外,确保iam用户具有允许他们承担该角色的显式权限。

信任关系应该如下所示:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": [
          "arn:aws:iam::1234567890:user/person"
        ]
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
 类似资料:
  • 我在帐户a中有一个lambda函数,试图从帐户B访问资源。创建了一个新的lambda角色,该角色具有基本执行功能,可以将日志上载到cloud watch。 以下是我在Python 3.7中的函数代码: 还修改了账户B中假定角色的信托政策,如文件中所述:https://aws.amazon.com/premiumsupport/knowledge-center/lambda-function-ass

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

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

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

  • 问题内容: 我仅在使用PHP api实际版本的示例并使用examples文件夹的“ service-account.php”文件时遇到问题。 原来是用于显示“ Books API”的,并且通过我的个人凭据配置可以很好地工作,但是在我的xcase中,我需要通过directory.groups.get服务进行访问,以获取Google网上论坛邮件列表的会员帐户列表,所以我在其中更改了原始代码: 无论我做

  • 所以我试图初始化一个现有的“反应”放大项目,其中配置了大约8个服务。当我运行放大推送时,除了以下内容,一切似乎都很好,也很成功,我得到了这个错误: 以下是给定地址的cloudwatch日志: 我试图创建角色“snsb927798344500 staging”并添加所需的策略,但当我尝试重新运行命令时,我收到一个错误,称。所以我认为是amplify在每一次推送中创建了角色,并且在过程失败后删除了它。