事件总线EventBridge提供同账号和跨账号路由的能力,您可以通过事件规则过滤事件,将事件路由到同一阿里云账号或其他账号的事件总线EventBridge。本文介绍将事件路由至事件总线EventBridge的前提条件、背景信息、使用说明和操作步骤。

背景信息

功能一:同账号路由

如下图所示,在实际应用场景中,云服务专用总线Default和自定义总线A、B、C同属于阿里云账号A,您可以将任一事件总线的事件路由到同账号下的其他自定义事件总线中集中处理。同账号路由

功能二:跨账号路由

如下图所示,在实际应用场景中,阿里云账号A、B属于同组织或者相关组织,您可以将发送账号A的RAM用户的事件路由到接收账号B的事件总线中集中处理。操作步骤如下所示:

  1. 接收账号B创建RAM角色。可信实体为发送账号A。
  2. 接收账号B为RAM角色授予发布事件的权限。发送账号A可以扮演RAM角色,拥有向接收账号B发布事件的权限。
  3. 接收账号B修改RAM角色的信任策略,为接收账号B的阿里云服务添加发布事件的权限策略。接收账号B的阿里云服务也可以扮演RAM角色,拥有向接收账号B发布事件的权限。
  4. 发送账号A创建事件规则,将事件路由到接收账号B的总线。
跨账号路由事件
说明 接收账号的同一个总线支持来自多个发送账号的事件,这些事件的aliyunoriginalaccountid扩展字段将标识事件的归属信息,接收账号可通过aliyunoriginalaccountid字段过滤事件。

使用说明

  • 同账号路由与跨账号路由均支持在不同地域之间路由事件。
  • 云服务专用事件总线的事件只能路由到自定义总线,自定义总线的事件也只能路由到自定义总线。

同账号路由

  1. 登录事件总线EventBridge控制台,在左侧导航栏,单击事件总线
  2. 在顶部菜单栏,选择地域,然后在事件总线页面,单击云服务专用事件总线default
  3. 在左侧导航栏,单击事件规则,然后单击创建规则
  4. 创建规则配置向导,完成以下操作。
    1. 配置基本信息页签,设置规则的名称描述,然后单击下一步
    2. 配置事件模式页签,配置以下参数,然后单击下一步
      • 事件源类型:选择阿里云官方事件源
      • 事件源:选择需要投递的阿里云官方事件源。
      • 事件类型:选择需要投递的事件类型。
      • 模式内容:输入事件模式。
    3. 配置事件目标页签,配置以下参数,然后单击创建
      • 服务类型:选择事件总线EventBridge
      • 目标类型:选择同账号总线
      • 地域:选择目标事件总线所在的地域。
      • 事件总线:选择目标事件总线。
      • 事件:默认选择完整事件。不做转换,直接投递原生CloudEvents 1.0协议中的完整结构。
      说明 1个事件规则最多可以添加5个目标。
    您可以在目标事件总线上查询事件。具体步骤,请参见查询事件

跨账号路由

步骤一:创建RAM角色

  1. 使用接收账号B登录RAM控制台
  2. 在左侧导航栏,选择身份管理 > 角色
  3. 角色页面,单击创建角色
  4. 创建角色面板,选择可信实体类型为阿里云账号,然后单击下一步
  5. 设置角色信息。
    1. 输入角色名称
    2. 可选:输入备注
    3. 选择云账号为其他云账号,输入发送账号A的ID,然后单击完成

步骤二:为RAM角色授权

  1. 使用接收账号B登录RAM控制台
  2. 在左侧导航栏,选择身份管理 > 角色
  3. 角色页面,单击目标RAM角色操作列的添加权限
  4. 添加权限面板,为RAM角色添加权限。
    1. 选择授权范围。
      • 整个云账号:权限在当前阿里云账号内生效。
      • 指定资源组:权限在指定的资源组内生效。
        说明 指定资源组授权生效的前提是该云服务已支持资源组。更多信息,请参见支持资源组的云服务
    2. 输入被授权主体。
      被授权主体即需要授权的RAM角色,系统会自动填入当前的RAM角色,您也可以添加其他RAM角色。
    3. 选择权限策略。
      权限策略名称列表下,找到并单击AliyunEventBridgePutEventsPolicy,然后单击确定
      说明
      • 每次最多绑定5条策略,如需绑定更多策略,请分次操作。
      • 如果系统策略无法满足您的需求,您可以通过创建自定义策略实现精细化权限管理,将部分总线的权限授予发送账号。更多信息,请参见创建自定义权限策略

步骤三:修改信任策略

  1. 使用接收账号B登录RAM控制台
  2. 在左侧导航栏,选择身份管理 > 角色
  3. 角色页面,单击目标RAM角色名称。
  4. 单击信任策略管理页签,然后单击修改信任策略
  5. 修改信任权限策略内容,然后单击确定

    信任权限策略示例如下:

    {
        "Statement":[
            {
                "Action":"sts:AssumeRole",
                "Effect":"Allow",
                "Principal":{
                    "Service":[
                        "${账号A}@eventbridge.aliyuncs.com"
                    ]
                }
            }
        ],
        "Version":"1"
    }
    配置完成后,发送账号A的事件总线EventBridge可以扮演RAM角色。

步骤四:创建规则

  1. 使用发送账号A登录事件总线EventBridge控制台,在左侧导航栏,单击事件总线
  2. 在顶部菜单栏,选择地域,然后在事件总线页面,单击云服务专用事件总线default
  3. 在左侧导航栏,单击事件规则,然后单击创建规则
  4. 创建规则配置向导,完成以下操作。
    1. 配置基本信息页签,设置规则的名称描述,然后单击下一步
    2. 配置事件模式页签,配置以下参数,然后单击下一步
      • 事件源类型:选择阿里云官方事件源
      • 事件源:选择需要投递的阿里云官方事件源。
      • 事件类型:选择需要投递的事件类型。
      • 模式内容:输入事件模式内容。
    3. 配置事件目标页签,配置以下参数,然后单击创建
      • 服务类型:选择事件总线EventBridge
      • 目标类型:选择跨账号总线
      • 地域:选择目标账号所在的地域。
      • 账号ID:输入接收账号B的ID。
      • 总线名称:输入default
      • 角色配置:输入前提条件中创建的RAM角色名称。
      • 事件:默认选择完整事件。不做转换,直接投递原生CloudEvents 1.0协议中的完整结构。
      说明 1个事件规则最多可以添加5个目标。
    您可以使用接收账号B查询事件。具体步骤,请参见查询事件