我想解决为什么使用 AWS 命令行 (AWS CLI) 或 AWS CloudFormation 创建的 Amazon EventBridge 规则无法正常运行的问题。
目标需要 AWS Identity and Access Management (AWS IAM) 或基于资源的策略来向 Amazon EventBridge 规则授予访问或调用目标的权限。
使用 AWS CLI、API 或 AWS CloudFormation 创建或更新 EventBridge 规则时,请查看以下最佳实践:
**注意:**如果在运行 AWS 命令行界面 (AWS CLI) 命令时收到错误,请参阅 AWS CLI 错误故障排除。此外,请确保您使用的是最新版本的 AWS CLI。
EventBridge 使用两种权限模型来管理规则对目标资源的访问权限:基于资源的策略和基于身份的策略。有关详细信息,请参阅管理资源访问权限。
完成以下步骤:
使用以下链接确认 EventBridge 规则具有配置目标所需的权限。
基于资源的策略
以下目标使用基于资源的策略:
有关创建将 CloudWatch 日志作为目标的规则的信息,请参阅如何添加 CloudWatch 日志组以用作 EventBridge 规则的目标?
基于身份的策略
这些目标需要适当的 IAM 策略权限。有关详细信息,请参阅 EventBridge 使用 IAM 角色访问目标所需的权限。 **注意:**有关添加 IAM 策略的信息,请参阅添加和删除 IAM 身份权限。
请参阅以下策略:
Amazon API 目标
Systems Manager
Step Functions 状态机
ECS 任务
Amazon Elastic Compute Cloud (Amazon EC2)
Kinesis Streams
Amazon SageMaker 管线
**注意:**有关为 SageMaker 管线创建规则作为目标的详细信息,请参阅使用 AWS CLI 创建 EventBridge 规则。
跨账户、跨区域和事件总线目标的策略
如果目标是跨账户、跨区域或其他事件总线,请参阅基于资源的策略的 Amazon EventBridge 事件总线权限。有关配置跨账户或跨区域规则的信息,请参阅 EventBridge 跨账户和跨区域事件分步指南。
API Gateway 目标策略
如果添加所需策略后,EventBridge 规则的目标报告调用失败,则使用 Amazon SQS 死信队列 (DLQ) 作为目标来存储事件的元数据。使用存储的数据来分析 Eventbridge 规则无法调用事件并将事件传送到配置的目标的原因。有关如何验证目标的详细信息,请参阅如何对 Amazon EventBridge 规则问题进行故障排除?
为什么我的 Lambda 函数不是由我的 EventBridge 规则触发的?
对 Amazon EventBridge 进行故障排除