这应该相当简单(我希望)。我正在通过无服务器框架使用 CloudFormation Stack,但遇到语法错误。该项目正在使用 Lambda 调用 QuickSight API 来自动提取数据。
我收到的错误是:
Serverless Error ---------------------------------------
An error occurred: QuickSightPolicy - Syntax errors in policy. (Service: AmazonIdentityManagement; Status Code: 400; Error Code: MalformedPolicyDocument; Request ID: b2982ca2-7518-4e7d-8258-78240d3a465e; Proxy: null).
包含该策略的 Yaml 文件部分如下
LambdaAssumeRole:
Type: AWS::IAM::Role
Properties:
AssumeRolePolicyDocument:
Statement:
- Action: ['sts:AssumeRole']
Effect: Allow
Principal:
Service:
- lambda.amazonaws.com
QuickSightPolicy:
Type: 'AWS::IAM::Policy'
Properties:
PolicyDocument:
Statement:
- Action: ['quicksight:*']
Effect: Allow
Resorce: '*'
PolicyName: QuickSightPolicy
Roles: [!Ref 'LambdaAssumeRole']
我省略了版本属性,但认为这不会成为它运行的问题。我不太确定还需要更改什么或导致错误的原因
最佳答案
Resorce
是 Resource
的拼写错误。推荐尝试CloudFormation Linter在 VSCode在创作模板以及自动完成和文档链接时查看其中一些内联错误:
[cfn-lint] E2507: IAM Policy statement missing Resource or NotResource
[cfn-lint] E2507: IAM Policy statement key Resorce isn't valid
关于amazon-web-services - CloudFormation 堆栈错误 : Syntax errors in policy.(服务:AmazonIdentityManagement;状态代码:400;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64917954/