该错误通常表示在 CloudFormation 模板中指定的角色无法访问某些资源或没有必要的权限。您可以通过检查 CloudFormation 模板中的角色和策略来解决此问题。
以下是可能会导致此错误的示例 CloudFormation 模板:
{
"Resources": {
"MyRole": {
"Type": "AWS::IAM::Role",
"Properties": {
"AssumeRolePolicyDocument": {
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "ecs-tasks.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
},
"Policies": [
{
"PolicyName": "MyPolicy",
"PolicyDocument": {
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:PutObject"
],
"Resource": "*"
}
]
}
}
]
}
}
}
}
如果执行此 CloudFormation 模板时遇到 "Role and policy" 错误,则需要检查 "MyPolicy" 角色是否具有访问 S3 权限,或者该角色是否具有访问所有资源的通配符 "*" 权限。
在本示例中,您可以更改针对 S3 的访问策略以使其更加具体,或者检查所需的权限以确定角色是否具有适当的权限。