我尝试创建IAM角色并根据Attach an AWS IAM Role to an Existing Amazon EC2 Instance by Using the AWS CLI将其分配给EC2实例。
政策如下所示:
phpunit:
stage: test
script:
- docker run -w /var/www -v $(pwd):/var/custom --rm --volumes-from {image_from other build} phpunit/phpunit:4.8.5
}
但它给出了这个错误:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "ec2.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
这里有一个类似的问题,但它无法解决这个问题。
任何帮助都将不胜感激。
答案 0 :(得分:9)
创建服务角色的最简单方法是:
它将为您创建信任政策。
请注意,信任策略存储在与实际策略(分配权限的位)不同的位置。基于错误消息,您似乎将信任策略置于正常位置,因为角色不需要原则(但信任策略可以)。
答案 1 :(得分:1)
在尝试更新“信任关系”或“信任策略”时遇到相同的问题。 “校长”仅在“信任策略”中起作用。您可能正在错误地更新属于“权限”标签下的常规策略。尝试如下更新“信任关系”标签下的策略:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": [
"ec2.amazonaws.com",
"lambda.amazonaws.com"
]
},
"Action": "sts:AssumeRole"
}
]
}
答案 2 :(得分:1)
在存储桶中写入策略->权限->存储桶策略->保存
注意:请勿在iam控制台中编写策略,并且存储区和云监视区域必须相同。其他地区将无法正常工作。
使用以下政策
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "logs.YOUR-CLOUD-WATCH-REGION.amazonaws.com"
},
"Action": "s3:GetBucketAcl",
"Resource": "arn:aws:s3:::YOUR-BUCKET-NAME"
},
{
"Effect": "Allow",
"Principal": {
"Service": "logs.YOUR-CLOUD-WATCH-REGION.amazonaws.com"
},
"Action": "s3:PutObject",
"Resource": "arn:aws:s3:::YOUR-BUCKET-NAME/*",
"Condition": {
"StringEquals": {
"s3:x-amz-acl": "bucket-owner-full-control"
}
}
}
]
}