使用CDK将策略附加到EventBus并将跨账户事件发送到Eventbus

问题描述 投票:0回答:2

我想要做的是将事件从不同的 AWS 账户发送到我包含事件总线的账户。

为此,我尝试将角色/策略附加到 EventBus,但我无法做到。我尝试使用 grantPutEvents 但也没有运气。这个怎么做? (添加/附加政策)

此外,如果我附加策略,其中 Principal 作为其他 AWS 账户的账户 ID,并使用 resource 作为 EventBus 的 ARN,这是否允许我发送事件?还是我需要做更多的事情?

amazon-web-services amazon-iam aws-cdk aws-event-bridge
2个回答
8
投票

我能够通过使用 CfnEventBusPolicy 基类并按其名称引用相应的总线来添加“基于资源的策略”条目:

const defaultBus = event.EventBus.fromEventBusName(this, 'default-bus', 'default');
new event.CfnEventBusPolicy(this, 'xaccount-policy', {
        statementId: 'AllowXAccountPushEvents',
        action: 'events:PutEvents',
        eventBusName: defaultBus.eventBusName,
        principal: 'account-id-goes-here',
});

-1
投票

您需要:

  • 发送者帐户:发送者事件总线的 EventBridge 规则。规则的目标是接收者帐户中的事件总线
  • 接收者帐户:更新接收者事件总线基于资源的策略,以允许发送者帐户放置事件

此链接 https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-cross-account.html 应该对您有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.