使用AWS re:Post即您表示您同意 AWS re:Post 使用条款

如何解决 CloudFormation 中的 IAM 权限错误?

1 分钟阅读
0

我想解决我在 AWS CloudFormation 中遇到的 AWS Identity and Access Management (IAM) 权限错误。

简短描述

当您创建或更新 CloudFormation 堆栈时,该操作会执行对所需服务的 API 调用来预调配资源。默认情况下,AWS CloudFormation 使用其根据用户凭证生成的临时会话进行堆栈操作。如果您指定服务角色,则 AWS CloudFormation 将使用该角色的凭证。如果使用的凭证没有所需的权限,则堆栈操作会导致失败。

解决方法

要对 IAM 权限错误进行故障排除,请按照此部分中给出的步骤进行操作。

错误: “ExampleRole”无权执行: <AWSService>:<APIcall>。”

**注意:**在开始之前,请确保您已登录 AWS 账户。

要移除错误,请按照以下步骤操作:

  1. 进入 IAM 控制台
  2. 选择 Roles(角色)。
  3. 在搜索栏中,输入 ExampleRole
  4. 选择 Permissions(权限)选项卡。
  5. 验证附加到角色的策略。
  6. 选择策略上的 + 号,然后选择 Edit(编辑)。
  7. 为角色策略添加缺失的权限(API 调用)。然后,选择 Next(下一步)。
  8. 选择 Save changes(保存更改)。
  9. 进入 AWS CloudFormation 控制台
  10. 重新部署堆栈。

错误: 使用资源策略时出现“MalformedPolicyDocument”错误。”

当 CloudFormation 模板的策略部分存在语法错误时,就会出现上述错误。

要移除错误,请按照以下步骤操作:

  1. 进入 AWS CloudFormation 控制台
  2. 选择出现错误的堆栈。
  3. 选择 Template(模板)选项卡。
  4. Template(模板)复制失败的策略语法。
  5. 将策略由 YAML 转换为 JSON。
  6. 进入 IAM 控制台
  7. 选择 Policies(策略)。
  8. 选择 Create policy(创建策略)。
  9. 在策略编辑器中,选择 JSON
  10. 将之前复制的策略语法粘贴到策略编辑器中。
  11. 选择 Next(下一步)。策略编辑器在策略文档中显示错误行。
  12. 更正策略文档的语法。
  13. 选择 Next(下一步)。验证语法是否有效。
  14. 进入 AWS CloudFormation 控制台
  15. 重新部署堆栈。

故障排除提示

  • 当来自 CloudFormation 堆栈事件的错误消息不明确时,请在 AWS CloudTrail 中查找 API 调用以获取相关的时间戳。
  • CloudTrail API 调用提供传递到堆栈的请求参数的详细日志。日志详细信息显示相关的错误消息。有关详细信息,请参阅使用 CloudTrail 事件历史记录

相关信息

策略摘要示例

编辑 IAM 策略

AWS 官方
AWS 官方已更新 9 个月前