3

在 Azure 中,我试图将事件通知从一个 Active Directory 中的存储帐户发送到另一个 Active Directory 中的事件中心。

我无法弄清楚如何共享/链接资源。

在 AWS 中,我可以通过在接收者账户中创建一个角色、按 ID 添加源账户、添加 SQS Writer 资源权限以及添加 SQS Queue ARN 作为存储桶通知目标来完成此操作。我猜在 Azure 中可能会出现类似的情况..

目前,我正在查看似乎具有该EventGrid EventSubscription Contributor属性的 Active Directory IAM。在目标帐户中,我已将源帐户添加为参与者,并且我在源帐户中收到一条通知,表明我在目标帐户中具有权限,但是当我尝试在源帐户中创建事件订阅时,事件中心位于目标帐户不显示为选项。

如何将事件通知从另一个帐户中的存储帐户写入一个帐户中的事件中心?

4

2 回答 2

2

绝对没错。我认为在不同的订阅中有很多方法可以做到这一点,比如下面的两种。

  1. 使用 Azure Functions 的解决方案 1。您可以使用带有 Blob Trigger 的 Azure Function 来获取 blob 更改的事件通知,然后通过PUT/POST方法请求带有 HttpTrigger 的其他 Azure Function 以传输带有 SAS 令牌的 blob url 等 blob 信息的事件消息,以便在其他订阅中访问。

  2. 使用 Azure 逻辑应用的解决方案 2。您可以使用下面的逻辑流来获取 blob 更改事件以将通知消息发送到其他订阅中的 EventHub,因为 Azure 逻辑应用程序允许手动配置其连接信息,如下所示。

    图 1. 从 Blob Storage 获取事件并发送到 EventHub 的逻辑流程 在此处输入图像描述

    图 2. 单击Manually enter connection information以配置其他订阅中的服务。

    图 2-A。

    在此处输入图像描述

    图 2-B。

    在此处输入图像描述

于 2019-04-04T07:35:30.133 回答
1

基本上,Azure 事件网格 Pub/Sub 模型支持两种跨​​多租户环境传递事件的方式,例如:

  1. 基于RBAC将事件消息紧密耦合到订阅者资源。在订阅者(目标)资源中,您可以
    • 添加内置角色分配,例如Azure AD 用户的EventGrid EventSubscription Contributor等。
    • 或在 Azure 订阅级别添加共同管理员

以下屏幕片段显示了当我是两个 Azure 订阅(例如StageDevelopment )的共同管理员时的示例。

在Stage azure 帐户的 AEG 提供程序中为事件驱动的 blob 存储主题创建事件订阅,并将其通知事件跨 azure 帐户边界传递给订阅者,例如位于Development azure 帐户中的事件中心:

在此处输入图像描述

  1. 基于 WebHook 事件处理程序端点,跨多租户边界将事件消息松散地解耦地传递给订阅者。对于跨租户边界的 Pub/Sub 集成,可以使用带有输出绑定到事件中心资源的 EventGridTrigger 函数。以下屏幕片段显示了此示例:

    在此处输入图像描述

    上述解决方案非常简单,能够将事件消息调解(预处理)到事件中心资源。

    在以扇出模式方式将事件分发给其他订阅者等的情况下,Azure 事件网格可以级联,如下面的屏幕片段所示:

    在此处输入图像描述

    在上述解决方案中,每个租户都有自己的 Azure 事件网格提供程序,并且通过“管道”WebHook 事件处理程序端点和自定义主题端点进行级联。有关 AEG 级联实施的更多详细信息,请参见此处

于 2019-04-05T00:53:08.927 回答