以编程方式写入 AWS S3 -returns- root 帐户不能承担角色。
write to AWS S3 programatically -returns- Roles may not be assumed by root accounts.
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 的日志持久性。有什么建议吗?
Roles may not be assumed by root accounts.
这个错误就是它所说的。
在任何情况下,您都不能在使用根帐户时担任角色。您必须使用 IAM 帐户。
对此没有其他解决方法。该行为是设计使然。
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 的日志持久性。有什么建议吗?
Roles may not be assumed by root accounts.
这个错误就是它所说的。
在任何情况下,您都不能在使用根帐户时担任角色。您必须使用 IAM 帐户。
对此没有其他解决方法。该行为是设计使然。