amazon-web-services - CloudFormation 堆栈中的错误:策略中的语法错误。(服务:AmazonIdentityManagement;状态代码:400;
问题描述
这应该相当简单(我希望)。我正在通过无服务器框架使用 CloudFormation 堆栈,但遇到语法错误。该项目使用 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']
我省略了 version 属性,但认为这不会成为它运行的问题。我不确定还有什么需要更改或导致错误的原因
解决方案
Resorce
是一个错字Resource
。建议在VSCode中尝试CloudFormation Linter以在编写模板以及自动完成和文档链接时内联查看其中一些错误:
[cfn-lint] E2507: IAM Policy statement missing Resource or NotResource
[cfn-lint] E2507: IAM Policy statement key Resorce isn't valid
推荐阅读
- azure - Azure 应用程序 IP 在 spamhaus 中被列入黑名单
- python - 如何在列表中找到最常用的单词?
- java - 如何确定我是否拥有 JDK11 的“免费”或“非免费”版本?
- google-apps-script - 如果不满足条件,如何使脚本在日期过去后每天发送电子邮件
- linux - 如何通过模式实现文件搜索?
- amazon-web-services - 基于所有权保护设备
- oracle - ora-06575 包或函数处于无效状态 pl sql
- python - 解决 USDA ESMIS API 中的错误请求错误
- reactjs - 是的,将模式映射到诸如选择[](react 和 formik)之类的元素
- excel - 将 SHA 256 移植到 Excel。一个问题:参数为二进制,而不是 ASCII