

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 对 IAM 角色权限错误进行问题排查
<a name="troubleshoot-malware-protection-s3-iam-role-permissions-error"></a>

为 S3 启用恶意软件防护时， GuardDuty 会检查您的 IAM 服务角色是否具有验证 Amazon S3 存储桶所有权的必要权限。如果这些权限缺失或配置错误，您可能会收到以下消息：

```
"message": "The request was rejected because provided IAM role does not have the required permissions to validate S3 bucket ownership."
"type": "InvalidInputException"
```

以下场景可帮助您对此错误进行问题排查：

**缺少 IAM 角色权限**  
+ IAM 角色必须具有所需权限才能允许 S3 恶意软件防护代入该角色。
+ GuardDuty 使用`"s3:ListBucket"`权限验证存储桶所有权。您使用的 IAM 角色必须具有此权限。
有关权限的信息，请参阅[创建或更新 IAM 角色策略](malware-protection-s3-iam-policy-prerequisite.md)。

**IAM 角色可用性**  
+ 创建新的 IAM 角色时，请等待几分钟让更改达到最终一致性，然后再启用 S3 恶意软件防护。如果在创建角色后立即尝试启用防护计划，验证可能会失败。
+ 对于基础设施即代码 (IaC) 部署， GuardDuty 建议声明资源依赖关系，以确保 IAM 角色达到最终一致性。

  有关如何执行此操作的示例模板，请参阅[GuardDuty GitHub存储库](https://github.com/aws-samples/guardduty-malware-protection/tree/main/cdk)。

**跨区域启用**  
确保您的 Amazon S3 存储桶位于您为 S3 启用恶意软件防护的同一区域 GuardDuty。