以编程方式写入AWS S3 -returns- root帐户可能不会承担角色。

时间:2016-05-19 12:33:29

标签: java amazon-web-services amazon-s3 client apache-kafka

com.amazonaws.AmazonClientException:com.amazonaws.AmazonServiceException:root帐户可能不会承担角色。 (服务: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的日志持久性。有什么建议吗?

1 个答案:

答案 0 :(得分:2)

  

root帐户可能不会承担角色。

此错误意味着它所说的内容。

在任何情况下,您都不能在使用root帐户时担任角色。您必须使用IAM帐户。

此处没有其他解决方法。行为是设计的。

相关问题