Amazon web services 无服务器:[AWS]无法使用策略创建角色资源
我正在学习如何使用无服务器框架,我正在创建一些特定功能将承担的角色,但cloudformation抛出一个错误,指出:Amazon web services 无服务器:[AWS]无法使用策略创建角色资源,amazon-web-services,amazon-cloudformation,amazon-iam,serverless-framework,Amazon Web Services,Amazon Cloudformation,Amazon Iam,Serverless Framework,我正在学习如何使用无服务器框架,我正在创建一些特定功能将承担的角色,但cloudformation抛出一个错误,指出: An error occurred: LambdaAdminRole - Unknown field Policies (Service: AmazonIdentityManagement; Status Code: 400; Error Code: MalformedPolicyDocument; Request ID: 07cb3916-78c5-11e9-b0f6-37c
An error occurred: LambdaAdminRole - Unknown field Policies (Service: AmazonIdentityManagement; Status Code: 400; Error Code: MalformedPolicyDocument; Request ID: 07cb3916-78c5-11e9-b0f6-37c9c6cd9547).
在serverless中定义资源的方式如下:
resources:
Resources:
LambdaAdminRole:
Type: AWS::IAM::Role
Properties:
RoleName: ${self:service}-${self:provider.stage}-lambda-admin-role
AssumeRolePolicyDocument:
Version: '2017'
Statement:
- Effect: Allow
Principal:
Service:
- lambda.amazonaws.com
Action: sts:AssumeRole
Policies:
- PolicyName: ${self:service}-${self:provider.stage}-lambda-cognito-admin-policy
PolicyDocument:
Version: '2017'
Statement:
- Effect: Allow
Action:
- cognito-idp:ListUsersInGroup
- cognito-idp:ListUsers
Resource:
- 'Fn::Join':
- ':'
- - 'arn:aws:cognito-idp'
- ${self:provider.region}
- Ref: 'AWS::AccountId'
- 'userpool/*'
这不是使用serverless创建角色的正确方法吗?我是按照serverless的documentation显示的示例进行的:您的缩进不正确,
策略
属性属于属性
,而不是文档中的assumerepolicyDocument
(将整个
策略
一节一节取消)如策略
中所述,属于属性
而不是假设政策文档
谢谢。。但是够奇怪的。。这是一个从无服务器文档复制/粘贴的修改代码,它也给了我关于策略版本无效的错误,这当然是我修复的,但再次感谢。