【问题标题】:AWS sts assume role - user is trusted by target role, user has sts permissions to assume target role. "User not allowed to perform assume role"AWS sts 承担角色 - 用户受目标角色信任,用户具有承担目标角色的 sts 权限。 “用户不允许执行承担角色”
【发布时间】:2021-10-10 21:55:45
【问题描述】:

我正在尝试在其他帐户中担任角色以授予我读取权限。角色 (ROLE_IN_TARGET_ACCOUNT) 具有我需要的权限,但是我收到一条错误消息,即我的用户 (SOURCE_USER) 不允许担任该角色。

ROLE_IN_TARGET_ACCOUNT 也有以下信任关系

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::SOURCE_ACCOUNTID:root"
      },
      "Action": "sts:AssumeRole",
      "Condition": {}
    },
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::SOURCE_ACCOUNTID:user/SOURCE_USER"
      },
      "Action": "sts:AssumeRole",
      "Condition": {}
    }
  ]
}

以下策略已添加到 SOURCE_ACCOUNTID 中的 IAM 用户组

{
  "Version": "2012-10-17",
  "Statement": {
    "Effect": "Allow",
    "Action": "sts:AssumeRole",
    "Resource": "arn:aws:iam::TARGET_ACCOUNT:role/ROLE_IN_TARGET_ACCOUNT"
  }

并且 SOURCE_USER 是该用户组的成员。所以 ROLE_IN_TARGET_ACCOUNT 应该信任 SOURCE_USER,并且 SOURCE_USER 应该有权承担 ROLE_IN_TARGET_ACCOUNT。

但是,我得到了错误

An error occurred (AccessDenied) when calling the AssumeRole operation: User: arn:aws:iam::SOURCE_ACCOUNTID:user/SOURCE_USER is not authorized to perform: sts:AssumeRole on resource: arn:aws:iam::TARGET_ACCOUNT:role/ROLE_IN_TARGET_ACCOUNT

我在这里错过了什么?

【问题讨论】:

    标签: amazon-web-services boto3 amazon-iam sts


    【解决方案1】:

    您共享的策略看起来不错(除了第二个信任策略是多余的 - root 包括 SOURCE_ACCOUNTID 中的所有 auth'd 和 auth'z 主体,其中包括 SOURCE_ACCOUNTID)。

    您的环境中是否有任何 SCP、权限边界或会话策略? policy evaluation flow 中任何位置的显式 Deny 将阻止原本良好的 Allow 配置工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-04-29
      • 1970-01-01
      • 2022-12-08
      • 1970-01-01
      • 1970-01-01
      • 2021-03-03
      • 2019-09-10
      相关资源
      最近更新 更多