📌  相关文章
📜  调用 CreatePolicy 操作时发生错误 (MalformedPolicyDocument):策略中的语法错误. (1)

📅  最后修改于: 2023-12-03 15:28:11.719000             🧑  作者: Mango

错误描述

当您调用CreatePolicy操作时,如果收到此错误消息:'调用 CreatePolicy 操作时发生错误 (MalformedPolicyDocument):策略中的语法错误.',这意味着您的策略文档存在语法错误。这个错误会阻止您从视图控制台、CLI或API创建新的IAM策略。

可能原因
  • 无效的JSON格式
  • 未正确指定权限
解决方案

解决此错误的最佳方法是仔细检查您的策略文档并确定存在的语法错误。

检查JSON格式

MalformedPolicyDocument错误通常直接与策略文档中的错误JSON格式相关。因此,您可以使用JSON验证器来检查它是否完全有效。

以下是一些实用工具,可帮助您进行JSON验证和修复:

验证策略

如果您意识到JSON格式没有问题,您可以在视图控制台、CLI或API中调试策略。

在视图控制台中验证

  1. 登录AWS
  2. 导航到 IAM 控制台
  3. 检查您的策略是否照常编写。

在CLI中验证

使用aws iam validate-policy命令来检查策略文档是否有效

aws iam validate-policy --policy-document file://policy.json

通过API验证

在使用AWS SDK或IAM API之类的代码中,您可以使用以下API调用来验证策略

编辑策略

通过编辑策略来纠正语法和其他错误。确保您在JSON文档中使用正确的逗号,引号和双引号。

删除策略

如果您无法修复策略文件的错误,您可以考虑删除该策略并尝试创建新策略。记住在创建策略之前检查策略文件并验证它的有效性。