以编程方式写入aws s3-返回-根帐户不能承担角色

1sbrub3j  于 2021-06-07  发布在  Kafka
关注(0)|答案(1)|浏览(317)

com.amazonaws.amazonclientexception:com.amazonaws.amazonserviceexception:根帐户不能承担角色(服务:awssecuritytokenservice;状态代码:403;错误代码:accessdenied;
我创建了一个角色,它的信任关系是:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::<awsID>:root",
        "Service": "ec2.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

我甚至尝试创建一个策略并将其分配给我的角色:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::secorbackup"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "s3:GetObject",
                "s3:DeleteObject"
            ],
            "Resource": [
                "arn:aws:s3:::secorbackup/*"
            ]
        }
    ]
}

似乎什么都没用。我也犯了同样的错误。我使用pinterest/secor实现从kafka到s3的日志持久化。有什么建议吗?

qco9c6ql

qco9c6ql1#

根帐户不能承担角色。
这个错误的意思正是它所说的。
在任何情况下,都不能在使用根帐户时担任角色。您必须使用iam帐户。
没有其他解决方法。这种行为是故意的。

相关问题